Abstract
Modeling software systems as component & connector architectures with application-specific behavior modeling languages enables domain experts to describe each component behavior with the most appropriate language. Generating executable systems for such language aggregates requires composing appropriate code generators for the participating languages. Previous work on code generator composition either focuses on white-box integration based on code generator internals or requires extensive handcrafting of integration code. We demonstrate an approach to black-box generator composition for architecture description languages that relies on explicit interfaces and exploits the encapsulation of components. This approach is implemented for the architecture modeling framework MontiArcAutomaton and has been evaluated in various contexts. Ultimately, black-box code generator composition facilitates development of code generators for architecture description languages with embedded behavior languages and increases code generator reuse.
- Nenad Medvidovic and Richard N. Taylor. “A Classification and Comparison Framework for Software Architecture Description Languages”. In: IEEE Transactions on Software Engineering (2000). Google Scholar
Digital Library
- Jan Oliver Ringert, Alexander Roth, Bernhard Rumpe, and Andreas Wortmann. “Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems ””. In: 1st International Workshop on Model-Driven Robot Software Engineering (MORSE 2014). 2014.Google Scholar
- Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann. “From Software Architecture Structure and Behavior Modeling to Implementations of Cyber-Physical Systems”. In: Software Engineering 2013 Workshopband. 2013.Google Scholar
- Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann. “MontiArcAutomaton : Modeling Architecture and Behavior of Robotic Systems”. In: Workshops and Tutorials Proceedings of the IEEE International Conference on Robotics and Automation (ICRA). 2013.Google Scholar
- Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann. Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton. Shaker Verlag, 2014.Google Scholar
- Holger Krahn, Bernhard Rumpe, and Steven Völkel. “MontiCore: Modular Development of Textual Domain Specific Languages”. In: Proceedings of Tools Europe. 2008.Google Scholar
Cross Ref
- Holger Krahn, Bernhard Rumpe, and Steven Völkel. “MontiCore: a Framework for Compositional Development of Domain Specific Languages”. In: International Journal on Software Tools for Technology Transfer (STTT). 2010. Google Scholar
Digital Library
- Steven Völkel. Kompositionale Entwicklung domänenspezifischer Sprachen. Shaker Verlag, 2011.Google Scholar
- Markus Look, Antonio Navarro Perez, Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann. “Black-box Integration of Heterogeneous Modeling Languages for Cyber-Physical Systems”. In: Proceedings of the 1st Workshop on the Globalization of Modeling Languages (GEMOC). 2013.Google Scholar
- Arne Haber, Markus Look, Pedram Mir Seyed Nazari, Antonio Navarro Perez, Bernhard Rumpe, Steven Voelkel, and Andreas Wortmann. “Integration of Heterogeneous Modeling Languages via Extensible and Composable Language Components”. In: Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development. 2015.Google Scholar
Cross Ref
- Martin Schindler. Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML/P. Shaker Verlag, 2012.Google Scholar
- Holger Krahn. MontiCore: Agile Entwicklung von domänenspezifischen Sprachen im Software-Engineering. Shaker Verlag, 2012.Google Scholar
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1995. Google Scholar
Digital Library
- Manfred Broy, Franz Huber, and Bernhard Schaetz. “Auto-FOCUS – Ein Werkzeugprototyp zur Entwicklung eingebetteter Systeme”. In: Informatik-Forschung und Entwicklung (1999).Google Scholar
- Frank Höwing. “Effiziente Entwicklung von AUTOSARKomponenten mit domänenspezifischen Programmiersprachen”. In: Proceedings of Workshop Automotive Software Engineering. 2007.Google Scholar
- Peter H Feiler and David P Gluch. Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley, 2012. Google Scholar
Digital Library
- Eric M Dashofy, André Van der Hoek, and Richard N Taylor. “A Highly-Extensible, XML-Based Architecture Description Language”. In: Software Architecture, 2001. Proceedings. Working IEEE/IFIP Conference on. IEEE. 2001. Google Scholar
Digital Library
- Leila Naslavsky, Hadar Ziv Dias, H Ziv, and D Richardson. “Extending xADL with Statechart Behavioral Specification”. In: Third Workshop on Architecting Dependable Systems (WADS), Edinburgh, Scotland. IET. 2004.Google Scholar
Cross Ref
- Christian Schlegel, Andreas Steck, and Alex Lotz. “Model-Driven Software Development in Robotics : Communication Patterns as Key for a Robotics Component Model”. In: Introduction to Modern Robotics. 2011.Google Scholar
- Saadia Dhouib, Selma Kchir, Serge Stinckwich, Tewfik Ziadi, and Mikal Ziane. “RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications”. In: Simulation, Modeling, and Programming for Autonomous Robots. 2012. Google Scholar
Digital Library
- Markus Voelter and Iris Groher. “Handling Variability in Model Transformations and Generators”. In: 7th OOPSLA Workshop on Domain-Specific Modeling. 2007.Google Scholar
- Lorenzo Bettini. Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, 2013. Google Scholar
Digital Library
- Introduction Preliminaries MontiArcAutomaton MontiArcAutomaton Toolchain Code Generator Composition Example Related Work SummaryGoogle Scholar
Index Terms
Composing code generators for C&C ADLs with Application-specific behavior languages (tool demonstration)
Recommendations
Composing code generators for C&C ADLs with Application-specific behavior languages (tool demonstration)
GPCE 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesModeling software systems as component & connector architectures with application-specific behavior modeling languages enables domain experts to describe each component behavior with the most appropriate language. Generating executable systems for such ...
Building Code Generators for DSLs Using a Partial Evaluator for the Xtend Language
Part I of the Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change - Volume 8802For several years now, domain-specific languages DSLs are a mainstream tool for establishing model-based development environments in real-world projects. Typical back-end tools for external DSLs are interpreters and code generators.
Partial evaluation ...
Exploiting Ecore's Reflexivity for Bootstrapping Domain-Specific Code-Generators
SEW '12: Proceedings of the 2012 35th Annual IEEE Software Engineering WorkshopThis paper shows how the reflexivity of Ecore can be exploited for incrementally bootstrapping domain-specific code generators in the model-driven and service-oriented code generation framework Genesys. Key to this technology is the EMF SIB Generator, ...






Comments