18 IDM’06, Lille – Secondes Journées sur l’ingénierie des modèles
1. Introduction
L’Ingénierie Des Modèles (IDM) a permis d’établir une nouvelle approche, plus
abstraite, pour le développement de systèmes complexes. Un système peut être dé-
crit par différents modèles liés les uns aux autres. L’idée phare est d’utiliser autant
de modèles différents (ou Langages Dédiés – Domain Specific Languages) que les
aspects chronologiques ou technologiques du développement du système le néces-
sitent. La principale différence avec un programme est qu’un modèle se concentre sur
la syntaxe abstraite alors qu’un programme se concentre sur la syntaxe concrète. La
syntaxe abstraite se focalise sur les concepts fondamentaux du domaine et exprime
ainsi une sémantique à travers le vocabulaire choisi pour nommer les concepts. Pour
les systèmes orientés données, le niveau d’abstraction ainsi obtenu a conduit à des
améliorations significatives et semble correspondre à un niveau sémantique adéquat.
Pour les systèmes plus orientés calculs, les aspects dynamiques des modèles méritent
d’être encore approfondis.
Cette contribution porte sur des approches de définition de la sémantique des méta-
modèles en regard des travaux de la communauté des langages de programmation. Les
expériences présentées se sont déroulées dans le cadre du projet TOPCASED1(Farail
et al., 2006) dont le but est de fournir un atelier basé sur l’IDM pour le développe-
ment de systèmes logiciels et matériels embarqués. Les autorités de certification pour
les domaines d’application de TOPCASED (aéronautique, espace, automobile...) im-
posent des contraintes de qualification fortes pour lesquelles des approches formelles
(analyse statique, vérification du modèle, preuve) sont envisagées.
L’outillage de TOPCASED a pour but de simplifier la définition de nouveaux DSL
ou langages de modélisation en fournissant des technologies du méta-niveau telles
que des générateurs d’éditeurs syntaxiques (textuels et graphiques), des outils de va-
lidation statique et d’exécution des modèles. Cet article présente plusieurs approches
pour intégrer les considérations sémantiques des langages de programmation dans
une démarche IDM. Nous nous concentrons ici sur deux technologies pour créer des
modèles exécutables. Il s’agira dans un premier temps d’expérimenter le langage de
méta-programmation Kermeta (Muller et al., 2005) puis, dans un second temps, d’éta-
blir une sémantique opérationnelle à partir du langage de transformations de modèles
ATL (Atlas Transformation Language) (Bézivin et al., 2005). Nous terminerons par
un bilan de ces différentes expérimentations.
Pour illustrer notre approche, nous prendrons l’exemple d’un langage simplifié de
description de processus, SimplePDL (fig. 1), inspiré du standard SPEM (Obj 2005)
proposé par l’OMG. Ce langage définit le concept de processus (Process) composé
d’un ensemble d’activités (Activity) représentant les différentes tâches à réaliser durant
le développement. Une activité peut dépendre d’une autre (Precedes). Une contrainte
sur le démarrage ou la fin de la seconde activité est précisée : start-to-start,finish-to-
start et finish-to-finish (PrecedenceKind).
1. Officiel : www.topcased.org et développement : gforge.enseeiht.fr/projects/topcased-mm