Domain-Specific Modelling for Coordination Engineering
Through the advent of multi-core processors in the consumer market, parallel 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 application programming. This will affect most application programmers. A fundamental question is how to exploit these emerging hardware architectures for software applications. As a great challenge, we need to make the complexity of parallel programming controllable for application programmers. Parallel programming languages intend to offer the programmer features for explicit parallel programming, 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 parallelism, 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 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
Use and reproduction:No Creative Commons license - The provisions of the German Copyright Act (UrhG) apply.Please note that individual components of the publication may be subject to other licensing or copyright conditions.