PhD Thesis. Jose E. Rivera. October, 2010. Advisors: Francisco Durán and Antonio Vallecillo.
Domain specific modeling languages (DSMLs) have been proposed as a commonplace for specifying systems at a high-level of abstraction, using 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, as most of current approaches do. The tool enables the use of the graphical concrete syntax of the language, allowing modelers to perceive themselves as working directly with domain concepts and making the task of defining the behavior of a DSML quite intuitive.
Once we have specified the structure (with Ecore) and the behavior (with e-Motions) of a DSML as models, we are able to transform them into different semantic domains to provide our DSML with (structural and behavioral) semantics, and to take advantage of the simulation and analysis tools available for those domains. In this thesis we have developed the infrastructure required to use rewriting logic in Maude as the target semantic domain and to perform model simulation and reachability and model checking analysis on the systems being specified. In particular, we have developed a metamodel for Maude and semantic bridges between the Ecore and e-Motions languages and Maude by means of model transformations. These semantic bridges allow us to benefit from both platforms: an intuitive way to define the structure and behavior of DSMLs with the Eclipse tools, and a powerful mechanism to provide models with semantics, and to simulate and analyze them with the Maude toolkit. We have also used Maude to define and implement model management operations, such as model subtyping and model difference, and integrated them in the Eclipse platform. The ability of Maude to perform simplification of terms modulo equational theories such as associativity, commutativity and identity has enabled the specification of these model operations at a high level of abstraction, while the rewriting engine of Maude has provided efficient implementations for them.