Domain-Specific Modelling for Coordination Engineering

Domain-Specific Modelling for Coordination Engineering

Domain-Specific Modelling for Coordination Engineering Dipl.-Inform. Stefan Gudenkauf Dissertation zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften (Dr.-Ing.) der Technischen Fakultät der Christian-Albrechts-Universität zu Kiel eingereicht im Jahr 2012 Kiel Computer Science Series (KCSS) 2012/2 v1.0 dated 2012-09-16 ISSN 2193-6781 (print version) ISSN 2194-6639 (electronic version) Electronic version, updates, errata available via https://www.informatik.uni-kiel.de/kcss Published by the Department of Computer Science, Christian-Albrechts-Universität zu Kiel Software Engineering Group Please cite as: Stefan Gudenkauf. Domain-Specific Modelling for Coordination Engineering Number 2012/2 in Kiel Computer Science Series. Department of Computer Science, 2012. Dissertation, Faculty of Engineering, Christian-Albrechts-Universität zu Kiel. @book{Gudenkauf2012, author = {Stefan Gudenkauf}, title = {Domain-Specific Modelling for Coordination Engineering}, publisher = {Department of Computer Science, CAU Kiel}, year = {2012}, number = {2012-2}, series = {Kiel Computer Science Series}, note = {Dissertation, Faculty of Engineering, Christian-Albrechts-Universit\"at zu Kiel} } © 2012 by Stefan Gudenkauf ii About this Series The Kiel Computer Science Series (KCSS) covers dissertations, habilita- tion theses, lecture notes, textbooks, surveys, collections, handbooks, etc. written at the Department of Computer Science at the Christian-Albrechts- Universität zu Kiel. It was initiated in 2011 to support authors in the dissemination of their work in electronic and printed form, without restrict- ing their rights to their work. The series provides a unified appearance and aims at high-quality typography. The KCSS is an open access series; all series titles are electronically available free of charge at the department’s website. In addition, authors are encouraged to make printed copies avail- able at a reasonable price, typically with a print-on-demand service. Please visit http://www.informatik.uni-kiel.de/kcss for more information, for instructions how to publish in the KCSS, and for access to all existing publications. iii 1. Gutachter: Prof. Dr. Wilhelm Hasselbring Christian-Albrechts-Universität Kiel 2. Gutachter: Prof. Dr. Michael Hanus Christian-Albrechts-Universität Kiel Datum der mündlichen Prüfung: 6. Juli 2012 iv Preface Through the advent of multi-core processors in the consumer market, par- allel systems became a commodity. The semiconductor industry today is relying on adding cores, introducing hyper-threading, and putting several processors on the motherboard to increase the performance, since physical limitations impede further performance gains based on increasing clock speed. With the spread of multi-core processing units on server and desktop systems, laptops and meanwhile also tablets and smart phones, parallel programming moves from a niche for specialists toward mainstream ap- plication programming. This will affect most application programmers. A fundamental question is how to exploit these emerging hardware architec- tures for software applications. As a great challenge, we need to make the complexity of parallel pro- gramming controllable for application programmers. Parallel programming languages intend to offer the programmer features for explicit parallel pro- gramming, while parallelising compilers try to detect implicit concurrency in sequential programs for parallel execution. Automatic parallelisation only works well for very specific domains such as loops in numerical simulations. In this thesis, Stefan Gudenkauf proposes a new approach to engineering parallel programs, which combines model-driven software engineering with the space-based parallel programming paradigm. This combinations aims at providing both an easy-to-use and an efficient approach to parallel software engineering. Based on identified requirements on application-level paral- lelism, Stefan designed the SCOPE coordination model (Space-Coordinated Processes) for coarse-grained choreography of parallel processes, while the fine-grained parallelism within these processes is specified with a BPMN-based orchestration (Business Process Modeling Notation). This combination constitutes his new coordination engineering method. The technical design and the implementation re-uses and integrates v Preface many software components and frameworks from various domains and sources. The re-use of such powerful components and frameworks relieves from building the respective functions, but imposes the challenge to check their fitness for purpose and to integrate diverse architectural styles into a coherent whole. The tool prototype and experiments designed and realised in this thesis constitutes a remarkable engineering achievement. Besides the conceptual and the technical design, this engineering thesis provides an extensive experimental evaluation based on his PROCOL library (Process Coordination Library). If you are interested in parallel application programming, this is a recommended reading for you. Wilhelm Hasselbring Kiel, August 2012 vi Contents Prefacev 1 Introduction1 1.1 In the Middle of a Major Transition...............1 1.2 Challenges of Concurrent Programming.............2 1.3 Approach...............................4 1.4 Contribution.............................5 1.5 Preliminary Work..........................7 1.6 Structure of this Work.......................8 1.7 Summary............................... 10 I Setting and Foundations 13 2 Concurrent Programming for Parallel Systems 15 2.1 Models of Parallel Systems.................... 16 2.2 The Concurrent Programming Abstraction........... 18 2.3 Processes and Threads....................... 21 2.4 Performance Factors........................ 22 2.4.1 Memory Organisation................... 23 2.4.2 Programming Languages................. 25 2.4.3 The Problem Domain................... 26 2.5 High-Level Concurrent Programming.............. 27 2.6 Summary of Concurrent Programming............. 33 3 Coordination Models and Languages 35 3.1 Models of Coordination...................... 37 3.2 Categorisation............................ 40 3.3 Space-Based Systems........................ 42 vii Contents 3.3.1 Overview.......................... 43 3.3.2 History............................ 44 3.3.3 Use for Concurrent Programming............ 45 3.3.4 Example........................... 46 3.4 Business Process Model and Notation 2.0............ 48 3.4.1 Overview.......................... 49 3.4.2 History............................ 51 3.4.3 Example........................... 52 3.5 Summary of Coordination Models and Languages....... 53 4 Model-Driven Software Development 55 4.1 The MDSD Metamodel....................... 56 4.2 Model Transformations....................... 58 4.2.1 Query/View/Transformation (QVT)........... 61 4.2.2 Xpand and Xtend...................... 64 4.3 Model-Driven Systems....................... 65 4.4 Architecture-Centric Model-Driven Software Development.. 67 4.5 Domain-Specific Languages.................... 72 4.5.1 Components of a DSL................... 73 4.5.2 Categorisation........................ 74 4.5.3 DSL Development..................... 76 4.5.4 DSLs in Practice...................... 82 4.5.5 Language Workbenches.................. 83 4.5.6 Benefits and Limitations.................. 84 4.6 Summary of Model-Driven Software Engineering....... 86 II Coordination Engineering with SCOPE 89 5 Coordination Engineering 91 5.1 Artefacts............................... 93 5.2 Role Model.............................. 96 5.3 Application Processes....................... 97 5.3.1 Application Engineering.................. 98 5.3.2 Transformation Engineering............... 101 viii Contents 5.3.3 Tool Engineering...................... 103 5.4 Benefits and Limitations...................... 106 5.5 Related Work............................ 108 5.5.1 Architecture- and Platform-Centric MDSD....... 108 5.5.2 Aspect Oriented Modelling................ 108 6 Space-Based Concurrent Processes 111 6.1 Requirements............................ 111 6.2 Combining SBS and BPMN.................... 112 6.3 Domain Concepts.......................... 115 6.4 BPMN as a Host Language.................... 121 6.5 BPMN Subset............................ 122 6.5.1 Spaces............................ 123 6.5.2 Client Processes and Intra-Process Activities...... 126 6.5.3 Space Operations...................... 128 6.5.4 Data Objects and Inter-Process Data Exchange..... 130 6.5.5 Intra-Process Control Flows................ 131 6.6 Operational Semantics....................... 133 6.6.1 Basic Constructs for Client Components........ 134 6.6.2 Sub-Processes........................ 134 6.6.3 Loop Characteristics.................... 136 6.6.4 Spaces............................ 138 6.6.5 Space Access........................ 143 6.7 Related Work............................ 143 6.7.1 DSL for AVOPT, Product Lining, and Interaction... 143 6.7.2 Closed Local Parallel Systems.............. 144 6.7.3 Software Architecture Description............ 145 7 Requirements for a Coordination Engineering Library and Work- bench 147 7.1 Coordination Library........................ 147 7.2 Coordination Workbench..................... 149 ix Contents 8 Design of a Coordination Engineering Library and Workbench 153 8.1 Coordination Library........................ 153 8.2 Coordination Workbench..................... 155 III Evaluation 159 9 Implementation 161 9.1 Coordination Library........................ 161 9.1.1 Implementation Decisions................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    330 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us