skip to main content
10.1145/2814204.2814224acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
short-paper

Composing code generators for C&C ADLs with Application-specific behavior languages (tool demonstration)

Published: 26 October 2015 Publication History

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.

References

[1]
Nenad Medvidovic and Richard N. Taylor. “A Classification and Comparison Framework for Software Architecture Description Languages”. In: IEEE Transactions on Software Engineering (2000).
[2]
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.
[3]
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.
[4]
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.
[5]
Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann. Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton. Shaker Verlag, 2014.
[6]
Holger Krahn, Bernhard Rumpe, and Steven Völkel. “MontiCore: Modular Development of Textual Domain Specific Languages”. In: Proceedings of Tools Europe. 2008.
[7]
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.
[8]
Steven Völkel. Kompositionale Entwicklung domänenspezifischer Sprachen. Shaker Verlag, 2011.
[9]
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.
[10]
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.
[11]
Martin Schindler. Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML/P. Shaker Verlag, 2012.
[12]
Holger Krahn. MontiCore: Agile Entwicklung von domänenspezifischen Sprachen im Software-Engineering. Shaker Verlag, 2012.
[13]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1995.
[14]
Manfred Broy, Franz Huber, and Bernhard Schaetz. “Auto-FOCUS – Ein Werkzeugprototyp zur Entwicklung eingebetteter Systeme”. In: Informatik-Forschung und Entwicklung (1999).
[15]
Frank Höwing. “Effiziente Entwicklung von AUTOSARKomponenten mit domänenspezifischen Programmiersprachen”. In: Proceedings of Workshop Automotive Software Engineering. 2007.
[16]
Peter H Feiler and David P Gluch. Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley, 2012.
[17]
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.
[18]
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.
[19]
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.
[20]
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.
[21]
Markus Voelter and Iris Groher. “Handling Variability in Model Transformations and Generators”. In: 7th OOPSLA Workshop on Domain-Specific Modeling. 2007.
[22]
Lorenzo Bettini. Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, 2013.
[23]
Introduction Preliminaries MontiArcAutomaton MontiArcAutomaton Toolchain Code Generator Composition Example Related Work Summary

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GPCE 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
October 2015
184 pages
ISBN:9781450336871
DOI:10.1145/2814204
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 51, Issue 3
    GPCE '15
    March 2016
    184 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2936314
    • Editor:
    • Andy Gill
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 October 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Code Generation
  2. Code Generator Composition
  3. Component & Connector Architectures
  4. Model-Driven Engineering

Qualifiers

  • Short-paper

Conference

GPCE'15
Sponsor:
GPCE'15: Generative Programming: Concepts and Experiences
October 26 - 27, 2015
PA, Pittsburgh, USA

Acceptance Rates

Overall Acceptance Rate 56 of 180 submissions, 31%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 114
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media