Search papers, labs, and topics across Lattice.
This paper extends the NeoJoin view definition language by equipping it with a formal semantics based on triple graph grammars (TGGs), addressing the need for both approachability and precision in view-based development. The authors introduce a novel skip semantics for TGG rules to enhance the translation of overlapping queries, thereby facilitating automated and incremental synchronization between models and views. This work not only solidifies the formal guarantees of the synchronization procedures but also serves as a case study on the expressivity and usability of TGGs in complex systems development.
Introducing skip semantics for TGG rules could revolutionize how overlapping queries are handled in view-based development, enhancing both usability and precision.
View-based development is an important technique to manage complexity and facilitate cooperation in the development of modern and complex systems of systems. This approach places high demands on view definition languages used in the development process. First, such a language needs to be approachable and extremely versatile so that developers from diverse backgrounds are able to use it and can define views for a diverse set of different tasks. Yet, the language also needs to have a precise and formal semantics so that it is possible to integrate the work performed on various views in a controlled manner to obtain a coherent overall system. In this paper, we continue previous work of equipping the NeoJoin view definition language with a formal semantics that is based on triple graph grammars (TGGs). This paves the way for obtaining automated and incremental synchronization procedures between models and views that come with high formal guarantees for their behavior. Simultaneously, our work serves as a further case study of the expressivity and usability of TGGs. We identify one gap, namely convenient support for the translation of overlapping queries from the view definition language, and tackle that gap by introducing a skip semantics for TGG rules, i.e., allowing to skip certain actions a rule prescribes, depending on the application context.