Abstract
The need for real-time collaborative solutions in model-driven engineering has been increasing over the past years. Conflict-free replicated data types (CRDT) provide scalable and robust replication mechanisms that align well with the requirements of real-time collaborative environments. In this paper, we propose a real-time collaborative multi-level modeling framework to support advanced modeling scenarios, built on a collection of custom CRDT, specifically tailored for the needs of modeling environments. We demonstrate the benefits of the framework through an illustrative modeling case and compare it with other state-of-the-art modeling frameworks.
Similar content being viewed by others
Notes
We remark, that multi-level modeling approaches traditionally rely on the orthogonal linguistic and ontological dimensions, and do not consider the physical dimension. In this paper, we only consider the linguistic and physical dimensions to allow an easier discussion. Our approach can be safely extended with ontological aspects, similarly to the work of [61].
The full example is available at https://github.com/geodes-sms/lowkey.
References
Álvarez, J.M., Evans, A., Sammut, P.: Mapping between levels in the metamodel architecture. In: «UML» 2001—The Unified Modeling Language, Modeling Languages, Concepts, and Tools, 4th International Conference, Toronto, Canada, October 1–5, 2001, Proceedings, Springer, LNCS, vol. 2185, pp. 34–46 (2001)
Atkinson, C., Gerbig, R.: Flexible deep modeling with Melanee. In: Modellierung, GI, LNI, vol. 255, pp. 117–122 (2016)
Atkinson, C., Kühne, T.: Meta-level independent modelling. In: European Conference on Object-Oriented Programming, vol. 12, p. 16 (2000)
Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: The Unified Modeling Language, Modeling Languages, Concepts, and Tools, LNCS, vol. 2185, pp. 19–33. Springer, Berlin (2001)
Atkinson, C., Kühne, T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2002)
Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–359 (2008)
Atkinson, C., Gutheil, M., Kennel, B.: A flexible infrastructure for multilevel language engineering. IEEE Trans. Softw. Eng. 35(6), 742–755 (2009)
Bauwens, J., Boix, E.G.: Memory efficient CRDTs in dynamic environments. In: International Workshop on Virtual Machines and Intermediate Languages, pp. 48–57. ACM (2019)
Boronat, A., Knapp, A., Meseguer, J., Wirsing, M.: What is a multi-modeling language? In: Recent Trends in Algebraic Development Techniques, 19th International Workshop, LNCS, vol. 5486, pp. 71–87. Springer, Berlin (2008)
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice, Second Edition. Morgan & Claypool Publishers(2017)
Brasileiro, F., Almeida, J.P.A., de Carvalho, V.A., Guizzardi, G.: Applying a multi-level modeling theory to assess taxonomic hierarchies in wikidata. In: Bourdeau, J., Hendler, J., Nkambou, R., Horrocks, I., Zhao, B.Y. (eds.) Proceedings of the 25th International Conference on World Wide Web, WWW 2016, Montreal, Canada, 2016, Companion Volume, ACM, pp. 975–980 (2016)
Brewer, E.: CAP twelve years later: How the “rules’’ have changed. Computer 45(2), 23–29 (2012)
Buzan, T.: The ultimate book of mind maps: unlock your creativity, boost your memory, change your life. HarperCollins UK (2006)
Corley, J., Syriani, E., Ergin, H., Van Mierlo, S.: Modern Software Engineering Methodologies for Mobile and Cloud Environments, IGI Global, chap Cloud-based Multi-View Modeling Environments, vol. 7, pp. 120–139 (2016)
Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge (2002)
David, I., Ráth, I., Varró, D.: Foundations for streaming model transformations by complex event processing. Softw. Syst. Model. 17(1), 135–162 (2018)
David, I., Aslam, K., Faridmoayer, S., Malavolta, I., Syriani, E., Lago, P.: Collaborative model-driven software engineering: a systematic update. In: Model Driven Engineering Languages and Systems, pp. 273–284. ACM (2021)
David, I., Latifaj, M., Pietron, J., Zhang, W., Ciccozzi, F., Malavolta, I., Raschke, A., Steghöfer, J.P., Hebig, R.: Blended modeling in commercial and open-source model-driven software engineering tools: a systematic study. Softw. Syst. Model. To appear (2022a)
David, I., Syriani, E., Masson, C.: Extensible conflict-free replicated datatypes for real-time collaborative software engineering. In: Proceedings of the 17th Conference on Computer Science and Intelligence Systems (FedCSIS), IEEE, Sofia, Bulgaria (2022b)
de Lara, J., Guerra, E.: Deep Meta-modelling with MetaDepth. In: Objects, Models, Components, Patterns, LNCS, vol. 6141, pp. 1–20. Springer, Berlin (2010)
de Lara, J., Guerra, E.: Refactoring multi-level models. ACM Trans. Softw. Eng. Methodol. 27(4), 17:1-17:56 (2018)
de Lara, J., Guerra, E., Cuadrado, J.S.: When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. 24(2), 12:1-12:46 (2014)
De Porre, K., Myter, F., Troyer, C.D., Scholliers, C., Meuter, W.D., Boix, E.G.: Putting order in strong eventual consistency. In: International Federated Conference on Distributed Computing Techniques. Lecture Notes in Computer Science, pp. 36–56. Springer, Berlin (2019)
Debreceni, C., Bergmann, G., Búr, M., Ráth, I., Varró, D.: The MONDO collaboration framework: secure collaborative modeling over existing version control systems. In: Foundations of Software Engineering, pp. 984–988. ACM (2017)
Derntl, M., Nicolaescu, P., Erdtmann, S., Klamma, R., Jarke, M.: Near real-time collaborative conceptual modeling on the web. IN: Conceptual Modeling, LNCS, vol. 9381, pp. 344–357. Springer, Berlin (2015)
Du, J., Iorgulescu, C., Roy, A., Zwaenepoel, W.: GentleRain: cheap and scalable causal consistency with physical clocks. In: Symposium on Cloud Computing, pp. 4:1–4:13. ACM (2014)
Fowler, M., Scott, K.: UML distilled—A Brief Guide to the Standard Object Modeling Language, 2nd edn. Addison-Wesley-Longman (2000)
Franzago, M., Ruscio, D.D., Malavolta, I., Muccini, H.: Collaborative model-driven software engineering: a classification framework and a research map. IEEE Trans. Softw. Eng. 44(12), 1146–1175 (2018)
Gallardo, J., Bravo, C., Redondo, M.A.: A model-driven development method for collaborative modeling tools. J. Netw. Comput. Appl. 35(3), 1086–1105 (2012)
Gonzalez-Perez, C., Henderson-Sellers, B.: Metamodelling for Software Engineering. Wiley, London (2008)
Grosch, P., Krafft, R., Wölki, M., Bieniusa, A.: Autocouch: a JSON CRDT framework. In: Workshop on Principles and Practice of Consistency for Distributed Data, pp. 6:1–6:7. ACM (2020)
Herbsleb, J.D.: Global software engineering: the future of socio-technical coordination. In: International Conference on Software Engineering, pp. 188–198. IEEE (2007)
Izquierdo, J.L.C., Cabot, J.: Collaboro: a collaborative (meta) modeling tool. PeerJ Comput. Sci. 2, e84 (2016)
Johnson, P.R., Thomas, R.: Maintenance of duplicate databases. RFC 677, 1–10 (1975)
Kelly, S.: Collaborative modelling with version control. In: Software Technologies: Applications and Foundations. LNCS, pp. 20–29. Springer, Berlin (2017)
Kühne, T.: Multi-dimensional multi-level modeling. Softw. Syst. Model. 21(2), 543–559 (2022)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Le Noir, J., Delande, O., Exertier, D., da Silva, M.A.A., Blanc, X.: Operation based model representation: experiences on inconsistency detection. In: Modelling Foundations and Applications—7th European Conference, LNCS, vol. 6698, pp. 85–96. Springer, Berlin (2011)
Maróti, M., Kecskés, T., Kereskényi, R., Broll, B., Völgyesi, P., Jurácz, L., Levendovszky, T., Lédeczi, Á.: Next generation (meta)modeling: web- and cloud-based collaborative tool infrastructure. In: Multi-Paradigm Modeling, CEUR-WS, pp. 41–60 (2014)
Meiklejohn, C., Van Roy, P.: Lasp: a language for distributed, coordination-free programming. In: Principles and Practice of Declarative Prog., pp. 184–195. ACM (2015)
Michaux, J., Blanc, X., Shapiro, M., Sutra, P.: A semantically rich approach for collaborative model edition. In: Proceedings of the 2011 ACM Symposium on Applied Computing (SAC), pp. 1470–1475. ACM (2011)
Mistrík, I., Grundy, J., van der Hoek, A., Whitehead, J.: Collaborative software engineering: challenges and prospects. In: Collaborative Software Engineering, pp. 389–403. Springer, Berlin (2010)
Mosterman, P.J., Vangheluwe, H.: Computer automated multi-paradigm modeling: an introduction. Simulation 80(9), 433–450 (2004)
Muccini, H., Bosch, J., van der Hoek, A.: Collaborative modeling in software engineering. IEEE Softw. 35(6), 20–24 (2018)
Preguiça, N.M., Marquès, J.M., Shapiro, M., Letia, M.: A commutative replicated data type for cooperative editing. In: International Conference on Distributed Computing Systems, pp. 395–403. IEEE (2009)
Reineke, J., Tripakis, S.: Basic problems in multi-view modeling. In: Tools and Algorithms for the Construction and Analysis of Systems. LNCS, pp. 217–232. Springer, Berlin (2014)
Roh, H., Jeon, M., Kim, J., Lee, J.: Replicated abstract data types: building blocks for collaborative applications. J. Parallel Distrib. Comput. 71(3), 354–368 (2011)
Saini, R., Mussbacher, G.: Towards conflict-free collaborative modelling using VS code extensions. In: Model-Driven Engineering Languages and Systems: Companion Proceedings, pp. 35–44 . ACM (2021)
Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)
Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)
Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: A comprehensive study of convergent and commutative replicated data types. Tech. rep., Inria–Centre Paris-Rocquencourt; INRIA(2011a)
Shapiro, M., Preguiça, N.M., Baquero, C., Zawirski, M.: Conflict-free replicated data types. In: Stabilization, Safety, and Security of Distributed Systems—13th Int. Symposium, Lecture Notes in Computer Science, vol. 6976, pp. 386–400. Springer, Berlin (2011b)
Singhal, M., Kshemkalyani, A.D.: An efficient implementation of vector clocks. Inf. Process. Lett. 43(1), 47–52 (1992)
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education (2008)
Sun, C., Jia, X., Zhang, Y., Yang, Y., Chen, D.: Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Trans. Comput. Hum. Interact. 5(1), 63–108 (1998)
Sun, D., Sun, C.: Operation context and context-based operational transformation. In: Conference on Computer Supported Cooperative Work, pp. 279–288. ACM (2006)
Sun, D., Sun, C., Ng, A., Cai, W.: Real differences between OT and CRDT in correctness and complexity for consistency maintenance in co-editors. Proc. ACM Hum. Comput. Interact. 4 (2020)
Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Mierlo, SV., Ergin, H.: AToMPM: a web-based Modeling Environment. In: Model-Driven Engineering Languages and Systems, vol. 1115, pp. 21–25. CEUR-WS.org (2013)
Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: Conflict detection for model versioning based on graph modifications. In: Graph Transformations—5th International Conference, ICGT, LNCS, vol. 6372, pp. 171–186. Springer, Berlin (2010)
Thomas, R.H.: A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst. (TODS) 4(2), 180–209 (1979)
Van Mierlo, S., Barroca, B., Vangheluwe, H., Syriani, E., Kühne, T.: Multi-level modelling in the modelverse. In: Workshop on Multi-Level Modelling, CEUR-WS, pp. 83–92 (2014)
Van Tendeloo, Y., Vangheluwe, H.: The modelverse: a tool for multi-paradigm modelling and simulation. In: Winter Simulation Conference, pp. 944–955. IEEE (2017)
Van Tendeloo, Y., Vangheluwe, H.: Unifying model- and screen sharing. In: Enabling Technologies: Infrastructure for Collaborative Enterprises, pp. 127–132. IEEE (2018)
Vanherpen, K., Denil, J., David, I., Meulenaere, P.D., Mosterman, P.J., Törngren, M., Qamar, A., Vangheluwe, H.: Ontological reasoning for consistency in the design of cyber-physical systems. In: Int. Workshop on Cyber-Physical Production Systems, pp. 1–8. IEEE (2016)
Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)
Whitehead, J.: Collaboration in software engineering: a roadmap. In: International Conference on Software Engineering, pp. 214–225. IEEE (2007)
Wüest, D., Seyff, N., Glinz, M.: FlexiSketch: a mobile sketching tool for software modeling. In: Mobile Computing, Applications, and Services, Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol. 110, pp. 225–244. Springer, Berlin (2012)
Acknowledgements
The authors would like to express their gratitude for the insightful comments of the reviewers that helped improve the initial manuscript.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Colin Atkinson.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
David, I., Syriani, E. Real-time collaborative multi-level modeling by conflict-free replicated data types. Softw Syst Model 22, 1131–1150 (2023). https://doi.org/10.1007/s10270-022-01054-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-022-01054-5