Systematic Language Extension Mechanisms for the MontiArc Architecture Description Language

Architecture description languages (ADLs) combine the benefits of component-based software engineering and model-driven development. Extending an ADL to domain-specific requirements is a major challenge for its successful application. Most ADLs focus on fixed features and do not consider domain-specific language extension. ADLs focusing on extensibility focus on syntactic augmentation only and neither consider semantics, nor the ADL’s tooling. We present a systematic extension method for the MontiArc component and connector ADL that enables extending its syntax and infrastructure. The MontiArc ADL is built on top of the MontiCore workbench for compositional modeling languages and leverages its powerful language integration facilities. Based on these, we conceived systematic extension activities and present their application to customizing MontiArc for three different domains. This application of software language engineering to ADLs reduces effort for their extension and the presented method guides developers in applying it to their domain. This ultimately fosters the application of ADLs to real-world domain-specific challenges.

[1]  Françoise Simonot-Lion,et al.  EAST-ADL - An Architecture Description Language - Validation and Verification Aspects , 2004, IFIP-WADL.

[2]  Bernhard Rumpe,et al.  Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems , 2015, MORSE@STAF.

[3]  Bernhard Rumpe,et al.  Modeling Variability in Template-based Code Generators for Product Line Engineering , 2016, ArXiv.

[4]  Bernhard Rumpe,et al.  MontiArc - Architectural Modeling of Interactive Distributed and Cyber-Physical Systems , 2014, ArXiv.

[5]  Nenad Medvidovic Moving Architectural Description from Under the Technology Lamppost , 2006, EUROMICRO-SEAA.

[6]  Dave Thomas,et al.  The AADL behaviour annex -- experiments and roadmap , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[7]  Bernhard Rumpe,et al.  Hierarchical Variability Modeling for Software Architectures , 2011, 2011 15th International Software Product Line Conference.

[8]  Steven Völkel,et al.  Kompositionale Entwicklung domänenspezifischer Sprachen , 2011, Aachener Informatik-Berichte, Software Engineering.

[9]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[10]  Bernhard Rumpe,et al.  Conceptual Model of the Globalization for Domain-Specific Languages , 2014, Globalizing Domain-Specific Languages.

[11]  L. Naslavsky,et al.  Extending xADL with statechart behavioral specification , 2004, ICSE 2004.

[12]  Robbie Vanbrabant Google Guice: Agile Lightweight Dependency Injection Framework (Firstpress) , 2008 .

[13]  Flávio Oquendo π-ADL: an Architecture Description Language based on the higher-order typed π-calculus for specifying dynamic and mobile software architectures , 2004, SOEN.

[14]  David S. Wile,et al.  Supporting the DSL Spectrum , 2001 .

[15]  Bernhard Rumpe,et al.  Delta Modeling for Software Architectures , 2014, MBEES.

[16]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[17]  Bernhard Rumpe,et al.  From Software Architecture Structure and Behavior Modeling to Implementations of Cyber-Physical Systems , 2014, Software Engineering.

[18]  Holger Krahn MontiCore: agile Entwicklung von domänenspezifischen Sprachen im Software-Engineering , 2010, Aachener Informatik-Berichte, Software Engineering.

[19]  Sebastian Erdweg,et al.  Language composition untangled , 2012, LDTA.

[20]  Bernhard Rumpe,et al.  Composition of Heterogeneous Modeling Languages , 2015, MODELSWARD.

[21]  Martin Schindler,et al.  Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML-P , 2012, Aachener Informatik-Berichte, Software Engineering.

[22]  C. Schlegel,et al.  Model-Driven Software Development in Robotics : Communication Patterns as Key for a Robotics Component Model , 2011 .

[23]  Bernhard Rumpe,et al.  Towards Architectural Programming of Embedded Systems , 2014, MBEES.

[24]  Bernhard Rumpe,et al.  MontiCore: a framework for compositional development of domain specific languages , 2010, International Journal on Software Tools for Technology Transfer.

[25]  Eelco Visser,et al.  The State of the Art in Language Workbenches - Conclusions from the Language Workbench Challenge , 2013, SLE.

[26]  Bernhard Rumpe,et al.  Generating Domain-Specific Transformation Languages for Component & Connector Architecture Descriptions , 2015, ModComp@MoDELS.

[27]  Peter H. Feiler,et al.  Model-Based Engineering with AADL , 2012 .

[28]  Henry Muccini,et al.  What Industry Needs from Architectural Languages: A Survey , 2013, IEEE Transactions on Software Engineering.

[29]  Bernhard Rumpe,et al.  Integration of heterogeneous modeling languages via extensible and composable language components , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[30]  Arne Haber,et al.  MontiArc - Architectural Modeling and Simulation of Interactive Distributed Systems , 2016, Aachener Informatik-Berichte, Software Engineering.

[31]  Bernhard Rumpe,et al.  Textbased Modeling , 2014, ArXiv.

[32]  Bernhard Rumpe,et al.  Systematically deriving domain-specific transformation languages , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[33]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .