[1] Heiko Klare, Max E. Kramer, Michael Langhammer, Dominik Werle, Erik Burger, and Ralf Reussner. Enabling consistency in view-based system development – The Vitruvius approach. Journal of Systems and Software, 171, 2021. [ bib | DOI | http | Abstract ]
During the development of large software-intensive systems, developers use several modeling languages and tools to describe a system from different viewpoints. Model-driven and view-based technologies have made it easier to define domain-specific languages and transformations. Nevertheless, using several languages leads to fragmentation of information, to redundancies in the system description, and eventually to inconsistencies. Inconsistencies have negative impacts on the system’s quality and are costly to fix. Often, there is no support for consistency management across multiple languages. Using a single language is no practicable solution either, as it is overly complex to define, use, and evolve such a language. View-based development is a suitable approach to deal with complex systems, and is widely used in other engineering disciplines. Still, we need to cope with the problems of fragmentation and consistency. In this paper, we present the Vitruviusapproach for consistency in view-based modeling. We describe the approach by formalizing the notion of consistency, presenting languages for consistency preservation, and defining a model-driven development process. Furthermore, we show how existing models can be integrated. We have evaluated our approach at two case studies from component-based and embedded automotive software development, using our prototypical implementation based on the Eclipse Modeling Framework.
[2] Johannes Meier, Christopher Werner, Heiko Klare, Christian Tunjic, Uwe Aßmann, Colin Atkinson, Erik Burger, Ralf Reussner, and Andreas Winter. Classifying approaches for constructing single underlying models. In Model-Driven Engineering and Software Development, Slimane Hammoudi, Luís Ferreira Pires, and Bran Selić, editors, 2020, pages 350–375. Springer International Publishing, Cham. 2020. [ bib | DOI | http | Abstract ]
Multi-view environments for software development allow different views of a software system to be defined to cover the requirements of different stakeholders. One way of ensuring consistency of overlapping information often contained in such views is to project them “on demand” from a Single Underlying Model (SUM). However, there are several ways to construct and adapt such SUMs. This paper presents four archetypal approaches and analyses their advantages and disadvantages based on several new criteria. In addition, guidelines are presented for selecting a suitable SUM construction approach for a specific project.
[3] Timur Sağlam. A Case Study for Networks of Bidirectional Transformations. Master's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, 2020. [ bib | DOI | http | http ]
[4] Heiko Klare, Aurélien Pepin, Erik Burger, and Ralf Reussner. A Formal Approach to Prove Compatibility in Transformation Networks. Technical Report 3, Karlsruher Institut für Technologie (KIT), Karlsruhe, 2020. [ bib | DOI | http | http ]
[5] Heiko Klare. Reproduction Package for Evaluating the Vitruvius Approach, 2020. [ bib | DOI | http ]
[6] Sofia Ananieva, Timo Kehrer, Heiko Klare, Anne Koziolek, Henrik Lönn, Ramesh Sethu, Andreas Burger, Gabriele Taentzer, and Bernhard Westfechtel. Towards a conceptual model for unifying variability in space and time. In Proceedings of the 2nd International Workshop on Variability and Evolution of Software-Intensive Systems, Paris, France, September 2019, VariVolution '19. ACM, New York, NY, USA. September 2019. [ bib | DOI | .pdf ]
[7] Heiko Klare and Joshua Gleitze. Commonalities for Preserving Consistency of Multiple Models. In 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), September 2019, pages 371–378. [ bib | DOI | http | .pdf ]
[8] Heiko Klare, Torsten Syma, Erik Burger, and Ralf Reussner. A categorization of interoperability issues in networks of transformations. Journal of Object Technology, 18(3):4:1–20, July 2019. The 12th International Conference on Model Transformations. [ bib | DOI | .html | .pdf ]
[9] Johannes Meier, Heiko Klare, Christian Tunjic, Colin Atkinson, Erik Burger, Ralf Reussner, and Andreas Winter. Single underlying models for projectional, multi-view environments. In Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2019), 2019, pages 119–130. INSTICC, SCiTePress. 2019. [ bib | DOI | .pdf ]
[10] Matthias Tichy and Heiko Klare. Human Factors: Interests of Transformation Developers and Users. In Multidirectional Transformations and Synchronisations (Dagstuhl Seminar 18491), Anthony Cleve, Ekkart Kindler, Perdita Stevens, and Vadim Zaytsev, editors, volume 8 of Dagstuhl Reports, pages 16–20. Schloss Dagstuhl–Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 2019. [ bib | DOI | http | .pdf ]
[11] Sofia Ananieva, Thorsten Berger, Andreas Burger, Timo Kehrer, Heiko Klare, Anne Koziolek, Henrik Lönn, Ramesh Sethu, Gabriele Taentzer, and Bernhard Westfechtel. Conceptual Modeling Group. In Software Evolution in Time and Space: Unifying Version and Variability Management (Dagstuhl Seminar 19191), Thorsten Berger, Marsha Chechik, Timo Kehrer, and Manuel Wimmer, editors, volume 9 of Dagstuhl Reports, pages 21–24. Schloss Dagstuhl–Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 2019. [ bib | DOI | http | .pdf ]
[12] Aurélien Pepin. Decomposition of Relations for Multi-model Consistency Preservation. Master's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, 2019. [ bib | DOI | http | .pdf ]
[13] Heiko Klare. Multi-model Consistency Preservation. In Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, MODELS 2018, Copenhagen, Denmark, October 2018, pages 156–161. [ bib | DOI | .pdf ]
[14] Houssem Guissouma, Heiko Klare, Eric Sax, and Erik Burger. An empirical study on the current and future challenges of automotive software release and configuration management. In 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Prague, Czech Republic, August 2018, pages 298–305. [ bib | DOI | .pdf ]
[15] Manar Mazkatli, Erik Burger, Jochen Quante, and Anne Koziolek. Integrating semantically-related legacy models in vitruvius. In Proceedings of Modelling in Software Engineering co-located with the 40th International Conference on Software Engineering, May 2018, pages 41–48. ACM, New York, NY, USA. May 2018. [ bib | DOI | .pdf ]
[16] Sofia Ananieva, Heiko Klare, Erik Burger, and Ralf Reussner. Variants and versions management for models with integrated consistency preservation. In Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems, Madrid, Spain, March 2018, VAMOS 2018, pages 3–10. ACM, New York, NY, USA. March 2018. [ bib | DOI | http | .pdf ]
[17] Manar Mazkatli and Anne Koziolek. Continuous integration of performance model. In Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, Berlin, Germany, 2018, ICPE '18, pages 153–158. ACM, New York, NY, USA. 2018. [ bib | DOI | http | .pdf ]
[18] Sofia Ananieva, Erik Burger, and Christian Stier. Model-Driven Consistency Preservation in AutomationML. In 14th IEEE International Conference on Automation Science and Engineering, Munich, Germany, 2018, pages 1536–1541. IEEE. 2018. [ bib | DOI | .pdf ]
[19] Torsten Syma. Multi-model Consistency through Transitive Combination of Binary Transformations. Master's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, 2018. [ bib | DOI | http | .pdf ]
[20] Hugo Brunelière, Erik Burger, Jordi Cabot, and Manuel Wimmer. A Feature-based Survey of Model View Approaches. Software & Systems Modeling, September 2017, Springer Berlin / Heidelberg. [ bib | DOI | .pdf ]
[21] Heiko Klare, Erik Burger, Max E. Kramer, Michael Langhammer, Timur Sağlam, and Ralf Reussner. Ecoreification: Making arbitrary java code accessible to metamodel-based tools. In ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS 2017), Austin, Texas, September 17–22, 2017. IEEE Computer Society, Washington, DC, USA. September 2017. [ bib | DOI | http | .pdf ]
[22] Kateryna Yurchenko, Moritz Behr, Heiko Klare, Max Kramer, and Ralf Reussner. Architecture-Driven Reduction of Specification Overhead for Verifying Confidentiality in Component-Based Software Systems. In Proceedings of MODELS 2017 Satellite Event (MoDeVVa Workshop), co-located with ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS) 2017), September 2017, volume 2019, pages 321–323. CEUR-WS, Austin, TX, USA. September 2017. [ bib | .pdf ]
[23] Max Emanuel Kramer. Specification Languages for Preserving Consistency between Models of Different Languages. PhD thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2017. [ bib | DOI | http | http ]
[24] Michael Langhammer. Automated Coevolution of Source Code and Software Architecture Models. PhD thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2017. [ bib | DOI | http | http ]
[25] Manar Mazkatli, Erik Burger, Anne Koziolek, and Ralf H. Reussner. Automotive Systems Modelling with Vitruvius. In INFORMATIK 2017, 2017, volume P-275 of Lecture Notes in Informatics (LNI), pages 1487–1498. Gesellschaft für Informatik, Bonn. 2017. [ bib | DOI | http | .pdf ]
[26] Eric Sax, Ralf Reussner, Houssemeddine Guissouma, and Heiko Klare. A Survey on the State and Future of Automotive Software Release and Configuration Management. Technical Report 11, Karlsruher Institut für Technologie (KIT), Karlsruhe, 2017. [ bib | DOI | http | .pdf ]
[27] Timur Sağlam. Automatic Integration of Ecore Functionality into Java Code. Bachelor's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2017. [ bib | DOI | http | http ]
[28] Joshua Gleitze. A Declarative Language for Preserving Consistency of Multiple Models. Bachelor's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2017. [ bib | DOI | http | .pdf ]
[29] Erik Burger, Victoria Mittelbach, and Anne Koziolek. View-based and model-driven outage management for the smart grid. In Proceedings of the 11th Workshop on Models@run.time co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), Saint Malo, France, October 2016. CEUR Workshop Proceedings. October 2016. [ bib | http | .pdf ]
[30] Max E. Kramer, Georg Hinkel, Heiko Klare, Michael Langhammer, and Erik Burger. A controlled experiment template for evaluating the understandability of model transformation languages. In Proceedings of the Second International Workshop on Human Factors in Modeling co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), Saint Malo, France, October 2016, volume 1805 of CEUR Workshop Proceedings, pages 11–18. CEUR-WS.org. October 2016. [ bib | http | .pdf ]
[31] Erik Burger and Oliver Schneider. Translatability and Translation of Updated Views in ModelJoin. In Theory and Practice of Model Transformations: 9th International Conference, ICMT 2016, Held as Part of STAF 2016, Pieter van Gorp and Gregor Engels, editors, Cham, July 2016, volume 9765 of Lecture Notes in Computer Science, pages 55–69. Springer International Publishing. July 2016. [ bib | DOI | .pdf ]
[32] Heiko Klare, Michael Langhammer, and Max E. Kramer. Projecting UML Class Diagrams from Java Code Models. In 4th Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling (VAO), Karlsruhe, Germany, March 2016, VAO '16, pages 11–18. [ bib | DOI | http | .pdf ]
[33] Max E. Kramer and Kirill Rakhman. Automated inversion of attribute mappings in bidirectional model transformations. In Proceedings of the 5th International Workshop on Bidirectional Transformations (Bx 2016), Anthony Anjorin and Jeremy Gibbons, editors, Eindhoven, The Netherlands, 2016, volume 1571 of CEUR Workshop Proceedings, pages 61–76. CEUR-WS.org. 2016. [ bib | http | .pdf ]
[34] Max E. Kramer and Kirill Rakhman. Proofs for the automated inversion of attribute mappings in bidirectional model transformations. Technical report, Karlsruhe Institute of Technology, Department of Informatics, Karlsruhe, 2016. [ bib | DOI | http | http ]
[35] Sebastian Fiss, Max E. Kramer, and Michael Langhammer. Automatically binding variables of invariants to violating elements in an ocl-aligned xbase-language. In Proceedings of Modellierung 2016, Andreas Oberweis and Ralf Reussner, editors, 2016, volume P-254 of Lecture Notes in Informatics (LNI), pages 189–204. Gesellschaft für Informatik e.V. (GI), Bonn, Germany. 2016. [ bib | .pdf | Abstract ]
Constraints that have to hold for all models of a modeling language are often specified as invariants using the Object Constraint Language (OCL). If violations of such invariants shall be documented or resolved in a software system, the exact model elements that violate these conditions have to be computed. OCL validation engines provide, however, only a single context element at which a check for a violated invariant originated. Therefore, the computation of elements that caused an invariant violation is often specified in addition to the invariant declaration with redundant information. These redundancies can make it hard to develop and maintain systems that document or resolve invariant violations. In this paper, we present an automated approach and tool for declaring and binding parameters of invariants to violating elements based on boolean invariant expressions that are similar to OCL invariants. The tool computes a transformed invariant that returns violating elements for each iterator variable of the invariant expression that matches an explicitly declared invariant parameter. The approach can be used for OCL invariants and all models of languages conforming to the Meta-Object Facility (MOF) standard. We have evaluated our invariant language and transformation tool by transforming 88 invariants of the Unified Modeling Language (UML).
[36] Heiko Klare. Designing a Change-Driven Language for Model Consistency Repair Routines. Master's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, 2016. [ bib | DOI | http | .pdf ]
[37] Manar Mazkatli. Consistency Preservation in the Development Process of Automotive Software. Master's thesis, Karlsruhe Institute of Technology (KIT), 2016. [ bib | .pdf ]
[38] Max E. Kramer, Michael Langhammer, Dominik Messinger, Stephan Seifermann, and Erik Burger. Change-driven consistency for component code, architectural models, and contracts. In Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering, Montréal, QC, Canada, 2015, CBSE '15, pages 21–26. ACM, New York, NY, USA. 2015. [ bib | DOI | http | .pdf ]
[39] Max E. Kramer, Michael Langhammer, Dominik Messinger, Stephan Seifermann, and Erik Burger. Realizing change-driven consistency for component code, architectural models, and contracts in vitruvius. Technical report, Karlsruhe Institute of Technology, Department of Informatics, Karlsruhe, 2015. [ bib | http | http ]
[40] Max E. Kramer. A generative approach to change-driven consistency in multi-view modeling. In Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures, Montréal, QC, Canada, 2015, QoSA '15, pages 129–134. ACM, New York, NY, USA. 2015, 20th International Doctoral Symposium on Components and Architecture (WCOP '15). [ bib | DOI | http | .pdf ]
[41] Max E. Kramer, Michael Langhammer, Dominik Messinger, Stephan Seifermann, and Erik Burger. Change-driven multi-view consistency for component models, code, and contracts. Poster at the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering, 2015. [ bib ]
[42] Sebastian Fiss. Embedding and transforming invariants for a domain-specific language for multi-model consistency. Bachelor's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2015. [ bib | .pdf ]
[43] Kirill Rakhman. Automated inversion of attribute mapping expressions for multi-model consistency. Master's thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2015. [ bib | .pdf ]
[44] Sven Leonhardt, Benjamin Hettwer, Johannes Hoor, and Michael Langhammer. Integration of existing software artifacts into a view- and change-driven development approach. In Proceedings of the 2015 Joint MORSE/VAO Workshop on Model-Driven Robot Software Engineering and View-based Software-Engineering, L'Aquila, Italy, 2015, MORSE/VAO '15, pages 17–24. ACM, New York, NY, USA. 2015. [ bib | DOI | http ]
[45] Erik Burger. Flexible Views for View-based Model-driven Development. PhD thesis, Karlsruhe Institute of Technology, Karlsruhe, Germany, July 2014. [ bib | DOI | http ]
[46] Erik Burger and Aleksandar Toshovski. Difference-based Conformance Checking for Ecore Metamodels. In Proceedings of Modellierung 2014, Vienna, Austria, March 21, 2014, volume 225 of GI-LNI, pages 97–104. [ bib | .pdf ]
[47] Erik Burger, Jörg Henß, Martin Küster, Steffen Kruse, and Lucia Happe. View-Based Model-Driven Software Development with ModelJoin. Software & Systems Modeling, 15(2):472–496, 2014, Springer Berlin / Heidelberg. [ bib | DOI | .pdf ]
[48] Erik Burger, Jörg Henß, Steffen Kruse, Martin Küster, Andreas Rentschler, and Lucia Happe. ModelJoin. A Textual Domain-Specific Language for the Combination of Heterogeneous Models. Technical Report 1, Karlsruhe Institute of Technology, Faculty of Informatics, 2014. [ bib | http ]
[49] Max E. Kramer. Synchronizing heterogeneous models in a view-centric engineering approach. In Software Engineering 2014 – Fachtagung des GI-Fachbereichs Softwaretechnik, Wilhelm Hasselbring and Nils Christian Ehmke, editors, Kiel, Germany, 2014, volume 227 of GI Lecture Notes in Informatics, pages 233–236. Gesellschaft für Informatik e.V. (GI). 2014, Doctoral Symposium. [ bib | .pdf | .pdf ]
[50] Max E. Kramer and Michael Langhammer. Proposal for a multi-view modelling case study: Component-based software engineering with uml, plug-ins, and java. In Proceedings of the 2nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, York, United Kingdom, 2014, VAO '14, pages 7:7–7:10. ACM, New York, NY, USA. 2014. [ bib | DOI | http | .pdf ]
[51] Max E. Kramer, Anton Hergenröder, Martin Hecker, Simon Greiner, and Kaibin Bao. Specification and verification of confidentiality in component-based systems. Poster at the 35th IEEE Symposium on Security and Privacy, 2014. [ bib | .pdf | .pdf ]
[52] Michael Langhammer and Max E. Kramer. Determining the Intent of Code Changes to Sustain Attached Model Information During Code Evolution. In Fachgruppenbericht des 2. Workshops “Modellbasierte und Modellgetriebene Softwaremodernisierung”, volume 34 (2) of Softwaretechnik-Trends. Gesellschaft für Informatik e.V. (GI), 2014. [ bib | http | .pdf ]
[53] Erik Burger. Flexible Views for View-Based Model-Driven Development. In Proceedings of the 18th international doctoral symposium on Components and architecture, Vancouver, British Columbia, Canada, 2013, WCOP '13, pages 25–30. ACM, New York, NY, USA. 2013. [ bib | DOI | http | .pdf ]
[54] Erik Burger. Flexible Views for Rapid Model-Driven Development. In Proceedings of the 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, Montpellier, France, 2013, VAO '13, pages 1:1–1:5. ACM, New York, NY, USA. 2013. [ bib | DOI | http | .pdf ]
[55] Max E. Kramer, Erik Burger, and Michael Langhammer. View-Centric Engineering with Synchronized Heterogeneous Models. In Proceedings of the 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, Montpellier, France, 2013, VAO '13, pages 5:1–5:6. ACM, New York, NY, USA. 2013. [ bib | DOI | .pdf | .pdf ]
[56] Michael Langhammer. Co-evolution of component-based architecture-model and object-oriented source code. In Proceedings of the 18th international doctoral symposium on Components and architecture, 2013, pages 37–42. ACM. [ bib ]
[57] Michael Langhammer, Sebastian Lehrig, and Max E. Kramer. Reuse and configuration for code generating architectural refinement transformations. In Proceedings of the 1st Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, Montpellier, France, 2013, VAO '13, pages 6:1–6:5. ACM, New York, NY, USA. 2013. [ bib | DOI | http | .pdf ]
[58] Erik Burger and Boris Gruschko. A Change Metamodel for the Evolution of MOF-Based Metamodels. In Proceedings of Modellierung 2010, Gregor Engels, Dimitris Karagiannis, and Heinrich C. Mayr, editors, Klagenfurt, Austria, March 26, 2010, volume P-161 of GI-LNI, pages 285–300. [ bib | slides | .pdf | Abstract ]
The evolution of software systems often produces incompatibilities with existing data and applications. To prevent incompatibilities, changes have to be well-planned, and developers should know the impact of changes on a software system. This consideration also applies to the field of model-driven development, where changes occur with the modification of the underlying metamodels. Models that are instantiated from an earlier metamodel version may not be valid instances of the new version of a metamodel. In contrast to other metamodeling standards like the Eclipse Modeling Framework (EMF), no classification of metamodel changes has been performed yet for the Meta Object Facility (MOF).The contribution of this paper is the evaluation of the impact of metamodel changes on models. For the formalisation of changes to MOF-based metamodels, a ChangeMetamodel is introduced to describe the transformation of one version of a metamodel to another. The changes are then classifed by their impact on the compatibility to existing model data. The classification is formalised using OCL constraints. The ChangeMetamodel and the change classifications presented in this paper lay the foundation for the implemention of a mechanism that allows metamodel editors to estimate the impact of metamodel changes semi-automatically.