Nos partenaires

CNRS

Rechercher





Accueil du site > Français > Thèmes de recherche > Thème 7 - Sûreté de développement du logiciel > Equipe MACAO > Propositions de stages, thèses et post-doc > Stages de Master 2

Un framework générique pour la simulation efficace des langages dédiés (DSML)

Contact : Iulian Ober

Laboratoire IRIT — Thème 7 —Equipe MACAO

Direction et unité d’accueil

Thématique et objectifs

Avec l’utilisation croissante de langages de modélisation spécifiques (domain specific modeling languages, ou DMSLs) ou généralistes (UML, SysML, etc.) dans le cadre de l’architecture MDA (model-driven architecture), l’ingénierie des langages est (re-)devenue une thématique très porteuse, où de nouvelles applications voient constamment le jour. Un problème récurent pour lequel aucune solution satisfaisante n’existe actuellement est celui de la simulation et de l’exploration efficace de l’espace d’états de modèles définis dans ces langages. Si avec les outils actuels il est très aisé de définir la syntaxe et la sémantique statique de ces langages, ou de créer des traducteurs, la situation est toute autre quand il s’agit de la sémantique dynamique et de la construction d’outils de simulation/exploration pour des langages non-triviaux.

Nous nous proposons de restreindre l’étude aux langages dont la sémantique peut être donnée sous forme opérationnelle structurelle (SOS [1]) et dont l’espace d’état, discret, peut être représenté comme un système de transitions étiquetés (LTS). La plupart des DSMLs rencontrés dans la littérature tombent dans cette catégorie.

Lorsque l’on veut construire un moteur de simulation pour un tel langage, les fonctions qu’il doit réaliser sont toujours plus ou moins les mêmes, e.g. mettre le système en état initial, lister les successeurs possibles d’un état, donner un rendu utilisateur de la structure d’un état, parcourir l’espace d’états en profondeur, en largeur, etc. Outre l’interface, dans l’implantation d’un moteur de simulation il y a aussi des questions récurrentes, comme la persistance des états en minimisant la redondance (e.g., par le partage de sous-parties d’états), etc. Il semble de lors possible de définir un framework générique pour la construction de ces moteurs de simulation, de manière à factoriser les interfaces, les algorithmes et les structures de données communes.

L’état de l’art en matière de construction de moteurs de simulation consiste actuellement à repartir de zéro pour chaque nouveau langage. On ne dispose pas non plus de techniques spécifiques reconnues par tous pour les implanter. Un début de réponse est apporté en utilisant des transformations endogènes pour la définition du comportement des méta-modèles, e.g. définies en Kermeta [2] ou par des transformations de graphes [3,4]. Cependant, outre les problèmes de performance (e.g., impossibilité d’implémenter des structures de données performantes pour le stockage des états), l’utilisation de ce type de méthode pose aussi des problèmes conceptuels. Par exemple, ils ne distinguent pas entre le modèle décrit dans le DSML et le modèle d’exécution, alors que souvent pour des langages non-triviaux un état du système n’a pas la même structure que le modèle (en sémantique opérationnelle, cette distinction est faite entre la syntaxe abstraite d’un programme et la structure des configurations dynamiques).

L’objectif de ce stage de M2R sera d’effectuer une première étude de l’état de l’art et de définir une interface logicielle pour des moteurs d’exploration d’espaces d’états suffisamment générique et ouverte. Le stage pourra se prolonger par une thèse qui visera la définition complète du framework théorique et logiciel ainsi que son application dans la simulation et la vérification de modèles dans le domaine des systèmes embarqués critiques.

Profil du candidat

Les candidats doivent être motivés pour travailler dans les domaines du génie logiciel, de l’ingénierie système et des méthodes formelles. Des connaissances de base dans le domaine de la simulation et de la vérification formelle, ainsi que de bonnes capacités d’abstraction et de raisonnement abstrait sont attendues.

Un bon niveau d’anglais ainsi que de bonnes capacités rédactionnelles sont requises.

Contexte

Le stage se déroule au sein de l’équipe MACAO de l’IRIT, à Toulouse, en convention avec le Laboratoire d’Ingénierie dirigée par les modèles pour les Systèmes Embarqués (LISE) du Commissariat à l’Energie Atomique (CEA/LIST Saclay).

Le stage sera rémunéré.

Si l’avancement des travaux s’avère suffisant, le stage pourra se prolonger par une thèse CEA/IRIT. La thèse pourra éventuellement se dérouler dans la future antenne du CEA à Toulouse.

Références

  • [1] Plotkin, G. D. : A structural approach to operational semantics. J. Log. Algebr. Program., 60-61:17–139. 2004
  • [2] Jean-Marc Jézéquel, Olivier Barais, Franck Fleurey : Model Driven Language Engineering with Kermeta. Generative and Transformational Techniques in Software Engineering III - International Summer School, GTTSE 2009. LNCS 6491. Springer, 2011.
  • [3] José Eduardo Rivera, Francisco Durán, Antonio Vallecillo : Formal Specification and Analysis of Domain Specific Models Using Maude. Simulation 85(11-12) : 778-792 (2009)
  • [4] István Ráth, David Vago, Dániel Varró : Design-time simulation of domain-specific models by incremental pattern matching. VL/HCC 2008 : 219-222

Portfolio

]