D. Leroy, E. Bousse, M. Wimmer, T. Mayerhofer, B. Combemale, W. Schwinger: Behavioral interfaces for executable DSLs, in Springer: Software and Systems Modeling, pages 1-29, April 2020. Doi: 10.1007/s10270-020-00798-2

Executable domain-specific languages (DSLs) enable the execution of behavioral models. While an execution is mostly driven by the model content (e.g., control structures), many use cases require interacting 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., event 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.

Behavioral interfaces for executable DSLs