[ecoop-info] Open PhD position (INRIA, Triskell): Engineering Semantics in Modeling Languages

Benoit Combemale benoit.combemale at irisa.fr
Mon Apr 18 03:54:29 CEST 2011

A PhD position (3 years funding) about "Engineering Semantics in Modeling Languages" is available at the INRIA Rennes Bretagne Atlantique Research Center in the team-project Triskell, Rennes, France.
Scientific supervisor: Benoit Baudry (benoit.baudry at inria.fr), and co-advisor: Benoît Combemale (benoit.combemale at irisa.fr)

The use of Domain Specific Modeling Languages (DSML) is a key feature of Model Driven Engineering (MDE).  DSMLs are increasingly used in order to cope with complex and/or critical systems (e.g., embedded, real-time and distributed), making easier the separation of concerns during the development process.  Metamodeling in MDE is the modeling (i.e. definition) of DSML.  Inspired by object-oriented modeling (e.g., UML), metamodeling languages such as MOF (combined with OCL) were proposed to define abstract syntaxes of DSML as a class diagram (called metamodel). Metamodels capture domain specific concepts and their relationships. Initially used for communication purpose, they are now an essential part for DSML specific tool development. By annotating such a metamodel, syntactic tools may be partially or totally generated (e.g., GMF and TMF for graphical and textual model editors).

Nowadays, models are increasingly used throughout the development process, and then are refined to specify the future system. Thus model executability becomes a key concern in MDE, mainly to support early validation and verification (V&V) in the development process [1]. Recently, several possibilities have been explored to implement the execution semantics of DSML [2]. Basically, it proposes to map the abstract syntax, defined by the metamodel, to a semantic domain.  Most proposals translate models into an existing semantic domain in order to reuse available tools (e.g., model-checker). This usually leads to complex transformations that implement the semantic mapping but provide execution results only in the target technical space. Getting back the results in the source language is tedious and time-consuming. It must also be certified itself to ensure that the results observed are consistent in terms of the source model. In a different way, a more intuitive definition of executable DSML was explored, considering the semantic domain as an extension of the abstract syntax, and providing the semantic mapping operationally using an action language. For instance Kermeta is a meta-programming language dedicated to the semantics definition of modelling languages in an operational way. It allows implementing the operational semantics into the metamodel using a dedicated model-based action language [3]. It also supports advanced facilities providing aspect-oriented paradigm [4] and static typing (both at model element and at model levels [5]).

If the means to describe execution semantics have been proposed, no approach exists to cope with the growing number of DSML and the increasing number of semantics implementation of a given DSML for different purposes such as simulation, verification, processing, etc. In this context we propose to investigate in this PhD thesis a pragmatic approach to cope with the implementation of tool supported DSML execution semantics. The candidate will explore both the modularity and the variability issues in the implementation of the DSML execution semantics (e.g., semantic variation point). In particular, the approach will enable to reuse the same implementation of a semantics unit for different purposes, to combine them to build complex execution semantics, as well as to ensure the consistency of different implementations (for simulation, execution, verification…). The candidate will also investigate the combination of execution semantics and models of computation to provide global execution according to a set of heterogeneous models. This work will be realized in collaboration with Thales Research & Technology, and the outcomes of this thesis will be evaluated on industrial use cases in the field of complex and embedded systems.

[1] Benoit Combemale, Approche de métamodélisation pour la simulation et la vérification de modèle, PhD thesis, University of Toulouse (INPT & IRIT), July 2008. [available online]
[2] Benoît Combemale, Xavier Crégut, Pierre-Loïc Garoche, Xavier Thirioux, Essay on Semantics Definition in MDE - An Instrumented Approach for Model Verification, Journal of Software, 4(9), 943-958, Nov 2009. [available online]
[3] Pierre-Alain Muller, Franck Fleurey, and Jean-Marc Jézéquel. Weaving executability into object-oriented meta-languages. In MODELS/UML’2005, Springer. [available online]
[4] Jean-Marc Jézéquel. Model driven design and aspect weaving. Journal of Software and Systems Modeling (SoSyM), 7(2):209--218, May 2008. [available online]
[5] Jim Steel and Jean-Marc Jézéquel, On model typing, Journal of Software and Systems Modeling (SoSyM), 6(4):401--414, December 2007.

Skills and profile we are looking for candidates that would ideally fulfill the following requirements:
- Master degree in Computer Science preferably in the area of Software Engineering
- A strong background in software language, especially in semantics.
- A strong background in software engineering, object-oriented programming (e.g., Java) and in design patterns.
- A good knowledge of the model-driven engineering and practical experiences with Eclipse Modeling (e.g., EMF, EMF Text, GMF, and Topcased/Papyrus) and Kermeta. 
The position requires excellent English speaking and writing skills.

Applicants should send a letter of motivation and detailed curriculum vitae in electronic forms to: Benoit Baudry (benoit.baudry at inria.fr), and co-advisor: Benoît Combemale (benoit.combemale at irisa.fr)

** All positions available in the team-project Triskell at http://www.irisa.fr/triskell/jobs

More information about the ecoop-info mailing list