A Graph-Grammar-Based Approach to Bidirectional Traceability of Related Models
The German Government's vision to revolutionize manufacturing engineering, namely Industrie 4.0, comprises computerization strategies for development processes. One of the goals in the midterm is the employment of model-based engineering concepts. Models describe the developed system from a certain perspective and enable virtual prototypes already in early phases of development. A crucial research challenge, arising from model-based engineering and again addressed by the Industrie 4.0 vision, is the automated consistency management and integration between related models that co-exist across different tools.
Surprisingly, the majority of engineering enterprises utilize manual methods to restore consistency of concurrently modified models, which is a time-consuming task and vulnerable to further changes in the process. Moreover, the amount of information to be kept consistent grows very fast with the size and complexity of the developed system. The problem is aggravated when different engineering domains such as electrical, mechanical, or software engineering are involved in the same development process and require their own domain knowledge to restore consistency. In this respect, automated consistency checks and restorations form a significant research challenge. In this project, we tackle this challenge in the context of Computer-aided Engineering (CAE).
CAE is used to simulate, validate, and optimize engineering models and, with its predictive capabilities, saves time and money compared to classical testing approaches with physical prototypes. In a typical CAE process, different models coexist (for example, geometric models and their respective simulation models), developed and maintained by individual experts in various formalisms and tools. Although these models represent the same system from different perspectives, their consistency is easily lost due to concurrent engineering activities. That is, CAE is subject to the consistency challenges as identified in the Industrie 4.0 vision while being a core element thereof.
From a formal point of view, a graph grammar-based approach is to be explored in this project to ensure bidirectional consistency of models in CAE processes. Formalizing the involved contents as attributed graphs, the most ubiquitous structure in engineering models, graph grammar rules provide a well-founded mechanism to describe consistency policies in a declarative manner and to realize them efficiently. Previous works by various research groups on graph grammars already provide a mature basis to create a related model from a given input model and, in the further process, propagate changes from one model to the other. Although this is useful to restore consistency in one direction in an interleaved evolution of models, support for consistency restoration between concurrently evolved models is not addressed so far. Consequently, consistency between pre-existing legacy models also remains an open issue. Moreover, related models are not always symmetrical and thus not entirely derivable from each other as they might contain data with no counterparts (e.g., simulation-specific data with no counterpart in physical models). Concurrent developments, therefore, are a necessity rather than a matter of choice in complex development processes.
The ultimate goal of the project is support for bidirectional consistency management of models, no matter whether they are developed concurrently or derived from each other. Technically, three categories of novel results are expected: (1) necessary language extensions to graph grammars to describe complex consistency relations of engineering models, (2) formally-founded means to handle the consistency of attributes beyond the structural consistency, and (3) consistency check and restoration procedures that scale for industrial-sized (and concurrently developed) models. All theoretical results will be used to provide tool support and evaluated in a CAE context.
Our research is supported mainly by the Siemens AG, which provides us any domain-specific knowledge and helps us to develop use cases that arise from typical engineering tasks. Our common goal is to identify strengths and potentials of our approach, as well as problems and restrictions.