Integration of Heterogeneous Modeling Languages via Extensible and Composable Language Components

Arne Haber, Markus Look, Antonio Navarro Perez, Pedram Mir Seyed Nazari, Bernhard Rumpe, Steven Völkel, Andreas Wortmann

Abstract

Effective model-driven engineering of complex systems requires to appropriately describe different specific system aspects. To this end, efficient integration of different heterogeneous modeling languages is essential. Modeling language integaration is onerous and requires in-depth conceptual and technical knowledge and effort. Traditional modeling lanugage integration approches require language engineers to compose monolithic language aggregates for a specific task or project. Adapting these aggregates to different contexts requires vast effort and makes these hardly reusable. This contribution presents a method for the engineering of grammar-based language components that can be independently developed, are syntactically composable, and ultimately reusable. To this end, it introduces the concepts of language aggregation, language embedding, and language inheritance, as well as their realization in the language workbench MontiCore. The result is a generalizable, systematic, and efficient syntax-oriented composition of languages that allows the agile employment of modeling languages efficiently tailored for individual software projects.

References

  1. Barja, M. L., Paton, N. W., Fern, A. A. A., Williams, M. H., and Dinn, A. (1994). An effective deductive object-oriented database through language integration. In Proc. 20th Int. Conf. on Very Large Data Bases (VLDB).
  2. Dmitriev, S. (2004). Language oriented programming: The next programming paradigm. JetBrains onBoard, 1(2).
  3. Erdweg, S., Giarrusso, P. G., and Rendel, T. (2012). Language composition untangled. In Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications.
  4. Erdweg, S., Rendel, T., Kästner, C., and Ostermann, K. (2011). Sugarj: Library-based syntactic language extensibility. In ACM SIGPLAN Notices.
  5. Erdweg, S., van der Storm, T., Völter, M., Boersma, M., Bosman, R., Cook, W. R., Gerritsen, A., Hulshout, A., Kelly, S., Loh, A., et al. (2013). The state of the art in language workbenches. Springer.
  6. Eysholdt, M. and Behrens, H. (2010). Xtext: Implement your language faster than the quick and dirty way. In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion.
  7. France, R. and Rumpe, B. (2007). Model-driven Development of Complex Software: A Research Roadmap. Future of Software Engineering (FOSE 7807).
  8. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional.
  9. Groenewegen, D. and Visser, E. (2008). Declarative access control for webdsl: Combining language integration and separation of concerns. In Web Engineering, 2008. ICWE'08. Eighth International Conference on.
  10. Grönniger, H., Krahn, H., Rumpe, B., Schindler, M., and Völkel, S. (2006). MontiCore 1.0 - Ein Framework zur Erstellung und Verarbeitung domänenspezifischer Sprachen. Technical Report Informatik-Bericht 2006- 04, Software Systems Engineering Institute, Braunschweig University of Technology.
  11. Grö nniger, H. and Rumpe, B. (2011). Modeling language variability. In Foundations of Computer Software. Modeling, Development, and Verification of Adaptive Systems. Springer.
  12. Haber, A., Hö lldobler, K., Kolassa, C., Look, M., Rumpe, B., Mü ller, K., and Schaefer, I. (2013). Engineering Delta Modeling Languages. In Proceedings of the 17th International Software Product Line Conference.
  13. Haber, A., Kutz, T., Rendel, H., Rumpe, B., and Schaefer, I. (2011a). Delta-oriented Architectural Variability Using MontiCore. In ECSA 7811 5th European Conference on Software Architecture: Companion Volume.
  14. Haber, A., Rendel, H., Rumpe, B., and Schaefer, I. (2011b). Delta Modeling for Software Architectures. In Tagungsband des Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteterSysteme VII.
  15. Haber, A., Rendel, H., Rumpe, B., and Schaefer, I. (2012a). Evolving Delta-oriented Software Product Line Architectures. In Large-Scale Complex IT Systems. Development, Operation and Management, 17th Monterey Workshop 2012, Oxford, UK, March 19-21, 2012.
  16. Haber, A., Rendel, H., Rumpe, B., Schaefer, I., and van der Linden, F. (2011c). Hierarchical Variability Modeling for Software Architectures. In Proceedings of International Software Product Lines Conference (SPLC 2011).
  17. Haber, A., Ringert, J. O., and Rumpe, B. (2012b). MontiArc - Architectural Modeling of Interactive Distributed and Cyber-Physical Systems. Technical Report AIB2012-03, RWTH Aachen.
  18. Hedin, G. and Magnusson, E. (2003). Jastadd-an aspectoriented compiler construction system. Science of Computer Programming.
  19. Hofer, C. and Ostermann, K. (2010). Modular domainspecific language components in scala. In ACM SIGPLAN Notices.
  20. Hudak, P. (1998). Modular domain specific languages and tools. In Software Reuse, 1998. Proceedings. Fifth International Conference on.
  21. Kats, L. C. and Visser, E. (2010). The spoofax language workbench: Rules for declarative specification of languages and ides. SIGPLAN Not.
  22. Kelly, S., Lyytinen, K., and Rossi, M. (1996). Metaedit+ a fully configurable multi-user and multi-tool case and came environment. In Advanced Information Systems Engineering.
  23. Klint, P., van der Storm, T., and Vinju, J. (2009). Rascal: A domain specific language for source code analysis and manipulation. In Source Code Analysis and Manipulation, 2009. SCAM'09. Ninth IEEE International Working Conference on.
  24. Knuth, D. F. (1968). Semantics of context-free languages. Mathematical systems theory.
  25. Krahn, H., Rumpe, B., and Vö lkel, S. (2008). Monticore: Modular development of textual domain specific languages. In Proceedings of Tools Europe.
  26. Krahn, H., Rumpe, B., and Vö lkel, S. (2010). MontiCore: a framework for compositional development of domain specific languages. STTT.
  27. Look, M., Perez, A. N., Ringert, J. O., Rumpe, B., and Wortmann, A. (2013). Black-box Integration of Heterogeneous Modeling Languages for Cyber-Physical Systems. In Proceedings of the 1st Workshop on the Globalization of Modeling Languages (GEMOC), Miami, Florida, USA.
  28. Medvidovic, N. and Taylor, R. (2000). A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering.
  29. Mernik, M. (2013). An Object-oriented Approach to Language Compositions for Software Language Engineering. Journal of Systems and Software.
  30. Navarro Pérez, A. and Rumpe, B. (2013). Modeling Cloud Architectures as Interactive Systems. In 2nd International Workshop on Model-Driven Engineering for High Performance and CLoud computing (MDHPCL).
  31. Object Management Group (2010). OMG Unified Modeling Language (OMG UML), Superstructure Version 2.3 (10-05-05). http:// www.omg.org/spec/UML/2.3/Superstructure/PDF/.
  32. Ringert, J. O., Rumpe, B., and Wortmann, A. (2013a). From Software Architecture Structure and Behavior Modeling to Implementations of Cyber-Physical Systems. In Software Engineering 2013 Workshop Proceedings.
  33. Ringert, J. O., Rumpe, B., and Wortmann, A. (2013b). MontiArcAutomaton : Modeling Architecture and Behavior of Robotic Systems. In Workshops and Tutorials Proceedings of the International Conference on Robotics and Automation (ICRA).
  34. Rumpe, B. (2011). Modellierung mit UML, volume 2nd Edition. Springer.
  35. Rumpe, B. (2012). Agile Modellierung mit UML: Codegenerierung, Testfälle, Refactoring, volume 2nd Edition. Springer.
  36. Schindler, M. (2012). Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML/P. Aachener Informatik-Berichte, Software Engineering, Band 11. Shaker.
  37. Solmi, R. (2005). Whole platform. PhD thesis, University of Bologna.
  38. Thomas, U., Hirzinger, G., Rumpe, B., Schulze, C., and Wortmann, A. (2013). A New Skill Based Robot Programming Language Using UML/P Statecharts. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe, Germany.
  39. Tomassetti, F., Vetro, A., Torchiano, M., Voelter, M., and Kolb, B. (2013). A model-based approach to language integration. In Modeling in Software Engineering (MiSE), 2013 5th International Workshop on.
  40. van der Storm, T., Cook, W. R., and Loh, A. (2014). The design and implementation of Object Grammars. Science of Computer Programming.
  41. Völkel, S. (2011). Kompositionale Entwicklung domänenspezifischer Sprachen. Aachener InformatikBerichte, Software Engineering Band 9. 2011. Shaker Verlag.
  42. Voelter, M. (2013). Language and ide modularization and composition with mps. In Generative and Transformational Techniques in Software Engineering IV. Springer Berlin Heidelberg.
  43. Wende, C., Thieme, N., and Zschaler, S. (2010). A Rolebased Approach Towards Modular Language Engineering. In Proceedings of the Second International Conference on Software Language Engineering.
  44. Wyk, E. V., Bodin, D., Gao, J., and Krishnan, L. (2008). Silver: an Extensible Attribute Grammar System. Electronic Notes in Theoretical Computer Science.
  45. Wyk, E. V., de Moor, O., Backhouse, K., and Kwiatkowski, P. (2002). Forwarding in attribute grammars for modular language design. In In Proc. 11th Intl. Conf. on Compiler Construction, volume 2304 of LNCS.
Download


Paper Citation


in Harvard Style

Haber A., Look M., Navarro Perez A., Mir Seyed Nazari P., Rumpe B., Völkel S. and Wortmann A. (2015). 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 - Volume 1: MODELSWARD, ISBN 978-989-758-083-3, pages 19-31. DOI: 10.5220/0005225000190031


in Bibtex Style

@conference{modelsward15,
author={Arne Haber and Markus Look and Antonio Navarro Perez and Pedram Mir Seyed Nazari and Bernhard Rumpe and Steven Völkel and Andreas Wortmann},
title={Integration of Heterogeneous Modeling Languages via Extensible and Composable Language Components},
booktitle={Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2015},
pages={19-31},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005225000190031},
isbn={978-989-758-083-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Integration of Heterogeneous Modeling Languages via Extensible and Composable Language Components
SN - 978-989-758-083-3
AU - Haber A.
AU - Look M.
AU - Navarro Perez A.
AU - Mir Seyed Nazari P.
AU - Rumpe B.
AU - Völkel S.
AU - Wortmann A.
PY - 2015
SP - 19
EP - 31
DO - 10.5220/0005225000190031