Last week I attended the PhD Thesis defense of José E. Rivera (thesis supervised by Antonio Vallecillo and Francisco Durán ) proposing a method for the formal definition of Domain specific modeling languages (DSMLs).
IMHO, the thesis covers an important gap in Model-driven engineering. Right now, many people tend to believe that by defining the concrete and abstract syntax (i.e. metamodel) of a DSML, the work is done, forgetting that the semantics of the DSMLs must be defined as well to make sure everybody interprets models conforming to that DSML in the same way. This thesis proposes a method for doing this.
I’m enclosing the abstract of the thesis below. If you are interested, the full thesis is available here .
On the Semantics of real-time domain specific modeling Languages
Domain specific modeling languages (DSMLs) have been proposed as a commonplace for specifying systems at a high-level of abstraction, usign a notation very close to the problem domain and quite intuitive for domain experts. However, DSMLs are usually defined only in terms of their abstract and concrete syntaxes, with no precise semantics. This lack is something that may limit unambiguous communication among model developers, hamper the development of formal analysis and simulation tools, and present a possibility for semantic mismatch between design models and modeling languages of analysis tools, among others.
In this thesis we propose an approach for the formal definition of DSMLs by means of two views: structure and behavior. We identify the elements involved in the definition of these views: abstract syntax, concrete syntax and semantics; and we propose a way to enable the DSML designer to automatically define the semantics of the DSML.
To define the structural view of a DSML we use metamodels expressed in Ecore, a language developed for the Eclipse platform that allows the specification of metamodels. To define the behavioral view of a DSML, we have developed our own DSML and tool (for the Eclipse platform too), called e-Motions, that supports the specification of time-dependent behavior of real-time DSMLs. The e-Motions tool extends in-place model transformations with a model of time and with mechanisms to state action properties. These extensions have been defined to cope with real-time and complex systems, and they promote the separation of concerns between the structural and behavioral specifications: they avoid modifying the DSML’s metamodel to include time and action properties related to the behavior of the language. The tool enables the use of the graphical concrete syntax of the language , allowing modelers to perceive themselves as working directly with domain concepts.
Once this is done, we are able use rewriting logic in Maude to perform simulation and reachability and model checking analysis of the specification. In particular, we have developed a metamodel for Maude and semantic bridges bewteen Ecore and Maude by means of model transformations.