From models to code and back

In model-driven development, the problem can be set in terms of abstraction / refinement processes. Starting from general models, we gradually introduce the technical considerations, first those of the architecture of the application, then those of the software components until generating  the source code of the classes. We are studying this thorny problem in the context of a distributed technical environment with EV3 robots controlled by mobile devices (tablets or smartphones).

We study the alignment between the functional requirements and the technical support to implement them in a software engineering perspective, namely to produce quality software, easily maintainable and reusable. The problem can be set concretely by two questions

  • refining UML-like models to EV3 by model forward engineering;
  • abstract operational frameworks like Lejos by reverse engineering to UML or SysML.

Research publications [see Research]