Abstract
In the context of software model-driven development, artifacts are specified by several models describing different aspects, e.g., different views, dynamic behavior, structure, distributed information, etc. Then, maintaining and repairing consistency of the whole specification are crucial issues if the models can be separately developed and updated. Model Synchronization is the process of restoring consistency after the update of one or several of the models. In the present work, we approach the case when conflicts may arise due to concurrently updating different models. Specifically, based on the Triple Graph Grammar approach, we propose an incremental algorithm \(\mathtt{CSynch}\) for solving conflicts and repairing consistency. In addition, we identify and formalize when a synchronizing solution can be considered adequate and show that our procedure \(\mathtt{CSynch}\) is sound and complete.
This work has been partially supported by funds from the Spanish Research Agency (AEI) and the European Union (FEDER funds) under grant GRAMM (ref. TIN2017-86727-C2-1-R and TIN2017-86727-C2-2-R).
Chapter PDF
Similar content being viewed by others
References
Anjorin, A., Varró, G., Schürr, A.: Complex Attribute Manipulation in TGGs with Constraint-Based Programming Techniques. ECEASST 49 (2012)
Dayal, U., Bernstein, P.A.: On the Correct Translation of Update Operations on Relational Views. ACM Trans. Database Syst. 7(3), 381–416 (1982)
Diskin, Z.: Model Synchronization: Mappings, Tiles, and Categories. In: Generative and Transformational Techniques in Software Engineering III, vol. 6491, pp. 92–165. Springer (2011)
Diskin, Z., König, H., Lawford, M.: Multiple Model Synchronization with Multiary Delta Lenses. In: Fundamental Approaches to Software Engineering, 21st International Conference, FASE 2018. Lecture Notes in Computer Science, vol. 10802, pp. 21–37. Springer (2018)
Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, F., Orejas, F.: From State- to Delta-Based Bidirectional Model Transformations: The Symmetric Case. In: Model Driven Engineering Languages and Systems, MODELS 2011. Lecture Notes in Computer Science, vol. 6981, pp. 304–318. Springer (2011)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS Monographs of Theoretical Comp. Sc., Springer (2006)
Ehrig, H., Ehrig, K., Hermann, F.: From Model Transformation to Model Integration based on the Algebraic Approach to Triple Graph Grammars. ECEASST 10 (2008)
Ehrig, H., Ermel, C., Taentzer, G.: A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications. In: FASE 2011. Lecture Notes in Computer Science, vol. 6603, pp. 202–216. Springer (2011)
Fagin, R., Kolaitis, P.G., Popa, L., Tan, W.C.: Quasi-inverses of schema mappings. ACM Trans. Database Syst. 33(2) (2008)
Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Software and System Modeling 8(1), 21–43 (2009)
Gottmann, S., Hermann, F., Nachtigall, N., Braatz, B., Ermel, C., Ehrig, H., Engel, T.: Correctness and Completeness of Generalised Concurrent Model Synchronisation Based on Triple Graph Grammars. In: AMT@MoDELS. Lecture Notes in Computer Science, vol. 1077. Springer (2013)
Greenyer, J., Pook, S., Rieke, J.: Preventing Information Loss in Incremental Model Synchronization by Reusing Elements. In: ECMFA 2011. Lecture Notes in Computer Science, vol. 6698, pp. 144–159. Springer (2011)
Hearnden, D., Lawley, M., Raymond, K.: Incremental Model Transformation for the Evolution of Model-Driven Systems. In: MoDELS 2006. Lecture Notes in Computer Science, vol. 4199, pp. 321–335. Springer (2006)
Hermann, F., Ehrig, H., Ermel, C., Orejas, F.: Concurrent Model Synchronization with Conflict Resolution Based on Triple Graph Grammars. In: FASE 2012. Lecture Notes in Computer Science, vol. 7212, pp. 178–193. Springer (2012)
Hermann, F., Ehrig, H., Golas, U., Orejas, F.: Formal Analysis of Model Transformations based on Triple Graph Grammars. Math. Struct. in Comp. Sc. 24 (2014)
Hermann, F., Ehrig, H., Orejas, F., Czarnecki, K., Diskin, Z., Xiong, Y.: Correctness of Model Synchronization Based on Triple Graph Grammars. In: MODELS 2011. Lecture Notes in Computer Science, vol. 6981, pp. 668–682. Springer (2011)
Hermann, F., Ehrig, H., Orejas, F., Golas, U.: Formal Analysis of Functional Behaviour for Model Transformations Based on Triple Graph Grammars. In: ICGT 2010. Lecture Notes in Computer Science, vol. 6372, pp. 155–170. Springer (2010)
Hofmann, M., Pierce, B.C., Wagner, D.: Symmetric lenses. In: POPL 2011. pp. 371–384. ACM (2011)
Hofmann, M., Pierce, B.C., Wagner, D.: Edit lenses. In: Field, J., Hicks, M. (eds.) POPL’12. pp. 495–508. ACM (2012)
Lack, S., Sobocinski, P.: Adhesive and quasiadhesive categories. Theor. Inf. App. 39, 511–545 (2005)
Lambers, L., Hildebrandt, S., Giese, H., Orejas, F.: Attribute Handling for Bidirectional Model Transformations: The Triple Graph Grammar Case. ECEASST 49 (2012)
Lauder, M., Anjorin, A., Varró, G., Schürr, A.: Efficient Model Synchronization with Precedence Triple Graph Grammars. In: ICGT 2012. Lecture Notes in Computer Science, vol. 7562, pp. 401–415. Springer (2012)
Macedo, N., Tiago, J., Cunha, A.: A Feature-Based Classification of Model Repair Approaches. IEEE Trans. Software Eng. 43(7), 615–640 (2017)
Orejas, F., Boronat, A., Ehrig, H., Hermann, F., Schölzel, H.: On Propagation-Based Concurrent Model Synchronization. In: BX 2013. Electronic Communications of the EASST, vol. 57, pp. 1–20. European Association of Software Science and Technology (2013)
Orejas, F., Pino, E.: Correctness of Incremental Model Synchronization with Triple Graph Grammars. In: ICMT 2014. Lecture Notes in Computer Science, vol. 8568, pp. 74–90. Springer (2014)
Pierce, B.C.: Harmony: The Art of Reconciliation. In: TGC 2005. Lecture Notes in Computer Science, vol. 3705, p. 1. Springer (2005)
Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: WG ’94. Lecture Notes in Computer Science, vol. 903, pp. 151–163. Springer (1994)
Schürr, A., Klar, F.: 15 Years of Triple Graph Grammars. In: ICGT 2008. pp. 411–425 (2008)
Stevens, P.: Towards an Algebraic Theory of Bidirectional Transformations. In: ICGT’08. Lecture Notes in Computer Science, vol. 5214, pp. 1–17. Springer (2008)
Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Software and System Modeling 9(1), 7–20 (2010)
Stevens, P.: Observations relating to the equivalences induced on model sets by bidirectional transformations. ECEASST 49 (2012)
Stevens, P.: Towards sound, optimal, and flexible building from megamodels. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018. pp. 301–311. ACM (2018)
Terwilliger, J.F., Cleve, A., Curino, C.: How Clean Is Your Sandbox? - Towards a Unified Theoretical Framework for Incremental Bidirectional Transformations. In: ICMT 2012. Lecture Notes in Computer Science, vol. 7307, pp. 1–23. Springer (2012)
Trollmann, F., Albayrak, S.: Extending Model to Model Transformation Results from Triple Graph Grammars to Multiple Models. In: ICMT 2015. Lecture Notes in Computer Science, vol. 9152, pp. 214–229. Springer (2015)
Trollmann, F., Albayrak, S.: Decision Points for Non-determinism in Concurrent Model Synchronization with Triple Graph Grammars. In: ICMT 2017. Lecture Notes in Computer Science, vol. 10374, pp. 35–50. Springer (2017)
Xiong, Y., Hu, Z., Zhao, H., Song, H., Takeichi, M., Mei, H.: Supporting automatic model inconsistency fixing. In: ESEC/FSE 2009. pp. 315–324 (2009)
Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting Parallel Updates with Bidirectional Model Transformations. In: ICMT 2009. Lecture Notes in Computer Science, vol. 5563, pp. 213–228. Springer (2009)
Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Synchronizing concurrent model updates based on bidirectional transformation. Software and System Modeling 12, 89–104 (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), 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 license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license 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.
Copyright information
© 2020 The Author(s)
About this paper
Cite this paper
Orejas, F., Pino, E., Navarro, M. (2020). Incremental Concurrent Model Synchronization using Triple Graph Grammars. In: Wehrheim, H., Cabot, J. (eds) Fundamental Approaches to Software Engineering. FASE 2020. Lecture Notes in Computer Science(), vol 12076. Springer, Cham. https://doi.org/10.1007/978-3-030-45234-6_14
Download citation
DOI: https://doi.org/10.1007/978-3-030-45234-6_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-45233-9
Online ISBN: 978-3-030-45234-6
eBook Packages: Computer ScienceComputer Science (R0)