Multi-amalgamated triple graph grammars: Formal foundation and application to visual language translation
Section snippets
Introduction and motivation
Visual languages (VLs) are ubiquitous in computer science. Their applications cover different development phases of software systems ranging from modeling to programming. The most common representatives from earlier research on VLs are visual programming languages such as visual database query languages (cf., e.g., [1], [2], [3], [4]) or data flow languages (cf. [5] for a survey). More recently, visual modeling languages such as the Unified Modeling Language (UML) [6] and its dialect Systems
Running example
Our running example is a bidirectional translation between class diagrams and a corresponding hyperlinked documentation (or a document-based report in general). The excerpt discussed in this paper is an extended version of the running examples in [31], [32] and focuses on hyperlinks in documents induced due to inheritance relations between classes. In contrast to [31], [32], we use UML 2.0 as a standardized class diagram metamodel, for which visual editors such as Papyrus1
Multi-amalgamated TGGs and their operationalization
This section presents multi-amalgamated TGGs informally using our running example. After reviewing plain TGGs (i.e., TGGs without any support for multi-amalgamation) and discussing their shortcomings with regard to our goals, we integrate multi-amalgamation into TGGs. To demonstrate how this can be applied to our running example, we build a specification that is able to create arbitrary many hyperlinks for direct and transitive inheritance relations (but for simplicity reasons still not for
Formalization of multi-amalgamated TGGs
In line with the informal introduction to multi-amalgamated TGGs and their operationalization in 3.1 Review of plain TGGs, 3.2 Multi-amalgamated TGGs, 3.3 Operationalizing multi-amalgamated TGGs, we provide in the following the respective formalization.
Increased expressiveness of TGGs with multi-amalgamation
In the following, we discuss why and to what extent multi-amalgamation increases the expressiveness of TGGs, i.e., enlarges the class of supported translation scenarios. First, we identify multi-amalgamation as a means for constraining the language of a TGG. This leads us to the conclusion that multi-amalgamation reduces the set of consistent triple graphs of a TGG without multi-amalgamation, yielding more elaborated consistency specifications. Second, we consider source and target model sizes
Tool support and practical evaluation
In the following, we discuss and evaluate our tool support for multi-amalgamated TGGs in eMoflon. Firstly, we give a brief introduction to how the semantics of multi-amalgamation is realized in eMoflon based on the formalization in Section 4. Secondly, we state our research questions addressing the applicability of multi-amalgamated TGGs (as implemented in eMoflon) with a strict focus on scalability. Thirdly, we introduce the set-up (involved translations, input models, and hardware resources)
Related work
In the following, we consider three groups of related work: (i) alternatives to multi-amalgamation, which could also have been used to extend TGGs, (ii) other bidirectional languages with support for universal quantifiers, and (iii) other TGG tools.
Alternatives to multi-amalgamation: Different extensions to graph transformation exist that address universal quantification in rule applications. In PROGRES [44], the so-called set nodes indicate that some vertices (nodes) in a rule pattern are to
Conclusion and future work
We presented multi-amalgamated TGGs and applied them in the context of VLs, for example to document generation from UML class diagrams. Integrating multi-amalgamation into TGGs allows for consistency rules that support one-to-many relations specified by universally quantified conditions on input models. Our main result shows how to derive forward (and analogously backward) translators that preserve the universal quantification of multi-amalgamation and thus are more expressive than translators
References (58)
- et al.
An expert visual query system
J. Vis. Lang. Comput.
(1991) - et al.
Visual query systems for databasesa survey
J. Vis. Lang. Comput.
(1997) Visual languages and computing surveydata flow visual programming languages
J. Vis. Lang. Comput.
(1992)Parsing visual languages with picture layout grammars
J. Vis. Lang. Comput.
(1991)- et al.
Defining and parsing visual languages with layered graph grammars
J. Vis. Lang. Comput.
(1997) - et al.
Enforced generative patterns for the specification of the syntax and semantics of visual languages
J. Vis. Lang. Comput.
(2008) - et al.
Amalgamation of graph transformations: a synchronization mechanism
J. Comput. Syst. Sci.
(1987) Pair grammars, graph languages and string-to-graph translations
J. Comput. Syst. Sci.
(1971)- C. Batini, T. Catarci, M.F. Costabile, S. Levialdi, Visual strategies for querying databases, in: IEEE Workshop on...
- et al.
A graph-based framework for multiparadigmatic visual access to databases
IEEE Trans. Knowl. Data Eng.
(1996)
Defining visual languages for interactive computing
IEEE Trans. Syst. Man Cybern. Part A
Modeling visual interactive systems through dynamic visual languages
IEEE Trans. Syst. Man Cybern. Part A
A Survey of visual language specification and recognition
Improving the graph grammar parser of Rekers and Schürr
IET Softw.
Correctly defined concrete syntax
Softw. Syst. Model.
Fundamentals of Algebraic Graph Transformation
Cited by (8)
Avoiding unnecessary information loss: correct and efficient model synchronization based on triple graph grammars
2021, International Journal on Software Tools for Technology TransferCoordinate graph grammar for the specification of spatial graphs
2021, Computer JournalC-lenses explained: Bx foundations for the rest of Us
2021, CEUR Workshop ProceedingsA feature-based classification of triple graph grammar variants
2019, SLE 2019 - Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2019Constructing constraint-preserving interaction schemes in adhesive categories
2019, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)