Abstract
The usage of models within model-driven software development aims at facilitating complexity management of the system under development and closing the gap between the problem and the solution domain. Utilizing model-driven software development (MDD) tools for agile development can also increase the complexity within a project. The huge number of different artifacts and relations, their different kinds, and the high degree of automation hinder the understanding, maintenance, and evolution within MDD projects. A systematic approach to understand and manage MDD projects with a focus on its artifacts and corresponding relations is necessary to handle the complexity. The artifact-based analysis presented in this paper is such an approach. This paper gives an overview of different contributions of the artifact-based analysis but focuses on a specific kind of analysis: architecture consistency checking of model-driven development projects. By applying this kind of analyses, differences between the desired architecture and the actual architecture of the project at a specific point in time can be revealed.
Chapter PDF
Similar content being viewed by others
References
Nour Ali, Sean Baker, Ross O’Crowley, Sebastian Herold, and Jim Buckley. Architecture consistency: State of the practice, challenges and requirements. Empirical Software Engineering, pages 1–35, 2017.
Kai Adam, Katrin Hölldobler, Bernhard Rumpe, and Andreas Wortmann. Engineering Robotics Software Architectures with Exchangeable Model Transformations. In International Conference on Robotic Computing (IRC’17), pages 172–179. IEEE, April 2017.
Luigi Atzori, Antonio Iera, and Giacomo Morabito. The Internet of Things: A survey. Computer Networks, 54:2787–2805, 2010.
C. Atkinson and T. Kuhne. Model-Driven Development: A Metamodeling Foundation. IEEE Software, 20:36–41, 2003.
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers, 2012.
Betty H. C. Cheng, Benoit Combemale, Robert B. France, Jean-Marc Jézéquel, and Bernhard Rumpe. On the Globalization of Domain Specific Languages. In Globalizing Domain-Specific Languages, LNCS 9400, pages 1–6. Springer, 2015.
Stephane Ducasse and Damien Pollet. Software Architecture Reconstruction: A Process-Oriented Taxonomy. IEEE Transactions on Software Engineering, 35:573–591, 2009.
C. Ebert and J. Favaro. Automotive Software. IEEE Software, 34:33–39, 2017.
Robert France and Bernhard Rumpe. Model-driven Development of Complex Software: A Research Roadmap. Future of Software Engineering (FOSE ’07), pages 37–54, May 2007.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
Timo Greifenberg, Steffen Hillemacher, and Bernhard Rumpe. Towards a Sustainable Artifact Model: Artifacts in Generator-Based Model-Driven Projects. Aachener Informatik-Berichte, Software Engineering, Band 30. Shaker Verlag, December 2017.
Joshua Garcia, Igor Ivkovic, and Nenad Medvidovic. A Comparative Analysis of Software Architecture Recovery Techniques. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, pages 486–496. IEEE Press, 2013.
Hans Grönniger, Holger Krahn, Bernhard Rumpe, Martin Schindler, and Steven Völkel. MontiCore 1.0 - Ein Framework zur Erstellung und Verarbeitung domänspezifischer Sprachen. Informatik-Bericht 2006-04, CFG-Fakultät, TU Braunschweig, August 2006.
Hans Grönniger, Holger Krahn, Bernhard Rumpe, Martin Schindler, and Steven Völkel. MontiCore: A Framework for the Development of Textual Domain Specific Languages. In 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May 10–18, 2008, Companion Volume, pages 925–926, 2008.
Timo Greifenberg, Klaus Müller, and Bernhard Rumpe. Architectural Consistency Checking in Plugin-Based Software Systems. In European Conference on Software Architecture Workshops (ECSAW’15), pages 58:1–58:7. ACM, 2015.
Timo Greifenberg. Artefaktbasierte Analyse modellgetriebener Softwareentwicklungsprojekte. Aachener Informatik-Berichte, Software Engineering, Band 42. Shaker Verlag, August 2019.
Katrin Hölldobler. MontiTrans: Agile, modellgetriebene Entwicklung von und mit domänenspezifischen, kompositionalen Transformationssprachen. Aachener Informatik-Berichte, Software Engineering, Band 36. Shaker Verlag, December 2018.
Katrin Hölldobler and Bernhard Rumpe. MontiCore 5 Language Workbench Edition 2017. Aachener Informatik-Berichte, Software Engineering, Band 32. Shaker Verlag, December 2017.
Katrin Hölldobler, Bernhard Rumpe, and Ingo Weisemöller. Systematically Deriving Domain-Specific Transformation Languages. In Conference on Model Driven Engineering Languages and Systems (MODELS’15), pages 136–145. ACM/IEEE, 2015.
Thomas Haitzer and Uwe Zdun. DSL-based Support for Semi-automated Architectural Component Model Abstraction Throughout the Software Lifecycle. In Proceedings of the 8th International ACM SIGSOFT Conference on Quality of Software Architectures, QoSA ’12. ACM, 2012.
Daniel Jackson. Software Abstractions: Logic, Language, and Analysis. MIT press, 2011.
Evgeny Kusmenko, Sebastian Nickels, Svetlana Pavlitskaya, Bernhard Rumpe, and Thomas Timmermanns. Modeling and Training of Neural Processing Systems. In Marouane Kessentini, Tao Yue, Alexander Pretschner, Sebastian Voss, and Loli Burgueño, editors, Conference on Model Driven Engineering Languages and Systems (MODELS’19), pages 283–293. IEEE, September 2019.
Holger Krahn. MontiCore: Agile Entwicklung von domänenspezifischen Sprachen im Software-Engineering. Aachener Informatik-Berichte, Software Engineering, Band 1. Shaker Verlag, März 2010.
Helmut Krcmar, Ralf Reussner, and Bernhard Rumpe. Trusted Cloud Computing. Springer, Schweiz, December 2014.
Evgeny Kusmenko, Alexander Roth, Bernhard Rumpe, and Michael von Wenckstern. Modeling Architectures of Cyber-Physical Systems. In European Conference on Modelling Foundations and Applications (ECMFA’17), LNCS 10376, pages 34–50. Springer, July 2017.
Evgeny Kusmenko, Bernhard Rumpe, Sascha Schneiders, and Michael von Wenckstern. Highly-Optimizing and Multi-Target Compiler for Embedded System Models: C++ Compiler Toolchain for the Component and Connector Language EmbeddedMontiArc. In Conference on Model Driven Engineering Languages and Systems (MODELS’18), pages 447–457. ACM, October 2018.
Holger Krahn, Bernhard Rumpe, and Steven Völkel. Monticore: Modular Development of Textual Domain Specific Languages. In Conference on Objects, Models, Components, Patterns (TOOLS-Europe’08), LNBIP 11, pages 297–315. Springer, 2008.
Holger Krahn, Bernhard Rumpe, and Stefen Völkel. MontiCore: a Framework for Compositional Development of Domain Specific Languages. International Journal on Software Tools for Technology Transfer (STTT), 12(5):353–372, September 2010.
Edward A. Lee. Cyber Physical Systems: Design Challenges. In 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), pages 363–369, 2008.
Carola Lilienthal. Langlebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen. dpunkt, 2016.
Markus Müller, Klaus Hörmann, Lars Dittmann, and Jörg Zimmer. Automotive SPICE in der Praxis: Interpretationshilfe für Anwender und Assessoren. dpunkt.verlag, 2 edition, 2016.
G. C. Murphy, D. Notkin, and K. J. Sullivan. Software Reflexion Models: Bridging the Gap between Design and Implementation. IEEE Transactions on Software Engineering, 27:364–380, 2001.
Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. An Operational Semantics for Activity Diagrams using SMV. Technical Report AIB-2011-07, RWTH Aachen University, Aachen, Germany, July 2011.
Antonio Navarro Pérez and Bernhard Rumpe. Modeling Cloud Architectures as Interactive Systems. In Model-Driven Engineering for High Performance and Cloud Computing Workshop, volume 1118 of CEUR Workshop Proceedings, pages 15–24, 2013.
Object Management Group. Object Constraint Language (OCL, 2014. http://www.omg.org/spec/OCL/2.4.
Object Management Group. Unified Modeling Language (UML), 2015. http://www.omg.org/spec/UML/.
Object Management Group. OMG Systems Modeling Language (OMG SysML), 2017. http://www.omg.org/spec/SysML/1.5/.
L. Pruijt, C. Köppe, and S. Brinkkemper. Architecture Compliance Checking of Semantically Rich Modular Architectures: A Comparative Study of Tool Support. In 2013 IEEE International Conference on Software Maintenance, 2013.
M. C. Platenius, M. von Detten, and S. Becker. Archimetrix: Improved Software Architecture Recovery in the Presence of Design Deficiencies. In 2012 16th European Conference on Software Maintenance and Reengineering, pages 255–264, 2012.
Alexander Roth. Adaptable Code Generation of Consistent and Customizable Data Centric Applications with MontiDex. Aachener Informatik-Berichte, Software Engineering, Band 31. Shaker Verlag, December 2017.
Bernhard Rumpe, Christoph Schulze, Michael von Wenckstern, Jan Oliver Ringert, and Peter Manhart. Behavioral Compatibility of Simulink Models for Product Line Maintenance and Evolution. In Software Product Line Conference (SPLC’15), pages 141–150. ACM, 2015.
Bernhard Rumpe. Modeling with UML: Language, Concepts, Methods. Springer International, July 2016.
Bernhard Rumpe. Agile Modeling with UML: Code Generation, Testing, Refactoring. Springer International, May 2017.
Martin Schindler. Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML/P. Aachener Informatik-Berichte, Software Engineering, Band 11. Shaker Verlag, 2012.
Mohlalefi Sefika, Aamod Sane, and Roy H. Campbell. Monitoring Compliance of a Software System with Its High-level Design Models. In Proceedings of the 18th International Conference on Software Engineering, ICSE ’96, pages 387–396. IEEE Computer Society, 1996.
R. N. Taylor, N. Medvidovic, and E. M. Dashofy. Software Architecture: Foundations, Theory, and Practice. Wiley, 2009.
Markus von Detten and Steffen Becker. Combining Clustering and Pattern Detection for the Reengineering of Component-based Software Systems. In Proceedings of the Joint ACM SIGSOFT Conference – QoSA and ACM SIGSOFT Symposium – ISARCS on Quality of Software Architectures – QoSA and Architecting Critical Systems – ISARCS, QoSA-ISARCS ’11, pages 23–32. ACM, 2011.
Steven Völkel. Kompositionale Entwicklung domänenspezifischer Sprachen. Aachener Informatik-Berichte, Software Engineering, Band 9. Shaker Verlag, 2011.
Ingo Weisemöller. Generierung domänenspezifischer Transformationssprachen. Aachener Informatik-Berichte, Software Engineering, Band 12. Shaker Verlag, 2012.
J. Whittle, J. Hutchinson, and M. Rouncefield. The state of practice in model-driven engineering. IEEE Software, 31(3):79–85, 2014.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2020 The Author(s)
About this chapter
Cite this chapter
Greifenberg, T., Hillemacher, S., Hölldobler, K. (2020). Applied Artifact-Based Analysis for Architecture Consistency Checking. In: Felderer, M., et al. Ernst Denert Award for Software Engineering 2019. Springer, Cham. https://doi.org/10.1007/978-3-030-58617-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-58617-1_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58616-4
Online ISBN: 978-3-030-58617-1
eBook Packages: Computer ScienceComputer Science (R0)