Multiple (more than 2) model synchronization is ubiquitous and important for MDE, but its theoretical underpinning gained much less attention than the binary case. Specifically, the latter was extensively studied by the bx community in the framework of algebraic models for update propagation called lenses. We make a step to restore the balance and propose a notion of multiary delta lens. Besides multiarity, our lenses feature reflective updates, when consistency restoration requires some amendment of the update that violated consistency, and a reasonable Put Put law that requires compatibility of update propagation with update composition for a precisely specified restricted class of composable update pairs. We emphasize the importance of various ways of lens composition for practical applications of the framework, and prove several composition results.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
Tax calculation will be finalised during checkout.
Bohannon A, Foster JN, Pierce BC, Pilkiewicz A, Schmitt A (2008) Boomerang: resourceful lenses for string data. In: Necula GC, Wadler P (eds) POPL, pp 407–419. ACM
Chechik, M., Nejati, S., Sabetzadeh, M.: A relationship-based approach to model integration. ISSE 8(1), 3–18 (2012). https://doi.org/10.1007/s11334-011-0155-2
Demuth A, Riedl-Ehrenleitner M, Nöhrer A, Hehenberger P, Zeman K, Egyed A (2015) Designspace: an infrastructure for multi-user/multi-tool engineering. In: Wainwright RL, Corchado JM, Bechini A, Hong J (eds) Proceedings of the 30th annual acm symposium on applied computing, Salamanca, Spain, April 13–17, 2015. pp 1486–1491, ACM, https://doi.org/10.1145/2695664.2695697
Diskin Z (2017) Compositionality of update propagation: Lax putput. In: Eramo R, Johnson M (eds) Proceedings of the 6th international workshop on bidirectional transformations co-located with the European joint conferences on theory and practice of software, BX@ETAPS 2017, Uppsala, Sweden, April 29, 2017. CEUR Workshop Proceedings, vol 1827, pp 74–89. CEUR-WS.org, http://ceur-ws.org/Vol-1827/paper12.pdf
Diskin, Z., Gholizadeh, H., Wider, A., Czarnecki, K.: A three-dimensional taxonomy for bidirectional model synchronization. J Syst Softw 111, 298–322 (2016). https://doi.org/10.1016/j.jss.2015.06.003
Diskin Z, König H, Lawford M (2018) Multiple model synchronization with multiary delta lenses. In: Russo A, Schürr A (eds) Fundamental approaches to software engineering, 2018. Lecture notes in computer science, vol 10802, pp 21–37. Springer, Berlin https://doi.org/10.1007/978-3-319-89363-1_2
Diskin Z, König H, Lawford M, Maibaum T (2017) Toward product lines of mathematical models for software model management. In: Seidl M, Zschaler S (eds) Software technologies: applications and foundations—STAF 2017 collocated workshops, Marburg, Germany, July 17-21, 2017, Revised Selected Papers. Lecture notes in computer science, vol 10748, pp 200–216. Springer, Berlin https://doi.org/10.1007/978-3-319-74730-9_19
Diskin Z, Xiong Y, Czarnecki K (2010) Specifying overlaps of heterogeneous models for global consistency checking. In: MoDELS workshops. LNCS, vol 6627, pp 165–179. Springer
Diskin, Z., Xiong, Y., Czarnecki, K.: From state- to delta-based bidirectional model transformations: the asymmetric case. J Object Technol 10(6), 1–25 (2011)
Diskin Z, Xiong Y, Czarnecki K, Ehrig H, Hermann F, Orejas F (2011) From state-to delta-based bidirectional model transformations: the symmetric case. In: MODELS, pp 304–318. Springer
Ehrig H, Ehrig K, Prange U, Taentzer G (2006) Fundamentals of algebraic graph tranformations. Springer, Berlin
Foster JN, Greenwald MB, Moore JT, Pierce BC, Schmitt A (2005) Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In: Palsberg J, Abadi M (eds) Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL 2005, Long Beach, California, USA, January 12–14, 2005. pp 233–246, ACM https://doi.org/10.1145/1040305.1040325
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans Program Lang Syst (TOPLAS) 29(3), 17 (2007)
Hermann F, Ehrig H, Ermel C, Orejas F (2012) Concurrent model synchronization with conflict resolution based on triple graph grammars. Fundam Approaches Softw Eng 178–193
Hermann F, Ehrig H, Orejas F, Czarnecki K, Diskin Z, Xiong Y (2011) Correctness of model synchronization based on triple graph grammars. In: MODELS, pp 668–682. Springer
Hofmann M, Pierce BC, Wagner D (2011) Symmetric lenses. In: Ball T, Sagiv M (eds) Proceedings of the 38th ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL 2011, Austin, TX, USA, January 26–28, 2011. pp 371–384, ACM, https://doi.org/10.1145/1926385.1926428
Hofmann M, Pierce BC, Wagner D (2012) Edit lenses. In: Field J, Hicks M (eds) Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on principles of programming languages, POPL 2012, Philadelphia, Pennsylvania, USA, January 22–28, 2012. pp 495–508, ACM, https://doi.org/10.1145/2103656.2103715
Johnson M, Rosebrugh RD (2012) Lens put-put laws: monotonic and mixed. ECEASST 49
Johnson M, Rosebrugh RD (2016) Unifying set-based, delta-based and edit-based lenses. In: Anjorin A, Gibbons J (eds) Proceedings of the 5th international workshop on bidirectional transformations, Bx 2016, co-located with the European joint conferences on theory and practice of software, ETAPS 2016, Eindhoven, The Netherlands, April 8, 2016. CEUR Workshop Proceedings, vol 1571, pp 1–13. CEUR-WS.org, http://ceur-ws.org/Vol-1571/paper_13.pdf
Johnson M, Rosebrugh RD (2017) Symmetric delta lenses and spans of asymmetric delta lenses. J Object Technol 16(1):2:1–32, https://doi.org/10.5381/jot.2017.16.1.a2
Johnson M, Rosebrugh RD (2018) Cospans and symmetric lenses. In: Conference companion of the 2nd international conference on art, science, and engineering of programming, Nice, France, April 09–12, 2018. pp 21–29 https://doi.org/10.1145/3191697.3191717
Johnson, M., Rosebrugh, R.D., Wood, R.J.: Lenses, fibrations and universal translations. Math Struct Comput Sci 22(1), 25–42 (2012). https://doi.org/10.1017/S0960129511000442
Knapp A, Mossakowski T (2016) Multi-view consistency in UML. CoRR, arXiv:1610.03960
König H, Diskin Z (2017) Efficient consistency checking of interrelated models. In: Proceedings on modelling foundations and applications—13th European conference, ECMFA 2017, held as part of STAF 2017, Marburg, Germany, July 19–20, 2017. pp 161–178 https://doi.org/10.1007/978-3-319-61482-3_10
Macedo N, Cunha A, Pacheco H (2014) Towards a framework for multidirectional model transformations. In: Proceedings of the workshops of the EDBT/ICDT 2014 joint conference (EDBT/ICDT 2014), Athens, Greece, March 28, 2014. pp 71–74, http://ceur-ws.org/Vol-1133/paper-11.pdf
Marussy K, Semeráth O, Varró D (2018) Incremental view model synchronization using partial models. In: Wasowski A, Paige RF, Haugen Ø (eds) Proceedings of the 21th ACM/IEEE international conference on model driven engineering languages and systems, MODELS 2018, Copenhagen, Denmark, October 14–19, 2018. pp 323–333, ACM https://doi.org/10.1145/3239372.3239412
Orejas F, Boronat A, Ehrig H, Hermann F, Schölzel H (2013) On propagation-based concurrent model synchronization. ECEASST 57, http://journal.ub.tu-berlin.de/eceasst/article/view/871
Rabbi F, Lamo Y, Yu IC, Kristensen LM (2015) A diagrammatic approach to model completion. In: Proceedings of the 4th workshop on the analysis of model transformations co-located with the 18th international conference on model driven engineering languages and systems (MODELS 2015), Ottawa, Canada, September 28, 2015, pp 56–65. http://ceur-ws.org/Vol-1500/paper7.pdf
Stevens, P.: Bidirectional model transformations in qvt: semantic issues and open questions. Softw Syst Model 9(1), 7–20 (2010)
Stevens P (2017) Bidirectional transformations in the large. In: 20th ACM/IEEE international conference on model driven engineering languages and systems, MODELS 2017, Austin, TX, USA, September 17–22, 2017. pp 1–11 https://doi.org/10.1109/MODELS.2017.8
Trollmann F, Albayrak S (2015) Extending model to model transformation results from triple graph grammars to multiple models. In: Proceedings on theory and practice of model transformations—8th international conference, ICMT 2015, held as part of STAF 2015, L'Aquila, Italy, July 20-21, 2015. pp 214–229 https://doi.org/10.1007/978-3-319-21155-8_16
Trollmann F, Albayrak S (2016) Extending model synchronization results from triple graph grammars to multiple models. In: Proceedings on theory and practice of model transformations—9th international conference, ICMT 2016, held as part of STAF 2016, Vienna, Austria, July 4–5, 2016. pp 91–106 https://doi.org/10.1007/978-3-319-42064-6_7
Trollmann F, Albayrak S (2017) Decision points for non-determinism in concurrent model synchronization with triple graph grammars. In: Proceedings on theory and practice of model transformation—10th international conference, ICMT 2017, held as part of STAF 2017, Marburg, Germany, July 17–18, 2017. pp 35–50 https://doi.org/10.1007/978-3-319-61473-1_3
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Alessandra Russo, Andy Schuerr, and Heike Wehrheim
About this article
Cite this article
Diskin, Z., König, H. & Lawford, M. Multiple model synchronization with multiary delta lenses with amendment and K-Putput. Form Asp Comp 31, 611–640 (2019). https://doi.org/10.1007/s00165-019-00493-0