MDD4SOA: Model-Driven Development for Service-Oriented Architectures

Philip Mayer · Electronic Theses of LMU Munich (Ludwig-Maximilians-Universität München) · 2010

This thesis presents a methodological as well as tool-based integration of Model-Driven Development (MDD) and Service-Oriented Computing (SOC).Modeldriven development is a process for creating software by employing models to design and analyse a system before creating source code, while service-oriented computing is based on Service-Oriented Architectures (SOAs) for structuring software systems by using the concept of services, which are self-describing networked software artefacts offering a particular encapsulated functionality.Four main results are contributed to this area.First, we provide a UMLbased, domain-specific modelling language specifically targeted at modelling service behaviour and service protocols.Secondly, these models are given a rigorous semantics based on transition systems, and a verification method is provided.Thirdly, we introduce model transformations to be used to generate code from UML models of SOA software systems for the Web Service standards platform as well as a traditional object-oriented language.Fourth, we provide a testing environment for the generated code, and relate the code generation and formal semantics areas with a simulation and tracing approach.Model-driven development of service-oriented architectures (MDD4SOA) consists of many individual steps and shows its full potential when automated.Each of the contributions of this thesis is thus fully tool-supported, providing modelling assistance, automated analysis, and generation of executable source code.Furthermore, a common development environment is provided in which MDD4SOA-related tools can be integrated and combined in workflows as required by the development task at hand.Taken together, the methods and tools provided in this thesis form the blueprint of an UML-based, analysis-supported, model-driven development approach to service-oriented software.iii Firstly, I would like to thank my supervisor Martin Wirsing for his support during my work at the chair for Programming and Software Engineering (PST), both with regard to my thesis and other projects I've been involved in.I am very grateful for his friendliness and respect which I will remember always.Staying at PST, I would like to extend my thanks to all of my (former) colleagues and will always remember the good times we had both in Munich and on various mountains in the Bavarian alps.Most especially, I'd like to thank Andreas Schroeder, my room mate and fellow coder, who has been a great source of inspiration for many of the topics found

Read the paper · More papers on PaperTik