Heterogeneous Language Coordination Engineering


We are looking for highly motivated PhD candidates in software language engineering, hybrid systems, model-driven engineering and metamodeling.

Keywords: Software and Systems engineering,  Domain-Specific Languages, Language Engineering, Executable (Meta)modeling, Hybrid Simulations
Main advisor: Julien Deantoni (Université Côte d’Azur)


In systems engineering, the system development usually involves different stakeholders and is usually represented by different models. These models conform to different Domain Specific Languages (DSL), tailored to the part of the system under modeling, both its syntax and semantics.

In this case each stakeholder can use a language tailored specifically for its domain. However, this leads to a set of heterogeneous models and demands to correctly specify and understand the whole system. It is therefore mandatory to specify the interaction/coordination between these models [1].

In previous exploratory works, realized in the context of the GEMOC INS Project ( ), a study on how to automatically coordinate behavioral  models conforming to different languages has been proposed. Based on coordination patterns defined among languages, the GEMOC studio can derive the coordination model between some specific behavioral artifacts as well as an heterogeneous engine that can be used to drive an heterogeneous execution, i.e. to synchronize the interpreters of each model [3,4]. The GEMOC studio can then be seen as a co-modeling environment with execution/debugging capabilities.

This approach has successfully established the possibility to reason on the coordination of heterogeneous behavioral models when an adequate interface is exposed, both at the language and at the model levels. This approach actually exposed the concurrent scheduling part of the operational semantics of the language [5] so that it can be used both by the interpreters of individual models but also by the coordination framework.

In more general approaches the behavioral semantics is not always made explicit like in the context of the GEMOC project. For instance the behavioral semantics can be obtained by a compilation process (i.e., a translational semantics) or directly encoded in a (proprietary) dedicated tool. In both cases, the model execution is done outside a tamed environment. In order to execute the coordinated system it is then possible to rely on co-simulation environments like the FMI environment [2].

In this PhD, the successful applicant must tackle three co-related challenges:

  • First, he may improve existing behavioral coordination pattern languages to support the definition of variable sharing. Variable sharing requires a good understanding of how and when the C.R.U.D. (Create, Read, Update, Delete) operations are performed by the different entities. This may be specified directly in the semantical interface of the language. Additionally, it would be interesting to keep the door open to formal verification (delete of such sharing correctness).
  • Second, it is important to clearly define the mechanisms that are required by an execution environment to be efficiently coordinated. These capabilities may be classified according to different usages (i.e., interfaces) and at different instantiation levels (e.g., model, language, execution). For instance, a language interface for coordination can require some information that are optional for formal verification, and some others that are desired to make coordination more efficient.
  • Third, it is important to address the first and the second challenges so that it supports a co-modeling approach that can be used to automatically generate efficient master algorithms (in a specific co-simulation environment). This means that the information provided in both the interfaces and the coordination patterns must be expressed in a way suitable to reasoning and compilation.



[1] B. Combemale, J. Deantoni, B. Baudry, R. B. France, J.-M. Jézéquel, and J. Gray, “Globalizing Modeling Languages”; IEEE Computer, pp. 10–13, Jun. 2014. Available:

[2] Modelisar, “FMI for Model Exchange and Co-Simulation”, July 2014 ]. Available:

[3] Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet. A Behavioral Coordination Operator Language (BCOoL). IEEE, 18th International Conference on Model Driven Engineering Languages and Systems (MODELS) Ottawa, Canada. ACM; pp.462, 2015,<>.<hal-01182773>

[4] Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet. A Model-Driven Based Environment for Automatic Model Coordination. CEUR. Models 2015 demo and posters, Oct 2015, Ottawa, Canada. Models 2015 demo and posters.<hal-01198744>

[5] Benoit Combemale, Julien Deantoni, Matias Ezequiel Vara Larsen, Frédéric Mallet, Olivier Barais, et al. Reifying Concurrency for Executable Metamodeling. SLE – 6th International Conference on Software Language Engineering, Oct 2013, Indianapolis, IN, United States. Springer, 8225, pp.365-384, 2013, Lecture Notes in Computer Science; Proceedings.<10.1007/978-3-319-02654-1_20>.<hal-00850770v2>

Working Environment

The candidate will be hired by Safran Tech, Paris but she/he will work at INRIA in the KAIROS team (workplace: 2004 route des lucioles, 06902 Sophia Antipolis). The contract is for 36 months, and the monthly net salary is to be defined by Safran (around 2400€/month after taxes). The subject is a collaboration with Safran tech so that the successful applicant will work on Safran’s use cases and technologies and in close relation with their R&D department (i.e., the candidate will have regular physical meetings with them).

How to apply

Please send your application (PDF) as soon as possible. Screening of  applications starts immediately and continues until the position is filled. Send cover letter including names of at least two referees, CV,  PDFs of Master thesis (or draft), and possibly up to three most relevant  publications to Julien Deantoni.

Comments are closed