{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,8]],"date-time":"2025-09-08T05:46:25Z","timestamp":1757310385277,"version":"3.37.3"},"reference-count":43,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2020,4,23]],"date-time":"2020-04-23T00:00:00Z","timestamp":1587600000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,4,23]],"date-time":"2020-04-23T00:00:00Z","timestamp":1587600000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100005203","name":"OeAD-GmbH","doi-asserted-by":"publisher","award":["FR 08\/2017"],"award-info":[{"award-number":["FR 08\/2017"]}],"id":[{"id":"10.13039\/501100005203","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002428","name":"Austrian Science Fund","doi-asserted-by":"publisher","award":["P 28519-N31"],"award-info":[{"award-number":["P 28519-N31"]}],"id":[{"id":"10.13039\/501100002428","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":[[2020,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Executable domain-specific languages (DSLs) enable the execution of behavioral models. While an execution is mostly driven by the model content (e.g.,\u00a0control structures), many use cases require <jats:italic>interacting<\/jats:italic> with the running model, such as simulating scenarios in an automated or interactive way, or coupling the model with other models of the system or environment. The management of these interactions is usually hardcoded into the semantics of the DSL, which prevents its reuse for other DSLs and the provision of generic interaction-centric tools (e.g.,\u00a0event injector). In this paper, we propose a metalanguage for complementing the definition of executable DSLs with explicit behavioral interfaces to enable external tools to interact with executed models in a unified way. We implemented the proposed metalanguage in the GEMOC Studio and show how behavioral interfaces enable the realization of tools that are generic and thus usable for different executable DSLs.<\/jats:p>","DOI":"10.1007\/s10270-020-00798-2","type":"journal-article","created":{"date-parts":[[2020,4,23]],"date-time":"2020-04-23T04:02:40Z","timestamp":1587614560000},"page":"1015-1043","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":12,"title":["Behavioral interfaces for executable DSLs"],"prefix":"10.1007","volume":"19","author":[{"given":"Dorian","family":"Leroy","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Erwan","family":"Bousse","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Manuel","family":"Wimmer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tanja","family":"Mayerhofer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Benoit","family":"Combemale","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Wieland","family":"Schwinger","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,4,23]]},"reference":[{"key":"798_CR1","doi-asserted-by":"crossref","unstructured":"Anicic, D., Fodor, P., Rudolph, S., St\u00fchmer, R., Stojanovic, N., Studer, R.: A rule-based language for complex event processing and reasoning. In: Proceedings of the International Conference on Web Reasoning and Rule Systems, pp. 42\u201357. Springer, Berlin (2010)","DOI":"10.1007\/978-3-642-15918-3_5"},{"key":"798_CR2","doi-asserted-by":"crossref","unstructured":"Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 121\u2013135. Springer, Berlin (2010)","DOI":"10.1007\/978-3-642-16145-2_9"},{"key":"798_CR3","doi-asserted-by":"crossref","unstructured":"Bandener, N., Soltenborn, C., Engels, G.: Extending DMM behavior specifications for visual execution and debugging. In: Proceedings of the 3rd International Conference on Software Language Engineering (SLE), pp. 357\u2013376. Springer, Berlin (2010)","DOI":"10.1007\/978-3-642-19440-5_24"},{"key":"798_CR4","doi-asserted-by":"crossref","unstructured":"Bendraou, R., Combemale, B., Cr\u00e9gut, X., Gervais, M.P.: Definition of an executable SPEM 2.0. In: Proceedings of the 14th Asia-Pacific Software Engineering Conference (APSEC), pp. 390\u2013397. IEEE (2007)","DOI":"10.1109\/ASPEC.2007.60"},{"key":"798_CR5","doi-asserted-by":"crossref","unstructured":"Bousse, E., Degueule, T., Vojtisek, D., Mayerhofer, T., Deantoni, J., Combemale, B.: Execution framework of the GEMOC studio (tool demo). In: Proceedings of the International Conference on Software Language Engineering (SLE), pp. 84\u201389. ACM (2016)","DOI":"10.1145\/2997364.2997384"},{"key":"798_CR6","doi-asserted-by":"publisher","first-page":"261","DOI":"10.1016\/j.jss.2017.11.025","volume":"137","author":"E Bousse","year":"2018","unstructured":"Bousse, E., Leroy, D., Combemale, B., Wimmer, M., Baudry, B.: Omniscient debugging for executable DSLs. J. Syst. Softw. 137, 261\u2013288 (2018)","journal-title":"J. Syst. Softw."},{"issue":"1","key":"798_CR7","doi-asserted-by":"publisher","first-page":"385","DOI":"10.1007\/s10270-017-0598-5","volume":"18","author":"E Bousse","year":"2017","unstructured":"Bousse, E., Mayerhofer, T., Combemale, B., Baudry, B.: Advanced and efficient execution trace management for executable domain-specific modeling languages. Softw. Syst. Model. 18(1), 385\u2013421 (2017)","journal-title":"Softw. Syst. Model."},{"issue":"3","key":"798_CR8","doi-asserted-by":"publisher","first-page":"2313","DOI":"10.1007\/s10270-018-0675-4","volume":"18","author":"F Ciccozzi","year":"2019","unstructured":"Ciccozzi, F., Malavolta, I., Selic, B.: Execution of UML models: a systematic review of research and practice. Softw. Syst. Model. 18(3), 2313\u20132360 (2019)","journal-title":"Softw. Syst. Model."},{"key":"798_CR9","doi-asserted-by":"crossref","unstructured":"Combemale, B., Cr\u00e9gut, X., Pantel, M.: A design pattern to build executable DSMLs and associated V&V tools. In: 19th Asia-Pacific Software Engineering Conference, APSEC 2012, China, pp. 282\u2013287 (2012)","DOI":"10.1109\/APSEC.2012.79"},{"key":"798_CR10","doi-asserted-by":"crossref","unstructured":"Deantoni, J.: Modeling the behavioral semantics of heterogeneous languages and their coordination. In: Proceedings of the Workshop on Architecture-Centric Virtual Integration (ACVI), pp. 12\u201318. IEEE (2016)","DOI":"10.1109\/ACVI.2016.9"},{"key":"798_CR11","first-page":"176","volume":"49","author":"T Degueule","year":"2017","unstructured":"Degueule, T., Combemale, B., Blouin, A., Barais, O., J\u00e9z\u00e9quel, J.M.: Safe model polymorphism for flexible modeling. Comput. Lang. Syst. Struct. 49, 176\u2013195 (2017)","journal-title":"Comput. Lang. Syst. Struct."},{"key":"798_CR12","doi-asserted-by":"crossref","unstructured":"Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Dynamic meta-modeling: a graphical approach to the operational semantics of behavioral diagrams in UML. In: Proceedings of the Third International Conference on the Unified Modeling Language (UML), pp. 323\u2013337. Springer, Berlin (2000)","DOI":"10.1007\/3-540-40011-7_23"},{"key":"798_CR13","doi-asserted-by":"crossref","unstructured":"Fischer, T., Niere, J., Torunski, L., Z\u00fcndorf, A.: Story diagrams: a new graph rewrite language based on the unified modeling language and Java. In: Proceedings of the 6th International Workshop Theory and Application of Graph Transformations (TAGT), pp. 157\u2013167 (2000)","DOI":"10.1007\/978-3-540-46464-8_21"},{"key":"798_CR14","volume-title":"Java Concurrency in Practice","author":"B Goetz","year":"2006","unstructured":"Goetz, B., Peierls, T., Lea, D., Bloch, J., Bowbeer, J., Holmes, D.: Java Concurrency in Practice. Pearson Education, London (2006)"},{"key":"798_CR15","doi-asserted-by":"crossref","unstructured":"Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., J\u00e9z\u00e9quel, J.M.: On model subtyping. In: Proceedings of the 8th European Conference on Modelling Foundations and Applications (ECMFA), pp. 400\u2013415. Springer, Berlin (2012)","DOI":"10.1007\/978-3-642-31491-9_30"},{"issue":"4","key":"798_CR16","doi-asserted-by":"publisher","first-page":"403","DOI":"10.1109\/32.54292","volume":"16","author":"D Harel","year":"1990","unstructured":"Harel, D., Lachover, H., Naamad, A., Pnuelli, A., Politi, M., Sherman, R., Shtull-trauring, A., Trakhtenbrot, M.: STATEMATE: a working environment for the development of complex reactive systems. IEEE Trans. Softw. Eng. 16(4), 403\u2013414 (1990)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"798_CR17","doi-asserted-by":"crossref","unstructured":"Heged\u00fcs, \u00c1., Bergmann, G., R\u00e1th, I., Varr\u00f3, D.: Back-annotation of simulation traces with change-driven model transformations. In: Proceedings of the 8th International Conference on Software Engineering and Formal Methods (SEFM), pp. 145\u2013155. IEEE (2010)","DOI":"10.1109\/SEFM.2010.28"},{"key":"798_CR18","doi-asserted-by":"crossref","unstructured":"Hofer, C., Ostermann, K., Rendel, T., Moors, A.: Polymorphic embedding of DSLs. In: Proceedings of the 7th International Conference on Generative Programming and Component Engineering (GPCE), pp. 137\u2013148. ACM (2008)","DOI":"10.1145\/1449913.1449935"},{"key":"798_CR19","unstructured":"Horst, A., Rumpe, B.: Towards compositional domain specific languages. In: Proceedings of the 7th Workshop on Multi-Paradigm Modeling (MPM), pp. 1\u20135. CEUR-WS.org (2013)"},{"issue":"2","key":"798_CR20","doi-asserted-by":"publisher","first-page":"905","DOI":"10.1007\/s10270-013-0354-4","volume":"14","author":"JM J\u00e9z\u00e9quel","year":"2013","unstructured":"J\u00e9z\u00e9quel, J.M., Combemale, B., Barais, O., Monperrus, M., Fouquet, F.: Mashup of metalanguages and its implementation in the Kermeta language workbench. Softw. Syst. Model. (SoSyM) 14(2), 905\u2013920 (2013)","journal-title":"Softw. Syst. Model. (SoSyM)"},{"key":"798_CR21","doi-asserted-by":"crossref","unstructured":"Kindler, E.: The event coordination notation: execution engine and programming framework. In: Proceedings of the Fourth Workshop on Behaviour Modelling\u2014Foundations and Applications, pp. 1\u20138. ACM, New York (2012)","DOI":"10.1145\/2325276.2325279"},{"key":"798_CR22","unstructured":"Larsen, M.E.V., Deantoni, J., Combemale, B., Mallet, F.: A behavioral coordination operator language (BCOoL). In: Proceedings of the 18th International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 186\u2013195. IEEE (2015)"},{"key":"798_CR23","volume-title":"The Power of Events","author":"D Luckham","year":"2002","unstructured":"Luckham, D.: The Power of Events, vol. 204. Addison-Wesley, Reading (2002)"},{"key":"798_CR24","doi-asserted-by":"crossref","unstructured":"Mayerhofer, T., Langer, P., Wimmer, M., Kappel, G.: xMOF: executable DSMLs based on fUML. In: Proceedings of the 6th International Conference on Software Language Engineering (SLE). Springer, Berlin (2013)","DOI":"10.1007\/978-3-319-02654-1_4"},{"key":"798_CR25","volume-title":"Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications","author":"J McAffer","year":"2005","unstructured":"McAffer, J., Lemieux, J.M.: Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications. Addison-Wesley Professional, Reading (2005)"},{"key":"798_CR26","doi-asserted-by":"crossref","unstructured":"Meyers, B., Denil, J., D\u00e1vid, I., Vangheluwe, H.: Automated testing support for reactive domain-specific modelling languages. In: Proceedings of the International Conference on Software Language Engineering (SLE), pp. 181\u2013194 (2016)","DOI":"10.1145\/2997364.2997367"},{"key":"798_CR27","doi-asserted-by":"crossref","unstructured":"Meyers, B., Deshayes, R., Lucio, L., Syriani, E., Vangheluwe, H., Wimmer, M.: Promobox: a framework for generating domain-specific property languages. In: Proceedings of the 7th International Conference on Software Language Engineering (SLE), pp. 1\u201320 (2014)","DOI":"10.1007\/978-3-319-11245-9_1"},{"key":"798_CR28","volume-title":"Communicating and Mobile Systems: The Pi Calculus","author":"R Milner","year":"1999","unstructured":"Milner, R.: Communicating and Mobile Systems: The Pi Calculus. Cambridge University Press, Cambridge (1999)"},{"key":"798_CR29","unstructured":"OASIS: Web Services Business Process Execution Language Version 2.0 (2007). https:\/\/docs.oasis-open.org\/wsbpel\/2.0\/OS\/wsbpel-v2.0-OS.html"},{"key":"798_CR30","unstructured":"Object Management Group: OMG Unified Modeling Language (OMG UML), V 2.5 (2013). http:\/\/www.omg.org\/spec\/UML\/2.5"},{"key":"798_CR31","unstructured":"Object Management Group: Semantics of a Foundational Subset for Executable UML Models, V 1.1 (2013)"},{"key":"798_CR32","unstructured":"Object Management Group: Meta Object Facility (MOF) Core Specification, V 2.5 (2016). http:\/\/www.omg.org\/spec\/MOF\/2.5"},{"key":"798_CR33","unstructured":"Object Management Group: Precise Semantics of UML State Machines Specification, V 1.0 (2019)"},{"key":"798_CR34","unstructured":"Object Management Group (OMG): Object Constraint Language (OCL), Version 2.4 (2014). http:\/\/www.omg.org\/spec\/OCL\/2.4"},{"key":"798_CR35","unstructured":"Pedro, L., Lucio, L., Buchs, D.: Principles for system prototype and verification using metamodel based transformations. In: Seventeenth IEEE International Workshop on Rapid System Prototyping (RSP\u201906), pp. 10\u201317. IEEE (2006)"},{"key":"798_CR36","volume-title":"Types and Programming Languages","author":"BC Pierce","year":"2002","unstructured":"Pierce, B.C., Benjamin, C.: Types and Programming Languages. MIT Press, Cambridge (2002)"},{"key":"798_CR37","doi-asserted-by":"crossref","unstructured":"Rodriguez-Echeverria, R., Izquierdo, J.L.C., Wimmer, M., Cabot, J.: Towards a language server protocol infrastructure for graphical modeling. In: Proceedings of the 21th ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 370\u2013380. ACM (2018)","DOI":"10.1145\/3239372.3239383"},{"key":"798_CR38","doi-asserted-by":"crossref","unstructured":"Soden, M., Eichler, H.: Towards a model execution framework for Eclipse. In: Proceedings of the 1st Workshop on Behaviour Modelling in Model-Driven Architecture (BD-MDA\u201909). ACM, New York (2009)","DOI":"10.1145\/1555852.1555856"},{"issue":"4","key":"798_CR39","doi-asserted-by":"publisher","first-page":"401","DOI":"10.1007\/s10270-006-0036-6","volume":"6","author":"J Steel","year":"2007","unstructured":"Steel, J., J\u00e9z\u00e9quel, J.M.: On model typing. Softw. Syst. Model. (SoSym) 6(4), 401\u2013413 (2007)","journal-title":"Softw. Syst. Model. (SoSym)"},{"key":"798_CR40","volume-title":"EMF: Eclipse Modeling Framework. Eclipse Series","author":"D Steinberg","year":"2008","unstructured":"Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework. Eclipse Series, 2nd edn. Addison-Wesley Professional, Reading (2008)","edition":"2"},{"key":"798_CR41","doi-asserted-by":"publisher","first-page":"45","DOI":"10.1016\/j.scico.2018.10.005","volume":"170","author":"E Syriani","year":"2019","unstructured":"Syriani, E., Sousa, V., L\u00facio, L.: Structure and behavior preserving statecharts refinements. Sci. Comput. Program. 170, 45\u201379 (2019)","journal-title":"Sci. Comput. Program."},{"key":"798_CR42","doi-asserted-by":"crossref","unstructured":"Tatibou\u00ebt, J., Cuccuru, A., G\u00e9rard, S., Terrier, F.: Formalizing execution semantics of UML profiles with fUML models. In: Proceedings of the 17th International Conference on Model Driven Engineering Languages and Systems (MODELS). Springer, Berlin (2014)","DOI":"10.1007\/978-3-319-11653-2_9"},{"key":"798_CR43","unstructured":"Tikhonova, U., Manders, M., van\u00a0den Brand, M., Andova, S., Verhoeff, T.: Applying model transformation and event-B for specifying an industrial DSL. In: Proceedings of the 10th International Workshop on Model Driven Engineering, Verification and Validation (MoDeVVa), pp. 41\u201350. CEUR-WS.org (2013)"}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-020-00798-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-020-00798-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-020-00798-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,23]],"date-time":"2021-04-23T00:17:29Z","timestamp":1619137049000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-020-00798-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,4,23]]},"references-count":43,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,7]]}},"alternative-id":["798"],"URL":"https:\/\/doi.org\/10.1007\/s10270-020-00798-2","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"type":"print","value":"1619-1366"},{"type":"electronic","value":"1619-1374"}],"subject":[],"published":{"date-parts":[[2020,4,23]]},"assertion":[{"value":"19 March 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"17 January 2020","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"21 March 2020","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"23 April 2020","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}