Abstract:
Generation of software from modeling languages such as UML and domain specific languages (DSLs) has become an important paradigm in software engineering. In this tutorial we discuss topics around software development in a model based, generative manner based on home grown DSLs as well as the UML. This includes development of DSLs as well as development of models in these languages in order to generate executable code, test cases or models in their languages.
The course about development of formal DSLs contains concepts of metamodels and grammars (syntax), context conditions (static analysis and quality assurance) as well as possibilities to define the semantics of a language. As a unique innovation we address the growing number and complexity of DSLs by concepts for the modular and compositional development of languages and their tools. Moreover, we introduce approaches to code generation and model transformation based on examples of practical relevance.
Based on the semantical and technical foundations for language definition, we describe an architecture for a tool for both language definition and usage and integrate language and tool development with an agile model-based development process. We also introduce a set of guidelines for both developers and users of DSLs. Finally, we give an overview of the relevance of DSLs for various steps of software development processes.
Presenters:
Bernhard Rumpe is chair of the Department for Software Engineering at the RWTH Aachen University, Germany. Before that he chaired the Software Engineering Institute at the TU Braunschweig. He made his Ph.D. and Habilitation at the TU Munich. His main interests are software development methods and techniques that benefit from both rigorous and practical approaches. This includes the impact of new technologies such as model-engineering based on UML-like notations and domain specific languages and evolutionary, test-based methods, software architecture as well as the methodical and technical implications of their use in industry. He has furthermore contributed to the communities of formal methods and UML. He is author and editor of eight books and Editor-in-Chief of the Springer International Journal on Software and Systems Modeling. He is co-Founder and Steering-Committee-member of the GI expert committee on ”Modeling” in Germany, Program Committee Chair, PC member, workshop organizer etc. at various opportunities.
Ingo Weisemoeller made his diploma in computer science at the RWTH Aachen in 2006. He was a scientific employee and Ph.D. student at the Real-Time Systems lab of the TU Darmstadt for two and a half years. Since May 2009 he has been a scientific employee and Ph.D. student at the Software Engineering Group of the RWTH Aachen.
Martin Schindler made his diploma in computer science at the TU Braunschweig in 2004. From 2004 until March 2009 he was a scientific employee and Ph.D. student at the Software Systems Engineering lab of the TU Braunschweig. Since April 2009 he has been a scientific employee and Ph.D. student at the Software Engineering Group of the RWTH Aachen. He is working on a framework for developing domain specific languages as well as on a textual profile of the UML focusing on modular and configurable code-generation. Furthermore, he is Assistant Editor of the Springer International Journal on Software and Systems Modeling and participates in the MODELPLEX project co-funded by the European Commission.
Steven Völkel made his diploma in computer science at the TU Braunschweig in 2006. From 2006 until January 2009 he was a scientific employee and Ph.D. student at the Software Systems Engineering lab of the TU Braunschweig. Since April 2009 he has been a scientific employee and Ph.D. student at the Software Engineering Group of the RWTH Aachen.