Abstract
In the field of Model-Driven Engineering, Triple Graph Grammars (TGGs) play an important role as a rule-based means of implementing consistency management. From a declarative specification of a consistency relation, several operations including forward and backward transformations, (concurrent) synchronisation, and consistency checks can be automatically derived. For TGGs to be applicable in realistic application scenarios, expressiveness in terms of supported language features is very important. A TGG tool is schema compliant if it can take domain constraints, such as multiplicity constraints in a meta-model, into account when performing consistency management tasks. To guarantee schema compliance, most TGG tools allow application conditions to be attached as necessary to relevant rules. This strategy is problematic for at least two reasons: First, ensuring compliance to a sufficiently expressive schema for all previously mentioned derived operations is still an open challenge; to the best of our knowledge, all existing TGG tools only support a very restricted subset of application conditions. Second, it is conceptually demanding for the user to indirectly specify domain constraints as application conditions, especially because this has to be completely revisited every time the TGG or domain constraint is changed. While domain constraints can in theory be automatically transformed to obtain the required set of application conditions, this has only been successfully transferred to TGGs for a very limited subset of domain constraints. To address these limitations, this paper proposes a search-based strategy for achieving schema compliance. We show that all correctness and completeness properties, previously proven in a setting without domain constraints, still hold when schema compliance is to be additionally guaranteed. An implementation and experimental evaluation are provided to support our claim of practical applicability.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Anjorin A, Schürr A, Taentzer G (2012a) Construction of integrity preserving triple graph grammars. In: Ehrig H, Engels G, Kreowski H-J, Rozenberg G (eds) ICGT 2012. Springer, Berlin.
Anjorin A, Varró G, Schürr A (2012b) Complex attribute manipulation in tggs with constraint-based programming techniques. Electron Commun Eur Assoc Softw Sci Technol 49
Anjorin A, Saller K, Lochau M, Schürr A (2014) Modularizing triple graph grammars using rule refinement. In: Gnesi S, Rensink A (eds) FASE 2014. Springer, Berlin.
Anjorin A, Leblebici E, Schürr A (2015) 20 years of triple graph grammars: a roadmap for future research. ECEASST, 73:1–20.
Anjorin A, Yigitbas E, Leblebici E, Schürr A, Lauder M, Witte M (2018) Description languages for consistency management scenarios based on examples from the industry automation domain. Art Sci Eng Program 2(3):7.
Anjorin A, Buchmann T, Westfechtel B, Diskin Z, Ko H-S, Eramo R, Hinkel G, Samimi-Dehkordi L, Zündorf A (2019) Benchmarking bidirectional transformations: theory, implementation, application, and assessment. In: Software and systems modeling
Blouin D, Plantec A, Dissaux P, Singhoff F, Diguet J-P (2014) Synchronization of models of rich languages with triple graph grammars: an experience report. In: Di Ruscio D, Varró D (eds) Theory and practice of model transformations—7th international conference, ICMT@STAF 2014, York, UK, July 21–22, 2014. Proceedings, vol 8568. Springer, pp 106–121
Babikian AA, Semeráth O, Varró D (2020) Automated generation of consistent graph models with first-order logic theorem provers. In: Wehrheim H, Cabot J (eds) Fundamental approaches to software engineering—23rd international conference, FASE 2020, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25–30, 2020, Proceedings, volume 12076 of Lecture Notes in Computer Science. Springer, pp 441–461
Cabot J, Clarisó R, Guerra E, de Lara J (2010) Verification and validation of declarative model-to-model transformations through invariants. J Syst Softw 83(2), 283–302.
Cuadrado JS, Guerra E, de Lara J, Clarisó R, Cabot J (2017) Translating target to source constraints in model-to-model transformations. In: 20th ACM/IEEE international conference on Model Driven Engineering Languages and Systems, MODELS 2017, Austin, TX, USA, September 17–22, 2017. IEEE Computer Society, pp 12–22
Callow G, Kalawsky R (2013) A satisficing bi-directional model transformation engine using mixed integer linear programming. J Obj Technol 12(1):1:1–43
Denil J, Jukss M, Verbrugge C, Vangheluwe H (2014) Search-based model optimization using model transformations. In: Amyot D, Fonseca i Casas P, Mussbacher G (eds) SAM 2014. Springer, Cham
Ehrig H, Ehrig K, Prange U, Taentzer G (2006a) Fundamentals of algebraic graph transformation. Springer, Berlin.
Ehrig H, Ehrig K, Habel A, Pennemann K-H (2006b) Theory of constraints and application conditions: from graphs to high-level structures. Fundam Inform 74(1), 135–166.
Ehrig H, Ehrig K, Ermel C, Hermann F, Taentzer G (2007) Information preserving bidirectional model transformations. In: Dwyer MB, Lopes A (eds) FASE 2007. Springer.
Ehrig H, Hermann F, Sartorius C (2009) Completeness and correctness of model transformations based on triple graph grammars with negative application conditions. ECEASST 18
Eramo R, Pierantonio A, Tucci M (2018) Enhancing the JTL tool for bidirectional transformations. In: Marr S, Sartor JB (eds) Programming 2018, Nice, France, April 9–12, 2018. ACM.
Fleck M, Troya J, Wimmer M (2016) Search-based model transformations with MOMoT. In: Van Gorp P, Engels G (eds) ICMT 2016. Springer, Cham.
Golas U, Ehrig H, Hermann F(2011) Formal specification of model transformations by triple graph grammars with application conditions. ECEASST 39
Giese H, Hildebrandt S, Neumann S (2010) Model synchronization at work: keeping sysml and AUTOSAR models consistent. In: Engels G, Lewerentz C, Schäfer W, Schürr A, Westfechtel B (eds) Graph transformations and model-driven engineering—essays dedicated to Manfred Nagl on the occasion of his 65th birthday, vol 5765. Springer, pp 555–579
Giese H, Hildebrandt S, Lambers L (2014) Bridging the gap between formal semantics and implementation of triple graph grammars–ensuring conformance of relational model transformation specifications and implementations. Softw Syst Model 13(1), 273–299.
Hildebrandt S, Lambers L, Becker B, Giese H (2012) Integration of triple graph grammars and constraints. Electron Commun Eur Assoc Softw Sci Technol 54
Hildebrandt S, Lambers L, Giese H, Rieke J, Greenyer J, Schäfer W, Lauder M, Anjorin A, Schürr A (2013) A survey of triple graph grammar tools. Electron Commun Eur Assoc Softw Sci Technol 57
Horn T (2017) Solving the TTC families to persons case with FunnyQT. In: García-Domínguez A, Hinkel G, Krikava F (eds) TTC 2017, vol 2026. CEUR-WS.org.
Habel A, Pennemann K-H (2009) Correctness of high-level transformation systems relative to nested conditions. Math Struct Comput Sci 19(2), 245–296.
Klar F, Lauder M, Königs A, Schürr A (2010) Extended triple graph grammars with efficient and compatible graph translators. Springer, Berlin, pp 141–174.
Kessentini M, Sahraoui H, Boukadoum M (2008) Model transformation as an optimization problem. In: Czarnecki K, Ober I, Bruel J-M, Uhl A, Völter M (eds) MoDELS 2008. Springer, Berlin.
Kosiol J, Strüber D, Taentzer G, Zschaler S (2020) Graph consistency as a graduated property—consistency-sustaining and -improving graph transformations. In: Gadducci F, Kehrer T (eds) Graph transformation—13th international conference, ICGT 2020, Bergen, Norway, June 25–26, 2020, Proceedings, vol 12150. Springer, pp 239–256
Leblebici E (2016) Towards a graph grammar-based approach to inter-model consistency checks with traceability support. In: Anjorin A, Gibbons J (eds) Bx 2016. CEUR-WS.org.
Leblebici E (2018) Inter-model consistency checking and restoration with triple graph grammars. Ph.D. thesis, Darmstadt University of Technology, Germany
Leblebici E, Anjorin A, Schürr A (2017a) Inter-model consistency checking using triple graph grammars and linear optimization techniques. In: Huisman M, Rubin J (eds) FASE 2017. Springer, Berlin.
Leblebici E, Anjorin A, Fritsche L, Varró G, Schürr A (2017) Leveraging incremental pattern matching techniques for model synchronisation. In: de Lara J, Plump D (eds) ICGT 2017, Marburg, Germany, July 18–19, 2017, Proceedings.
Macedo N, Cunha A (2013) Implementing QVT-R bidirectional model transformations using alloy. In: Cortellessa V, Varró D (eds) FASE 2013. Springer, Berlin.
Marussy K, Semeráth O, Babikian AA, Varró D (2020) A specification language for consistent model generation based on partial models. J Obj Technol 19(3):3:1–22
Nierstrasz O, Gray J, Oliveira BCdS (eds) SLE 2019, Athens, Greece, October 20–22, 2019, Proceedings. ACM
Semeráth O, Babikian AA, Li A, Marussy K, Varró D (2020) Automated generation of consistent models with structural and attribute constraints. In: Syriani E, Sahraoui HA, de Lara J, Abrahão S (eds) MoDELS '20: ACM/IEEE 23rd international conference on Model Driven Engineering Languages and Systems, Virtual Event, Canada, 18–23 October, 2020. ACM, pp 187–199
Schürr A (1994) Specification of graph translators with triple graph grammars. In: Mayr EW, Schmidt G, Tinhofer G (eds) Graph-theoretic concepts in computer science, 20th international workshop, WG '94, Herrsching, Germany, June 16–18, 1994, Proceedings, vol 903. Springer, pp 151–163
Semeráth O, Varró D (2017) Graph constraint evaluation over partial models by constraint rewriting. In: Guerra E, van den Brand M (eds) Theory and practice of model transformation—10th international conference, ICMT@STAF 2017, Marburg, Germany, July 17–18, 2017, Proceedings, vol 10374. Springer, pp 138–154
Syriani E, Vangheluwe H, Lashomb B (2015) T-Core: a framework for custom-built model transformation engines. Softw Syst Model 14(3), 1215–1243.
Weidmann N, Anjorin A (2020) Schema compliant consistency management via triple graph grammars and integer linear programming. In: Wehrheim H, Cabot J (eds) Fundamental approaches to software engineering—23rd international conference, FASE 2020, Dublin, Ireland, April 25–30, 2020, Proceedings, vol 12076. Springer, pp 315–334
Weidmann N, Oppermann R, Robrecht P (2019a) A feature-based classification of triple graph grammar variants. In: Nierstrasz et al. [NGdSO19], pp 1–14
Weidmann N, Anjorin A, Leblebici E, Schürr A (2019b) Consistency management via a combination of triple graph grammars and linear programming. In: Nierstrasz et al. [NGdSO19], pp 29–41
Weidmann N, Fritsche L, Anjorin A (2020) A search-based and fault-tolerant approach to concurrent model synchronisation. In: SLE 2020. Association for Computing Machinery, New York, pp 56–71.
Xiong Y, Hu Z, Zhao H, Song H, Takeichi M, Mei H (2009) Supporting automatic model inconsistency fixing. In: van Vliet H, Issarny V (eds) Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT international symposium on foundations of software engineering, 2009, Amsterdam, The Netherlands, August 24–28, 2009. ACM, pp 315–324
Funding
Open Access funding enabled and organized by Projekt DEAL.
Author information
Authors and Affiliations
Corresponding author
Additional information
Jordi Cabot, Heike Wehrheim and Eerke Boiten
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Weidmann, N., Anjorin, A. Schema Compliant Consistency Management via Triple Graph Grammars and Integer Linear Programming. Form Asp Comp 33, 1115–1145 (2021). https://doi.org/10.1007/s00165-021-00557-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-021-00557-0