RiSC

Aus SDQ-Wiki

Reference Architecture for Customized Quality Modeling and Analysis

Software is an essential part in the value chain of many companies. This affects not only the IT-industry itself, but nearly all German industries, as software is the main driver of many innovations. In 2014 the value created in German economy by software was similar to automotive industry. Mobility, energy, and infrastructure strongly depend on software which is not always of high quality. Critical performance or security issues for instance arise from bad software quality. During development and operations of a software system various concerns must be considered. Quality aspects are examples of concerns which may differ from one project to another. For instance, performance is highly relevant for a web shop whereas for a storage service security may be more relevant. Especially in the cloud context quality aspects like privacy can only be assessed reasonably during operations which, in contrast to aforementioned ones, makes development analysis widely unrewarding. Further, software interacts with other domains (e.g., in Industry 4.0) like business processes, mechanics or electronics where only a subset may be relevant for a certain software project. Currently, developers and operators must apply different analysis tools for each concern. Each tool requires specific input models of different languages. Hence, the input models are not integrated and require enormous manual effort for creation and maintenance. Quality goes beyond most architecture description languages (i.e., meta-models). The commonly agreed modeling language in software engineering UML does not consider quality aspects. Even its extension MARTE is restricted only to performance. Languages and tools that comprise all possible concerns would be very large, unhandy and hard to maintain. The proposed project targets more flexibility in Model-Driven Development (MDD) by using MDD adaptation capabilities to tailor modeling languages to specific concerns. The proposal addresses the concerns quality aspect, domain, and lifecycle phase. We aim for improving efficiency and scalability of modeling and analysis approaches by focusing the effort merely on the relevant concerns and enabling easy tool customization. Key scientific contribution will be a reference architecture for specification and analysis of various concerns. We will use an iterative, case study-driven approach to co-develop foundations and their application.

Reference Structure for Metamodels

In model-driven engineering (MDE), metamodels are used to define DSLs. The scope of MDE encompasses software and software architecture, but also goes into many related domains like embedded systems and electrical engineering. These languages are used for design, documentation, specification of quality properties, analysis and simulation. However, even such languages need to evolve and need to be extended, e.g., by further quality properties or structural features. Language evolution gets problematic, if the metamodel is not designed for extensibility. Often, such metamodels are intrusively extended and modified. If this is done repeatedly, the structure of the metamodel degrades over time. As an alternative, it is possible to use external extensions to implement new features. However, if the underlying metamodel is not intended for extension, external extensions can mostly be implemented in a suboptimal manner. Such extended meta-models are not conceptually sound, which impairs long-term maintainability. The last alternative is branching. Branching decouples the development of the side branch from the main branch. However, with each change that is not carried out in both branches, they get more and more incompatible. In contrast, a metamodel designed for extensibility has more potential to serve as a platform for now development and research.

Persons

Dr. Robert Heinrich
M.Sc. Sandro Koch
Dipl.-Inform. Misha Strittmatter

Publications

Robert Heinrich et al. "An Architectural Model-Based Approach to Quality-aware DevOps in Cloud Applications". In: Software Architecture for Big Data and the Cloud (2017)

Kiana Rostami et al. "Architecture-based Change Impact Analysis in Information Systems and Business Processes". In: 2017 IEEE International Conference on Software Architecture (ICSA2017). isbn: 978-1-5090-5729-0. doi: 10.1109/ICSA.2017.17. url: https://doi.org/10.1109/ICSA.2017.17

Georg Hinkel et al. "Refinements and Structural Decompositions in Generated Code". In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development.

Sandro Koch. Challenges in modularization of discrete event simulations. In Collaborative Workshop on Evolution and Maintenance of Long-Living Software Systems, 2018. CEUR-WS. 2018.

Sandro Koch. Towards semantic composition of event-based simulation. In 5th Design For Future Workshop, 2018. Softwaretechnik-Trends. 2018.

Robert Heinrich. Tailored quality modeling and analysis of software-intensive systems. In 30th International Conference on Software Engineering and Knowledge Engineering. 2018 (accepted for publication).

Robert Heinrich, Kiana Busch, and Sandro Koch. A methodology for domain-spanning change impact analysis. In 44th Euromicro Conference on Software Engineering and Advanced Applications. IEEE. 2018

Kiana Busch, Dominik Werle, Martin Löper, Robert Heinrich, and Ralf Reussner. A cross-disciplinary language for change propagation rules. In 14th IEEE International Conference on Automation Science and Engineering. IEEE. 2018 (accepted for publication).

Previous Project-related Publications

Robert Heinrich et al. “Integrating business process simulation and information system simulation for performance prediction”. In: Software & Systems Modeling 16.1 (2017), pp. 257–277.

Reiner Jung, Robert Heinrich, and Wilhelm Hasselbring. GECO: A generator composition approach for aspect-oriented dsls. In Theory and Practice of Model Transformations: 9th International Conference on Model Transformation, ICMT 2016, 2016, pages 141-156. Springer. 2016.

Reiner Jung et al. “A Method for Aspect-oriented Meta-Model Evolution”. In: Proceedings of the 2Nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling. VAO ’14. York, United Kingdom: ACM, July 2014, 19:19–19:22. isbn: 978-1-u4503-2900-2. doi: 10.1145/2631675.2631681

Misha Strittmatter and Robert Heinrich. “A Reference Structure for Metamodels of Quality-Aware Domain-Specifc Languages”. In: 13th Working IEEE/IFIP Conference on Software Architecture. Apr. 2016, pp. 268–269. doi: 10.1109/WICSA.2016.51 . url: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7516841

Misha Strittmatter and Robert Heinrich. “Challenges in the Evolution of Metamodels”. In: 3rd Collaborative Workshop on Evolution and Maintenance of Long-Living Software Systems. Vol. 36(1). Softwaretechnik-Trends. 2016, pp. 12–15.

Misha Strittmatter et al. “A Modular Reference Structure for Component-based Architecture Description Languages”. In: 2nd International Workshop on Model-Driven Engineering for Component-Based Systems (ModComp). CEUR, 2015, pp. 36–41. url: http://ceur-ws.org/Vol-1463/paper6.pdf

Misha Strittmatter et al. “Challenges in the Evolution of Metamodels: Smells and Anti-Patterns of a Historically-Grown Metamodel”. In: 10th International Workshop on Models and Evolution (ME). (Saint Malo, France). CEUR Vol-1706, Oct. 2016. url: http://ceur-ws.org/Vol-1706/

Misha Strittmatter et al. “Extensible Graphical Editors for Palladio”. In: Symposium on Software Performance (SSP). Nov. 2016