Behavioral Interfaces for Executable DSLs


Executable Domain-Specific Languages (DSLs) enable the execution of behavioral models. While an ex- ecution is mostly driven by the model content (e.g., con- trol structures), many use cases require interacting with the running model, such as simulating scenarios in an au- tomated or interactive way, or coupling the model with other models of the system or environment. The manage- ment of these interactions is usually hardcoded into the semantics of the DSL, which prevents its reuse for other DSLs and the provision of generic tools (e.g., interactive debugger). 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 im- plemented 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.

Springer Journal on Software and Systems Modeling (SoSyM)