{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T12:42:43Z","timestamp":1740141763195,"version":"3.37.3"},"reference-count":28,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2021,3,25]],"date-time":"2021-03-25T00:00:00Z","timestamp":1616630400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2021,3,25]],"date-time":"2021-03-25T00:00:00Z","timestamp":1616630400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/100010661","name":"Horizon 2020 Framework Programme","doi-asserted-by":"publisher","award":["732223"],"award-info":[{"award-number":["732223"]}],"id":[{"id":"10.13039\/100010661","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2021,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Scalable performance is a major challenge with current model management tools. As the size and complexity of models and model management programs increases and the cost of computing falls, one solution for improving performance of model management programs is to perform computations on multiple computers. In this paper, we demonstrate a low-overhead data-parallel approach for distributed model validation in the context of an OCL-like language. Our approach minimises communication costs by exploiting the deterministic structure of programs and can take advantage of multiple cores on each (heterogeneous) machine with highly configurable computational granularity. Our performance evaluation shows that the implementation is extremely low overhead, achieving a speed up of 24.5<jats:inline-formula><jats:alternatives><jats:tex-math>$$\\times $$<\/jats:tex-math><mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\">\n                  <mml:mo>\u00d7<\/mml:mo>\n                <\/mml:math><\/jats:alternatives><\/jats:inline-formula> with 26 computers over the sequential case, and 122<jats:inline-formula><jats:alternatives><jats:tex-math>$$\\times $$<\/jats:tex-math><mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\">\n                  <mml:mo>\u00d7<\/mml:mo>\n                <\/mml:math><\/jats:alternatives><\/jats:inline-formula> when utilising all six cores on each computer.<\/jats:p>","DOI":"10.1007\/s10270-021-00878-x","type":"journal-article","created":{"date-parts":[[2021,3,25]],"date-time":"2021-03-25T22:40:18Z","timestamp":1616712018000},"page":"1689-1712","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Distributed model validation with Epsilon"],"prefix":"10.1007","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-9166-2584","authenticated-orcid":false,"given":"Sina","family":"Madani","sequence":"first","affiliation":[]},{"given":"Dimitris","family":"Kolovos","sequence":"additional","affiliation":[]},{"given":"Richard F.","family":"Paige","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,3,25]]},"reference":[{"key":"878_CR1","unstructured":"Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Scalability: The Holy Grail of Model Driven Engineering. In: Proceedings of the First International Workshop on Challenges in Model Driven Software Engineering, Toulouse, pp. 10\u201314 (2008)"},{"key":"878_CR2","doi-asserted-by":"crossref","unstructured":"Kolovos, D.S., Rose, L.M., Matragkas, N., Paige, R.F., Guerra, E., Cuadrado, J.S., De Lara, J., R\u00e0th, I., Varr\u00f2, D., Tisi, M., Cabot, J.: A research roadmap towards achieving scalability in model driven engineering. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, Budapest. Article No. 2 (2013)","DOI":"10.1145\/2487766.2487768"},{"key":"878_CR3","doi-asserted-by":"crossref","unstructured":"Cuadrado, J.S., Jouault, F., Molina, J.G., B\u00e8zivin, J.: Optimization Patterns for OCL-Based Model Transformations. In: Models in Software Engineering: Workshops and Symposia (MODELS), Toulouse. pp. 273\u2013284, Springer (2008)","DOI":"10.1007\/978-3-642-01648-6_29"},{"issue":"2","key":"878_CR4","doi-asserted-by":"publisher","first-page":"3:1","DOI":"10.5381\/jot.2019.18.2.a3","volume":"18","author":"S Madani","year":"2019","unstructured":"Madani, S., Kolovos, D.S., Paige, R.F.: Towards optimisation of model queries: a parallel execution approach. J. Object Technol. 18(2), 3:1\u20133:21 (2019)","journal-title":"J. Object Technol."},{"key":"878_CR5","doi-asserted-by":"crossref","unstructured":"Willink, E.D.: Deterministic Lazy Mutable OCL Collections. In: STAF 2017 Collocated Workshops, Marburg. pp. 340\u2013355. Springer (2017)","DOI":"10.1007\/978-3-319-74730-9_30"},{"key":"878_CR6","first-page":"1139","volume-title":"A Verified Catalogue of OCL Optimisations. Software and Systems Modeling","author":"JS Cuadrado","year":"2020","unstructured":"Cuadrado, J.S.: A Verified Catalogue of OCL Optimisations. Software and Systems Modeling, vol. 19, pp. 1139\u20131161. Springer, Berlin (2020)"},{"key":"878_CR7","unstructured":"Clasen, C., Del Fabro, M.D., Tisi, M.: Transforming very large models in the Cloud: a research roadmap. In: Proceedings of the First International Workshop on Model-Driven Engineering on and for the Cloud, Copenhagen. pp. 3\u201312, Springer (2012)"},{"key":"878_CR8","first-page":"204","volume-title":"On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages. Rigorous Methods for Software Construction and Analysis","author":"DS Kolovos","year":"2009","unstructured":"Kolovos, D.S., Paige, R.F., Polack, F.A.C.: On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages. Rigorous Methods for Software Construction and Analysis, pp. 204\u2013218. Springer, Berlin, Heidelberg (2009)"},{"issue":"1","key":"878_CR9","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1016\/j.entcs.2006.01.015","volume":"152","author":"J B\u00e8zivin","year":"2006","unstructured":"B\u00e8zivin, J., Jouault, F.: Using ATL for checking models. Electronic Notes in Theoretical Computer Science 152(1), 69\u201381 (2006)","journal-title":"Electronic Notes in Theoretical Computer Science"},{"key":"878_CR10","unstructured":"Object Constraint Language 2.4 Specification, https:\/\/www.omg.org\/spec\/OCL\/2.4\/"},{"key":"878_CR11","doi-asserted-by":"crossref","unstructured":"Imre, G., Mezei, G.: Parallel Graph Transformations on Multi-core Systems. Multicore Software Engineering, Performance, and Tools. LNCS 7303, pp. 86\u201389, Springer (2012)","DOI":"10.1007\/978-3-642-31202-1_10"},{"key":"878_CR12","doi-asserted-by":"crossref","unstructured":"Krause, C., Tichy, M., Giese, H.: Implementing Graph Transformations in the Bulk Synchronous Parallel Model. In: Proceedings of the 17th International Conference on Fundamental Approaches to Software Engineering, pp. 325\u2013339, Springer (2014)","DOI":"10.1007\/978-3-642-54804-8_23"},{"key":"878_CR13","doi-asserted-by":"crossref","unstructured":"Benelallam, A., Gomez-Llana, Tisi, M., Cabot, J.: Distributed Model-to-Model Transformation with ATL on MapReduce. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, Pittsburgh. pp. 37\u201348, ACM (2015)","DOI":"10.1145\/2814251.2814258"},{"key":"878_CR14","doi-asserted-by":"crossref","unstructured":"Benelallam, A., Tisi, M., Cuadrado, J.S., de Lara, J., Cabot, J.: Efficient model partitioning for distributed model transformations. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering, Amsterdam. pp. 226\u2013238, ACM (2016)","DOI":"10.1145\/2997364.2997385"},{"key":"878_CR15","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1016\/j.infsof.2016.06.001","volume":"79","author":"L Burge\u00f1o","year":"2016","unstructured":"Burge\u00f1o, L., Wimmer, M., Vallecillo, A.: A Linda-based platform for the parallel execution of out-place model transformations. Inf. Softw. Technol. 79, 17\u201335 (2016)","journal-title":"Inf. Softw. Technol."},{"key":"878_CR16","doi-asserted-by":"crossref","unstructured":"Sz\u00e1rnyas, G., Izs\u00f3, B., R\u00e1th, I., Harmath, D., Bergmann, G., Varr\u00f3, D.: INCQUERY-D: A distributed incremental model query framework in the cloud. in: Proceedings of the 17th International Conference on Model Driven Engineering Languages and Systems, Valencia. pp. 653\u2013669, Springer (2014)","DOI":"10.1007\/978-3-319-11653-2_40"},{"key":"878_CR17","doi-asserted-by":"crossref","unstructured":"Mezei, G., Levendovszky, T., Meszaros, T., Madari, I.: Towards truly parallel model transformations: A distributed pattern matching approach. IEEE EUROCON 2009, St. Petersburg, pp. 403\u2013410, (2009)","DOI":"10.1109\/EURCON.2009.5167663"},{"key":"878_CR18","doi-asserted-by":"crossref","unstructured":"Cabot, J., Teniente, E.: Incremental Evaluation of OCL Constraints. In: Proceedings of the 18th International Conference on Advanced Information Systems Engineering, Luxembourg. pp. 81\u201395 (2006)","DOI":"10.1007\/11767138_7"},{"key":"878_CR19","unstructured":"Tisi, M., Douence, R., Wagelaar, D.: Lazy evaluation for OCL. In: Proceedings of the 15th International Workshop on OCL and Textual Modeling co-located with 18th International Conference on Model Driven Engineering Languages and Systems, Ottawa. pp. 46\u201361 (2015)"},{"key":"878_CR20","doi-asserted-by":"crossref","unstructured":"Vajk, T., D\u00e1vid, Z., Asztalos, M., Mezei, G., Levendovszky, T.: Runtime model validation with parallel object constraint language. In: Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation, Wellington. Article No. 7 (2011)","DOI":"10.1145\/2095654.2095663"},{"key":"878_CR21","doi-asserted-by":"crossref","unstructured":"Madani, S., Kolovos, D.S., Paige, R.F.: Parallel Model Validation with Epsilon. In: Proceedings of the 14th European Conference on Modelling Foundations and Applications, Toulouse. pp. 115\u2013131. Springer, Cham (2018)","DOI":"10.1007\/978-3-319-92997-2_8"},{"key":"878_CR22","doi-asserted-by":"crossref","unstructured":"Paige, R.F., Kolovos, D.S., Rose, L.M., Drivalos, N., Polack, F.A.C.: The Design of a Conceptual Framework and Technical Infrastructure for Model Management Language Engineering. In: Proceedings of the 2009 14th IEEE International Conference on Engineering of Complex Computer Systems, Potsdam. pp. 162\u2013171 (2009)","DOI":"10.1109\/ICECCS.2009.14"},{"key":"878_CR23","doi-asserted-by":"crossref","unstructured":"Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The Epsilon Object Language (EOL). In: Proceedings of the Second European Conference on Model Driven Architecture \u2013 Foundations and Applications, Bilbao. pp. 128\u2013142 (2006)","DOI":"10.1007\/11787044_11"},{"key":"878_CR24","unstructured":"Distributed EVL implementation. Available at: github.com\/epsilonlabs\/distributed-evl"},{"key":"878_CR25","unstructured":"Distributed EVL evaluation. Available at: github.com\/epsilonlabs\/parallel-erl"},{"key":"878_CR26","doi-asserted-by":"publisher","first-page":"1365","DOI":"10.1007\/s10270-016-0571-8","volume":"17","author":"G Sz\u00e1rnyas","year":"2018","unstructured":"Sz\u00e1rnyas, G., Izs\u00f3, B., R\u00e1th, I., et al.: The Train Benchmark: cross-technology performance evaluation of continuous model queries. Softw. Syst. Model. 17, 1365\u20131393 (2018)","journal-title":"Softw. Syst. Model."},{"key":"878_CR27","unstructured":"Sanchez, B.A, Zolotas, A., Hoyos, H., Kolovos, D.S., Paige, R.F: On-the-fly Translation and Execution of OCL-like Queries on Simulink Models. In: Proceedings of the 22nd ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems, Munich"},{"key":"878_CR28","doi-asserted-by":"crossref","unstructured":"Barmpis, K., Kolovos, D.S.: Hawk: towards a scalable model indexing architecture. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, Budapest. Article No. 6 (2013)","DOI":"10.1145\/2487766.2487771"}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-021-00878-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-021-00878-x\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-021-00878-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,15]],"date-time":"2021-10-15T06:48:13Z","timestamp":1634280493000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-021-00878-x"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,3,25]]},"references-count":28,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2021,10]]}},"alternative-id":["878"],"URL":"https:\/\/doi.org\/10.1007\/s10270-021-00878-x","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"type":"print","value":"1619-1366"},{"type":"electronic","value":"1619-1374"}],"subject":[],"published":{"date-parts":[[2021,3,25]]},"assertion":[{"value":"8 March 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"12 January 2021","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"18 February 2021","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"25 March 2021","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}