Triple Graph Grammars (TGG) 3.0: Reliable and Scalable Model Integration
Supported by Deutsche Forschungsgemeinschaft (since 2022)
Model-Based Engineering (MBE) is an established approach to cope with the increasing complexity of engineering products. MBE focusses on suitable models, providing technology for creating and transforming such models [dS15]. As engineering projects tend to become more and more complex, with development teams working more often in distributed settings, support for collaborative modeling processes becomes increasingly important. Different models used to abstract from related but distinct aspects of the system under development are typically manipulated concurrently by multiple collaborating stakeholders. These stakeholders have the choice between quite a number of competing MBE methodologies. Estefan [Est08] presented a comprehensive although slightly outdated survey of methodologies and tools used in industry. Meanwhile the interest in collaborative MBE has grown in both, academia and industry. Examples for related research projects are GenMyModel [Axe21] and UNICASE [Cha21]. See [FRMM18] for a comprehensive survey on collaborative MBE research challenges. Current methodologies and tools either allow for synchronous modeling activities only or provide a “team variant” that offers pessimistic locking on the level of model elements or support rather restricted facilities for concurrent modeling on just two models. For networks of models, there is currently no sophisticated support for concurrent modelling that automatically detects and eliminates conflicts between changes to multiple interrelated models. This is due to the fact that the development of concepts and tools for model synchronization is an extraordinarily expensive endeavour. This is especially true if the conceptual approach shall offer substantial guarantees for the correctness of model synchronization results and still scale for realistic input. Existing model synchronization approaches are valuable to support model synchronization scenarios on two inter-related models. But model synchronization approaches still have severe shortcomings in practice, as model integration on networks of models is often required and model inconsistencies cannot always be resolved immediately. To improve the former state-of-the-art, we have developed a new generation of model integration methods and tools that belong to the TGG (Triple Graph Grammar) branch of model synchronization approaches. But substantial limitations of their large-scale use in practice still remain. Especially the continuous integration of truly concurrent changes to models in a network while tolerating temporary model inconsistencies are still open challenges for TGGs as well as for model synchronization approaches in general.
To address these problems, we aim to develop a framework that provides a conceptual and technological basis for optimistic and flexible collaborative modeling activities in large projects across multiple engineering domains. In particular, this framework shall support the continuous integration of truly concurrent changes on model networks while tolerating temporary model inconsistencies. Model synchronization concepts and algorithms employed in this framework shall have a formal foundation such that their reliability can be shown. In essence, we aim to make TGGs fit for use on a larger scale, by developing a framework for reliable, continuous model integration (FRCMI)
The research shall be driven by the following objectives:
(O1) Concepts for model integration include basic and concurrent forms of model synchronization between models of a network. The main tasks of model integration are to detect conflicts between model changes and to restore model consistency. As model inter-relations are not always specifiable with TGG rules alone, TGG specifications should be extended with intermodel constraints.
(O2) Model integration shall be continuous which means that monitoring and detection of conflicts are performed steadily while resolution of conflicts and restoration of consistency are executed frequently but on demand. Intermediate inconsistencies should be tolerable and can be resolved gradually. For smooth behaviour even with large models, the runtime of working integration algorithms has to be bound polynomially by the size of model updates.
(O3) To avoid being discarded by the modelers, model integration must be reliable which means that the approach should provide substantial guarantees for correctness and completeness of model integrations and it should still scale for realistic input. This should be especially true for application domains such as automotive engineering where faulty modeling tools can ultimately lead to errors in safety-critical production code.
(O4) Since there are various application scenarios for model integration in various domains, such as automation engineering and automotive software development, which come with rather diverse requirements, a monolithic solution for model integration is not really appropriate. Instead, a framework for model integration is needed that supports flexible configuration and use of integration strategies (including third-party tools). Configuration of conflict resolution and consistency restoration should encompass strategies such as concurrent model updates, preferred propagation directions, and the “least surprise” principle to varying degrees.
Literature
- [Axe21] Axellience, "GenMyModel", 2021, available at https://www.genmymodel.com/.
- [Cha21] Chair for Applied Software Engineering, TU München, "UNICASE", 2021, available at https://ase.in.tum.de/lehrstuhl_1/home/87-uncategorised/600-unicase-what-is-unicase-detailed-description.
- [dS15] A. R. da Silva, "Model-driven engineering: A survey supported by the unified conceptual model", Comput Lang Syst Str 43 (2015), 139–155.
- [Est08] J. Estefan, "Survey of Candidate Model-Based Systems Engineering (MBSE) Methodologies", Tech. Report INCOSE-TD-2007-003-02, Int. Council on Systems Engineering (INCOSE), 2008.
- [FRMM18] M. Franzago, D. D. Ruscio, I. Malavolta, and H. Muccini, "Collaborative model-driven software engineering: A classification framework and a research map", IEEE Trans on Software Eng 44 (2018), no. 12, 1146–1175.