Skip to main content
Log in

Real-time collaborative multi-level modeling by conflict-free replicated data types

  • Regular Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. https://www.omg.org/mof/.

  2. https://github.com/geodes-sms/lowkey.

  3. https://github.com/yjs/yjs.

  4. https://github.com/atom/teletype-crdt.

  5. https://teletype.atom.io/.

  6. https://github.com/automerge/automerge.

  7. http://couchdb.apache.org/.

  8. https://zeromq.org/.

  9. 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].

  10. The full example is available at https://github.com/geodes-sms/lowkey.

  11. http://www.ntp.org/.

References

  1. Á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)

  2. Atkinson, C., Gerbig, R.: Flexible deep modeling with Melanee. In: Modellierung, GI, LNI, vol. 255, pp. 117–122 (2016)

  3. Atkinson, C., Kühne, T.: Meta-level independent modelling. In: European Conference on Object-Oriented Programming, vol. 12, p. 16 (2000)

  4. 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)

  5. Atkinson, C., Kühne, T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2002)

    Article  Google Scholar 

  6. Atkinson, C., Kühne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–359 (2008)

    Article  Google Scholar 

  7. Atkinson, C., Gutheil, M., Kennel, B.: A flexible infrastructure for multilevel language engineering. IEEE Trans. Softw. Eng. 35(6), 742–755 (2009)

    Article  Google Scholar 

  8. 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)

  9. 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)

  10. Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice, Second Edition. Morgan & Claypool Publishers(2017)

  11. 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)

  12. Brewer, E.: CAP twelve years later: How the “rules’’ have changed. Computer 45(2), 23–29 (2012)

    Article  Google Scholar 

  13. Buzan, T.: The ultimate book of mind maps: unlock your creativity, boost your memory, change your life. HarperCollins UK (2006)

  14. 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)

  15. Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge (2002)

    Book  MATH  Google Scholar 

  16. David, I., Ráth, I., Varró, D.: Foundations for streaming model transformations by complex event processing. Softw. Syst. Model. 17(1), 135–162 (2018)

    Article  Google Scholar 

  17. 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)

  18. 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)

  19. 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)

  20. de Lara, J., Guerra, E.: Deep Meta-modelling with MetaDepth. In: Objects, Models, Components, Patterns, LNCS, vol. 6141, pp. 1–20. Springer, Berlin (2010)

  21. de Lara, J., Guerra, E.: Refactoring multi-level models. ACM Trans. Softw. Eng. Methodol. 27(4), 17:1-17:56 (2018)

    Article  Google Scholar 

  22. 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)

    Article  Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

  25. 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)

  26. 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)

  27. Fowler, M., Scott, K.: UML distilled—A Brief Guide to the Standard Object Modeling Language, 2nd edn. Addison-Wesley-Longman (2000)

  28. 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)

    Article  Google Scholar 

  29. 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)

    Article  Google Scholar 

  30. Gonzalez-Perez, C., Henderson-Sellers, B.: Metamodelling for Software Engineering. Wiley, London (2008)

    Google Scholar 

  31. 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)

  32. Herbsleb, J.D.: Global software engineering: the future of socio-technical coordination. In: International Conference on Software Engineering, pp. 188–198. IEEE (2007)

  33. Izquierdo, J.L.C., Cabot, J.: Collaboro: a collaborative (meta) modeling tool. PeerJ Comput. Sci. 2, e84 (2016)

    Article  Google Scholar 

  34. Johnson, P.R., Thomas, R.: Maintenance of duplicate databases. RFC 677, 1–10 (1975)

    Google Scholar 

  35. Kelly, S.: Collaborative modelling with version control. In: Software Technologies: Applications and Foundations. LNCS, pp. 20–29. Springer, Berlin (2017)

    Google Scholar 

  36. Kühne, T.: Multi-dimensional multi-level modeling. Softw. Syst. Model. 21(2), 543–559 (2022)

    Article  Google Scholar 

  37. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  38. 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)

  39. 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)

  40. 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)

  41. 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)

  42. 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)

  43. Mosterman, P.J., Vangheluwe, H.: Computer automated multi-paradigm modeling: an introduction. Simulation 80(9), 433–450 (2004)

    Article  Google Scholar 

  44. Muccini, H., Bosch, J., van der Hoek, A.: Collaborative modeling in software engineering. IEEE Softw. 35(6), 20–24 (2018)

    Article  Google Scholar 

  45. 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)

  46. 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)

    Chapter  Google Scholar 

  47. 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)

    Article  MATH  Google Scholar 

  48. 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)

  49. Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)

    Article  MATH  Google Scholar 

  50. Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)

    Article  Google Scholar 

  51. 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)

  52. 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)

  53. Singhal, M., Kshemkalyani, A.D.: An efficient implementation of vector clocks. Inf. Process. Lett. 43(1), 47–52 (1992)

    Article  MATH  Google Scholar 

  54. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education (2008)

  55. 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)

    Article  Google Scholar 

  56. Sun, D., Sun, C.: Operation context and context-based operational transformation. In: Conference on Computer Supported Cooperative Work, pp. 279–288. ACM (2006)

  57. 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)

  58. 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)

  59. 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)

  60. Thomas, R.H.: A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst. (TODS) 4(2), 180–209 (1979)

    Article  Google Scholar 

  61. 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)

  62. Van Tendeloo, Y., Vangheluwe, H.: The modelverse: a tool for multi-paradigm modelling and simulation. In: Winter Simulation Conference, pp. 944–955. IEEE (2017)

  63. Van Tendeloo, Y., Vangheluwe, H.: Unifying model- and screen sharing. In: Enabling Technologies: Infrastructure for Collaborative Enterprises, pp. 127–132. IEEE (2018)

  64. 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)

  65. Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)

    Article  Google Scholar 

  66. Whitehead, J.: Collaboration in software engineering: a roadmap. In: International Conference on Software Engineering, pp. 214–225. IEEE (2007)

  67. 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)

Download references

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

Authors

Corresponding author

Correspondence to Istvan David.

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-022-01054-5

Keywords

Navigation