Measuring the Evolution of Meta-models, Models and Design Requirements to Facilitate Architectural Updates in Large Software Systems
Background: In order to reduce complexity of the system and its development cost, the architecture of large software systems is often developed following the MDE (Model-Driven Engineering) approach. Developing architectures according to MDE relies on three main artifacts in the development process: domain-specific meta-models, architectural models and system design requirements. The architecture of the system is defined in the architectural models which are developed using modeling tools. The syntax of the models is defined in domain-specific meta-models, while their semantics is usually provided in a form of system design requirements in the supporting specifications.
Objective: The main objective of this thesis is to develop methods and tools for managing architectural updates in the development of large software systems. Our goal is to automatically assess the impact of using new architectural features on the development projects (e.g., in terms of model complexity and required updates of the modeling tools) in order to assist system designers in planning their use in the models. The assessment is based on measuring the evolution of domain-specific meta-models, architectural models and system design requirements related to relevant architectural features.
Method: We performed a series of case studies focusing on the domain-specific meta-model, architectural models and system design requirements from the automotive domain. On the one hand, the case studies helped us to understand relevant industrial contexts for our research problems and develop our methods using constructive research methodology. On the other hand, the case studies helped us to empirically validate the results of our methods.
Results: We developed three new methods and software tools for automated impact assessment. The first method and the tool (QTool) show the complexity increase in the architectural models after adding a set of new features to the system. The second method (MeFIA) and the tool (ARCA) assess the impact of using these features in the system on the used modeling tools. Finally, the third method and the tool (SREA) identify a subset of design requirements that are affected by the use of the new features.
Conclusion: We showed in practice that our methods and tools enable faster use of new architectural features in the development projects. More concretely, we showed that quantitative analysis of evolution of domain-specific meta-models, architectural models and system design requirements related to new architectural features can be a valuable indicator of which features shall be used in the system and what is their impact on the development projects.