Approche de métamodélisation pour la simulation et la vérification de modèle

Documents pareils
openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Ingénierie des Modèles. Méta-modélisation

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

OCL - Object Constraint Language

Etat de l art sur le développement logiciel dirigé par les modèles.

Générer du code à partir d une description de haut niveau

MEMOIRE. Présenté à L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTÈRE INFORMATIQUE NTSID. Par.

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

RTDS G3. Emmanuel Gaudin

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

IFT2255 : Génie logiciel

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

Composants Logiciels. Le modèle de composant de CORBA. Plan

Méthode B pour la Spécification et la vérification formelle des systèmes répartis ouverts

Elaboration de processus de développements logiciels spécifiques et orientés modèles : application aux systèmes à évenements discrets

Analyse,, Conception des Systèmes Informatiques

Diagramme de classes

Méthodes d évolution de modèle produit dans les systèmes du type PLM

UML et les Bases de Données

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Alfstore workflow framework Spécification technique

Programmer en JAVA. par Tama

Conception des systèmes répartis

Élasticité des applications à base de services dans le Cloud

Introduction du test dans la modélisation par aspects

Utilisation de l ingénierie des modèles pour la conception collaborative de produits mécaniques

Architecture Orientée Service, JSON et API REST

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Vérification formelle de la plate-forme Java Card

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

ACTIVITÉ DE PROGRAMMATION

Meta Object Facility. Plan

Chapitre VI- La validation de la composition.

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Génie Logiciel avec Ada. 4 février 2013

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Programmation en Java IUT GEII (MC-II1) 1

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Modelio by Modeliosoft

Chapitre I : le langage UML et le processus unifié

Objets et Programmation. origine des langages orientés-objet

Sujet de thèse CIFRE RESULIS / LGI2P

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Synergies entre Artisan Studio et outils PLM

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

TP1 : Initiation à Java et Eclipse

Cours en ligne Développement Java pour le web

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Spécification et transformation de langages de points de vue des systèmes répartis ouverts

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Suzy Hélène Germaine TEMATE NGAFFO

IDM 2009 Actes des 5èmes journées sur l Ingénierie Dirigée par les Modèles. Nancy, mars 2009

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Présentée et soutenue le 11/07/2013 par :

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Bases Java - Eclipse / Netbeans

Model checking temporisé

Description de la formation

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

CC30 Certificat de compétence Conception, développement et animation de sites Web

Retour d expériences avec UML

Introduction aux «Services Web»

Patrons de Conception (Design Patterns)

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Master Informatique Aix-Marseille Université

Université de Bangui. Modélisons en UML

Java Licence Professionnelle CISII,

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Présentation du M2 SIC : Systèmes Informatiques et Applications Marines

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier

Génie Logiciel Avancé Cours 3 Le modèle à objets

DG-ADAJ: Une plateforme Desktop Grid

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Cours 1 : La compilation

Intégration de produits mécatroniques au sein d un système PLM

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

UML. Diagrammes de classes (suite) Delphine Longuet.

Object Constraint Language (OCL)

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

France SMS+ MT Premium Description

UML est-il soluble dans les méthodes agiles?

Environnements de développement (intégrés)

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

NFP111 Systèmes et Applications Réparties

3 Octobre Les Communautés MS

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Programmation avec des objets : Cours 7. Menu du jour

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Transcription:

Soutenance de thèse Approche de métamodélisation pour la simulation et la vérification de modèle Application à l ingénierie des procédés Benoît Combemale Institut de Recherche en Informatique de Toulouse (CNRS UMR 5505) Université de Toulouse, France. http://combemale.perso.enseeiht.fr Encadrant : Xavier Crégut Directeurs : Patrick Sallé et Bernard Coulette Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 1 / 38

Contexte Contexte scientifique Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte scientifique Modèle <<représente>> Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte scientifique Langage Modèle <<représente>> Concepteur Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte scientifique vérificateurs générateurs simulateurs éditeur Langage Modèle <<représente>> Concepteur Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte scientifique vérificateurs générateurs simulateurs éditeur Langage Modèle <<représente>> Concepteur <<conformea>> <<représente>> Méta Modèle Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte scientifique DSML = Domain Specific Modeling Language DSML Modèle <<représente>> Concepteur vérificateurs générateurs simulateurs éditeur DSML Modèle <<représente>> Concepteur DSML Modèle <<représente>> Concepteur <<représente>> Modèle DSML Concepteur Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte scientifique vérificateurs générateurs simulateurs éditeur Concepteur DSML Modèle <<représente>> vérificateurs générateurs simulateurs éditeur DSML Modèle <<représente>> Concepteur vérificateurs générateurs simulateurs éditeur DSML Modèle <<représente>> Concepteur vérificateurs générateurs <<représente>> éditeur simulateurs Modèle DSML Concepteur Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte scientifique vérificateurs générateurs simulateurs éditeur Concepteur DSML Modèle <<représente>> vérificateurs générateurs simulateurs éditeur DSML Modèle <<représente>> Concepteur vérificateurs générateurs simulateurs éditeur <<représente>> DSML Modèle Concepteur vérificateurs générateurs simulateurs éditeur DSML Modèle <<représente>> Concepteur Objectif de la thèse : Démarche outillée de métamodélisation pour la simulation et la vérification de modèle. Problématique : Comment exprimer la sémantique comportementale d un DSML et offrir les outils de méta-niveau pour faciliter la définition de simulateurs et de vérificateurs de modèle. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 2 / 38

Contexte Contexte applicatif industriel Le projet TOPCASED Atelier open source couvrant les différentes phases de développement et intégrant les contraintes de certification Différents langages de modélisation (UML, AADL, SysML, SAM...) Éditeurs graphiques Outils de traçabilité, de génération, de transformation et de V & V Application : démarche et outils de méta-niveau pour la définition de simulateurs et de vérificateurs de modèle pour les langages actuels et futurs de l atelier Site Internet : http://www.topcased.org & Serveur de développement : http://gforge.enseeiht.fr/ Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 3 / 38

Contexte Contexte applicatif académique L ingénierie des procédés de développement Conception finishtofinish starttostart finishtostart starttostart RédactionDoc Développement RédactionTest finishtofinish La maîtrise d un procédé s apparente à celle du logiciel [Osterweil87, Estublier05] Différents langages de modélisation de procédés (p. ex. SPEM de l OMG) Et l exécution? Application : définir une extension du standard SPEM permettant la simulation et la vérification de procédés. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 4 / 38

Contexte Plan 1 Contexte 2 Vers une opérationalisation des modèles dans l IDM La métamodélisation Définition de la sémantique d exécution d un DSML 3 Contributions pour la simulation et la vérification de modèle Démarche outillée pour la définition d un DSML exécutable Cadre générique pour la définition de simulateurs de modèle Approche par traduction pour la vérification de modèle Cadre formel pour la métamodélisation 4 Conclusion & perspectives Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 5 / 38

Vers une opérationalisation des modèles dans l IDM Plan 1 Contexte 2 Vers une opérationalisation des modèles dans l IDM La métamodélisation Définition de la sémantique d exécution d un DSML 3 Contributions pour la simulation et la vérification de modèle Démarche outillée pour la définition d un DSML exécutable Cadre générique pour la définition de simulateurs de modèle Approche par traduction pour la vérification de modèle Cadre formel pour la métamodélisation 4 Conclusion & perspectives Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 6 / 38

Vers une opérationalisation des modèles dans l IDM La métamodélisation La métamodélisation Définition d un DSML, illustrée avec l atelier TOPCASED DSML definition Abstract Syntax Concrete Syntax Semantics Domain Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 7 / 38

Vers une opérationalisation des modèles dans l IDM La métamodélisation La métamodélisation Définition d un DSML, illustrée avec l atelier TOPCASED Ecore Editor Process name: String 0..* guidances workdefinitions 0..* WorkDefinition name: String 0..* guidances Guidance content: String linktosuccessor 1 predecessor 0..* successor 0..* 1 linktopredecessor SimplePDL metamodel worksequences 0..* WorkSequence kind: WorkSequenceKind <<enumeration>> WorkSequenceKind finishtostart finishtofinish starttostart starttofinish DSML definition Abstract Syntax Concrete Syntax Semantics Domain Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 7 / 38

Vers une opérationalisation des modèles dans l IDM La métamodélisation La métamodélisation Définition d un DSML, illustrée avec l atelier TOPCASED Ecore Editor Process name: String Editor Generator 0..* guidances workdefinitions 0..* WorkDefinition name: String 0..* guidances Guidance content: String linktosuccessor 1 predecessor 0..* successor 0..* 1 linktopredecessor SimplePDL metamodel worksequences 0..* WorkSequence kind: WorkSequenceKind <<enumeration>> WorkSequenceKind finishtostart finishtofinish starttostart starttofinish DSML definition Abstract Syntax Concrete Syntax Semantics Domain SimplePDL Editor Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 7 / 38

Vers une opérationalisation des modèles dans l IDM La métamodélisation La métamodélisation Définition d un DSML, illustrée avec l atelier TOPCASED Ecore Editor Process name: String Editor Generator 0..* guidances workdefinitions 0..* WorkDefinition name: String 0..* guidances Guidance content: String linktosuccessor 1 predecessor 0..* successor 0..* 1 linktopredecessor SimplePDL metamodel worksequences 0..* WorkSequence kind: WorkSequenceKind <<enumeration>> WorkSequenceKind finishtostart finishtofinish starttostart starttofinish DSML definition Abstract Syntax <<conformsto>> Concrete Syntax Semantics Domain SimplePDL Editor Conception finishtofinish starttostart finishtostart starttostart RédactionDoc Développement RédactionTest finishtofinish SimplePDL model Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 7 / 38

Vers une opérationalisation des modèles dans l IDM Définition de la sémantique d exécution d un DSML Taxonomie des sémantiques dans l IDM int x; void decr () { if ( x>0 ) x = x 1; } System x : Int decr() Abstraite Concrète Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 8 / 38

Vers une opérationalisation des modèles dans l IDM Définition de la sémantique d exécution d un DSML Taxonomie des sémantiques dans l IDM int x; void decr () { if ( x>0 ) x = x 1; } Sémantique axiomatique context System::decr() post : self.x = if ( self.x@pre > 0 ) then self.x@pre 1 else self.x@pre endif System x : Int decr() Abstraite Axiomatique Concrète Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 8 / 38

Vers une opérationalisation des modèles dans l IDM Définition de la sémantique d exécution d un DSML Taxonomie des sémantiques dans l IDM int x; void decr () { if ( x>0 ) x = x 1; } Sémantique axiomatique context System::decr() post : self.x = if ( self.x@pre > 0 ) then self.x@pre 1 else self.x@pre endif System x : Int decr() Sémantique dénotationnelle (i.e. par traduction) x decr Abstraite Axiomatique Dénotationelle Concrète Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 8 / 38

Vers une opérationalisation des modèles dans l IDM Définition de la sémantique d exécution d un DSML Taxonomie des sémantiques dans l IDM int x; void decr () { if ( x>0 ) x = x 1; } Sémantique axiomatique context System::decr() post : self.x = if ( self.x@pre > 0 ) then self.x@pre 1 else self.x@pre endif System x : Int decr() Sémantique dénotationnelle (i.e. par traduction) x decr Sémantique opérationnelle (i.e. langage d action) operation decr () is do if x > 0 then x = x 1 end Abstraite Axiomatique Dénotationelle Opérationnelle Concrète Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 8 / 38

Vers une opérationalisation des modèles dans l IDM Définition de la sémantique d exécution d un DSML Sémantique opérationnelle et sémantique par traduction MonDSML transformation exogène MonDSML DomaineFormel Metamodèle transformation endogène Règles Metamodèle Structure de données Règles Sémantique opérationnelle Sémantique par traduction + expression naturelle de la sémantique, nécessite de définir les outils (p. ex. de V&V). expression d équivalences sémantiques, + permet de réutiliser les outils du domaine cible. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 9 / 38

Plan 1 Contexte 2 Vers une opérationalisation des modèles dans l IDM La métamodélisation Définition de la sémantique d exécution d un DSML 3 Contributions pour la simulation et la vérification de modèle Démarche outillée pour la définition d un DSML exécutable Cadre générique pour la définition de simulateurs de modèle Approche par traduction pour la vérification de modèle Cadre formel pour la métamodélisation 4 Conclusion & perspectives Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 10 / 38

Approche de métamodélisation Définition de la syntaxe abstraite pour la simulation et la vérification FinishToStart FinishToStart FinishToStart Simulation de modèle par animation Vérification dynamique de modèle par model-checking Formalisation d'un DSML exécutable Objectifs : Démarche outillée de métamodélisation pour la définition de DSML «exécutable» et des outils de validation et vérification. maîtriser l activité de métamodélisation, diminuer les coûts, offrir des outils génériques ou des approches génératives. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 11 / 38

Démarche outillée pour la définition d un DSML exécutable Démarche outillée pour la définition d un DSML exécutable Définition de la syntaxe abstraite pour la simulation et la vérification FinishToStart FinishToStart FinishToStart Simulation de modèle par animation Vérification dynamique de modèle par model-checking Formalisation d'un DSML exécutable Problématiques : Exprimer et structurer les différentes préoccupations de la syntaxe abstraite d un DSML exécutable. Expliciter la sémantique comportementale de référence. Illustré par la définition d XSPEM, une extension exécutable de SPEM2.0 Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 12 / 38

Démarche outillée pour la définition d un DSML exécutable Domain Definition MetaModel (DDMM) Définition (DDMM) Décrit les informations structurelles du système Objectif Retranscrire la connaissance des experts sur un domaine particulier. capture les concepts et les contraintes métiers, décrit la structure de données des modèles. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 13 / 38

Démarche outillée pour la définition d un DSML exécutable Domain Definition MetaModel (DDMM) de XSPEM xspem_projectcharacteristics ProcessPerformerMap charge: Int RoleUse occurencenb: Int Activity min_time: Int max_time: Int xspem_core WorkDefinitionPerformerMap ProcessPerformerMap 1 mappedworkdefinition WorkDefinition Activity <<merge>> WorkDefinitionParameter direction: ParameterDirectionKind 0..* ownedparameter ProcessParameter 0..* nestedbreakdownelement BreakdownElement 1..* mappedroleuse RoleUse WorkBreakdownElement 0..1 parametertype WorkProductUse <<enumeration>> WorkSequenceKind finishtostart finishtofinish starttostart starttofinish <<enumeration>> ParameterDirectionKind in out inout successor 1 predecessor 1 0..* 0..* linktopredecessor linktosuccessor WorkSequence linkkind: WorkSequenceKind Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 14 / 38

Démarche outillée pour la définition d un DSML exécutable States Definition MetaModel (SDMM) Définition (SDMM) Métamodèle complémentaire au DDMM qui : capture les informations dynamiques caractérise l ensemble des états observables possibles du modèle Difficulté : définir le «bon» niveau d abstraction des informations dynamiques. Approche Prendre en compte les questions de l expert sur l exécution pour définir les états et événements observables (souhaités). spécifier le comportement en utilisant un langage d expression de contraintes temporelles. Promotion de TOCL (Gogolla & al., 2002) au niveau de Ecore, Définition du modèle de propriétés pour chaque DSML. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 15 / 38

Démarche outillée pour la définition d un DSML exécutable States Definition MetaModel (SDMM) de XSPEM "toute activité non optionnelle doit démarrer", "chaque activité non optionnelle doit être réalisée dans l intervalle de temps tmin et tmax". xspem_processobservability Activity state: ActivityState time: ActivityTime <<enumeration>> ActivityTime ok toolate tooearly <<enumeration>> ActivityState notstarted started suspended finished xspem_core <<merge>> <<merge>> xspem_projectcharacteristics Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 16 / 38

Démarche outillée pour la définition d un DSML exécutable Events Definition MetaModel (EDMM) Définition Métamodèle décrivant les événements (et leurs paramètres) qui font évoluer l exécution du système. Comportement de XSPEM (Activity) Soit a une activité, ws a.predecessor, (ws.linkkind = starttostart && ws.linktopredecessor.state = started) (ws.linkkind = finishtostart && ws.linktopredecessor.state = finished) StartActivity notstarted, ok, clock started, ok, 0 Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 17 / 38

Démarche outillée pour la définition d un DSML exécutable Events Definition MetaModel (EDMM) de XSPEM xspem_eventdescriptions Event ActivityEvent 1 Activity StartActivity FinishActivity RepeatActivity xspem_processobservability <<merge>> SuspendActivity ResumeActivity <<merge>> xspem_projectcharacteristics xspem_core <<merge>> <<merge>> Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 18 / 38

Démarche outillée pour la définition d un DSML exécutable Trace Management MetaModel (TM3) TM3 1 * Scenario Trace xspem_eventdescriptions Event {ordered} * * {ordered} Event kind: EventKind <<enumeration>> EventKind endogenous exogenous 0..1 cause xspem_processobservability <<import>> <<merge>> ActivityEvent Activity 1 StartActivity FinishActivity RepeatActivity SuspendActivity ResumeActivity <<merge>> xspem_projectcharacteristics xspem_core <<merge>> <<merge>> Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 19 / 38

Démarche outillée pour la définition d un DSML exécutable Architecture d un DSML exécutable Définition d un langage de modélisation «exécutable» L m =< AS,CS,M ac,sd,m as > où AS = {DDMM, SDMM, EDMM} {TM3} TM3 Trace Management MetaModel <<import>> EDMM Events Definition MetaModel <<merge>> SDMM States Definition MetaModel <<merge>> <<merge>> DDMM Domain Definition MetaModel Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 20 / 38

Cadre générique pour la définition de simulateurs de modèle Cadre générique pour la définition de simulateurs de modèle Définition de la syntaxe abstraite pour la simulation et la vérification FinishToStart FinishToStart FinishToStart Simulation de modèle par animation Vérification dynamique de modèle par model-checking Formalisation d'un DSML exécutable Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 21 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Trace Management MetaModel <<import>> EDMM Events Definition MetaModel <<merge>> SDMM States Definition MetaModel <<merge>> <<merge>> DDMM Domain Definition MetaModel Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Trace Management MetaModel <<import>> EDMM SDMM Semantics reactiononev1()... reactiononevn() Events Definition MetaModel <<merge>> <<merge>> DDMM States Definition MetaModel <<merge>> Domain Definition MetaModel Semantics1 Semantics2 reactiononev1()... reactiononevn() reactiononev1()... reactiononevn() Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Trace Management MetaModel <<import>> EDMM SDMM Semantics reactiononev1()... reactiononevn() Events Definition MetaModel Action Languages <<merge>> <<merge>> DDMM States Definition MetaModel <<merge>> Domain Definition MetaModel Semantics1 Semantics2 reactiononev1()... reactiononevn() reactiononev1()... reactiononevn() Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Trace Management MetaModel <<import>> EDMM SDMM Semantics reactiononev1()... reactiononevn() Events Definition MetaModel rule reactiononev1 { from.. :... to... :... } <<merge>> <<merge>> DDMM States Definition MetaModel <<merge>> Domain Definition MetaModel Semantics1 Semantics2 reactiononev1()... reactiononevn() reactiononev1()... reactiononevn() Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Trace Management MetaModel <<import>> EDMM SDMM Semantics reactiononev1()... reactiononevn() Events Definition MetaModel operation reactiononev1 is... <<merge>> <<merge>> DDMM States Definition MetaModel <<merge>> Domain Definition MetaModel Semantics1 Semantics2 reactiononev1()... reactiononevn() reactiononev1()... reactiononevn() Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Trace Management MetaModel <<import>> EDMM SDMM Semantics reactiononev1()... reactiononevn() Events Definition MetaModel Action Languages <<merge>> <<merge>> DDMM States Definition MetaModel <<merge>> Domain Definition MetaModel Semantics1 Semantics2 reactiononev1()... reactiononevn() reactiononev1()... reactiononevn() Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Trace Management MetaModel <<import>> EDMM SDMM Semantics reactiononev1()... reactiononevn() Events Definition MetaModel Action Languages <<merge>> <<merge>> DDMM States Definition MetaModel <<merge>> Domain Definition MetaModel Semantics1 Semantics2 reactiononev1()... reactiononevn() reactiononev1()... reactiononevn() Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Objectifs et approches pour la simulation de modèle TM3 Moteur de simulation & panneau de contrôle Constructeur de scénario Trace Management MetaModel EDMM <<import>> SDMM Animateur Semantics reactiononev1()... reactiononevn() Events Definition MetaModel Action Languages <<merge>> <<merge>> DDMM States Definition MetaModel <<merge>> Domain Definition MetaModel Editeur Semantics1 Semantics2 reactiononev1()... reactiononevn() reactiononev1()... reactiononevn() Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 22 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor MDDMM Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Scenario Builder MDDMM Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Scenario Builder MDDMM MEDMM Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Scenario Builder MDDMM MEDMM Simulation Engine Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Scenario Builder MDDMM MEDMM Simulation Engine Generic Simulation Engine DSML_1 Semantics Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Scenario Builder MDDMM MSDMM MEDMM Simulation Engine Generic Simulation Engine DSML_1 Semantics Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Graphical Animator Scenario Builder MDDMM MSDMM MEDMM Simulation Engine Generic Simulation Engine DSML_1 Semantics Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Graphical Animator Scenario Builder MDDMM MSDMM MEDMM Simulation Engine Generic Simulation Engine DSML_1 Semantics Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Graphical Animator Scenario Builder MDDMM MSDMM MEDMM Simulation Engine Generic Simulation Engine DSML_1 Semantics Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Communication entre les composants Graphical Editor Graphical Animator Control Panel Scenario Builder MDDMM MSDMM MEDMM Simulation Engine Generic Simulation Engine DSML_1 Semantics Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 23 / 38

Cadre générique pour la définition de simulateurs de modèle Simulateur de modèles XSPEM Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 24 / 38

Cadre générique pour la définition de simulateurs de modèle Simulateur de machines à états UML2.0 Inclus dans l atelier TOPCASED à partir de la version 2.0. Synchronisé avec la version Ganymede d Eclipse : aujourd hui! Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 25 / 38

Approche par traduction pour la vérification de modèle Approche par traduction pour la vérification de modèle Définition de la syntaxe abstraite pour la simulation et la vérification FinishToStart FinishToStart FinishToStart Simulation de modèle par animation Vérification dynamique de modèle par model-checking Formalisation d'un DSML exécutable Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 26 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle xspem.ecore Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle xspem.ecore <<conformsto>> myprocess.xspem myprocess.net Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle xspem.ecore PetriNet.ecore <<conformsto>> <<conformsto>> myprocess.xspem myprocess.petrinet myprocess.net Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle xspem.ecore PetriNet.ecore <<conformsto>> xspem2 PetriNet.atl ATL (M2M) <<conformsto>> myprocess.xspem myprocess.petrinet myprocess.net Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle xspem.ecore PetriNet.ecore <<conformsto>> xspem2 PetriNet.atl ATL (M2M) <<conformsto>> Tina.tcs TCS myprocess.xspem myprocess.petrinet myprocess.net Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle DDMM: réseau de Petri (RdP) SDMM: marquage du RdP EDMM: preuve de bisimulation xspem.ecore PetriNet.ecore <<conformsto>> xspem2 PetriNet.atl ATL (M2M) <<conformsto>> Tina.tcs TCS myprocess.xspem myprocess.petrinet myprocess.net Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle DDMM: réseau de Petri (RdP) SDMM: marquage du RdP EDMM: preuve de bisimulation xspem.ecore PetriNet.ecore <<conformsto>> xspem2 PetriNet.atl ATL (M2M) <<conformsto>> Tina.tcs TCS myprocess.xspem myprocess.petrinet myprocess.net Tina Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Approche par traduction pour la vérification de modèle Démarche générale pour la vérification de modèle DDMM: réseau de Petri (RdP) SDMM: marquage du RdP EDMM: preuve de bisimulation TOCL.ecore xspem.ecore PetriNet.ecore <<conformsto>> <<conformsto>> xspem2 PetriNet.atl ATL (M2M) <<conformsto>> Tina.tcs TCS properties.tocl <<use>> myprocess.xspem <<dependon>> TOCL2 LTL.atl ATL (M2T) myprocess.petrinet myprocess.net Tina properties.ltl Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 27 / 38

Cadre formel pour la métamodélisation Cadre formel pour la métamodélisation Définition de la syntaxe abstraite pour la simulation et la vérification FinishToStart FinishToStart FinishToStart Simulation de modèle par animation Vérification dynamique de modèle par model-checking Formalisation d'un DSML exécutable Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 28 / 38

Cadre formel pour la métamodélisation Cadre formel pour la métamodélisation Objectif : formaliser la sémantique comportementale de référence valider les sémantiques par traduction, engendrer les sémantiques opérationnelles. Approche : définition d un framework, basé sur un outil formel comme l assistant de preuve COQ, permettant de : traduire de manière transparente et automatiquement la syntaxe abstraite (en MOF) et la sémantique statique (en OCL) d un DSML, définir la sémantique opérationnelle d un DSML (sémantique de référence). Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 29 / 38

Cadre formel pour la métamodélisation Travaux relatifs : Jouault & Bézivin [FMOODS 06] Notion de ReferenceModel «Un modèle est conforme à un modèle de référence» «Un modèle de référence est un modèle» un ReferenceModel est conforme à un ReferenceModel, un ReferenceModel initial doit être réflexif. Illustré par la formalisation de KM3 Implanté en Prolog 1 conformsto conformsto 1 MetaModel ReferenceModel self.conformsto. ocliskindof(metametamodel) * * Model ReferenceModel Model MetaMetaModel TerminalModel self.conformsto = self Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 30 / 38

Cadre formel pour la métamodélisation Description intuitive de COQ4MDE Modèle (MODEL) et classe de modèles (MODELCLASS) MODELCLASS ( concepts, relations, semantique ) : langage de modélisation permettant de définir une famille de modèles, spécifie les propriétés sémantiques de ces modèles. MODEL ( objets, liens ) : le niveau des instances. promotionof 0..1 Model (M) ModelClass (MC) conformsto(m:m) : Bool 1..* conformsto Un modèle est conforme à une ou plusieurs classe(s) de modèles. Une classe de modèles est obtenue directement ou par promotion. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 31 / 38

Cadre formel pour la métamodélisation Formalisation de XSPEM NamedElement name: String Type type 1 TypedElement DataType Boolean String Natural! Class isabstract: Boolean = false 0..* superclass owner {ordered} 0..* ownedattribute Property lower: Natural! = 1 upper : Natural! = 1 isordered : Boolean = false iscomposite: Boolean = false default: String = "" 0..1 opposite Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 32 / 38

Cadre formel pour la métamodélisation Formalisation de XSPEM NamedElement name: String Type type 1 TypedElement DataType Boolean String Natural! Class isabstract: Boolean = false 0..* superclass owner {ordered} 0..* ownedattribute Property lower: Natural! = 1 upper : Natural! = 1 isordered : Boolean = false iscomposite: Boolean = false default: String = "" 0..1 opposite <<conformsto>> : Class name = "Activity" ownedattribute type superclass : Property name = "ownedparameter" iscomposite = true lower = 0 upper = * : Class name = "WorkBreakdownElement" isabstract = true : Class name = "Parameter" ownedattribute : Property name = "parametertype" type : Class name = "Resource" Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 32 / 38

Cadre formel pour la métamodélisation Formalisation de XSPEM NamedElement name: String Type type 1 TypedElement Activity 0..* Parameter DataType Boolean String Natural! Class isabstract: Boolean = false 0..* superclass owner {ordered} 0..* ownedattribute Property lower: Natural! = 1 upper : Natural! = 1 isordered : Boolean = false iscomposite: Boolean = false default: String = "" 0..1 opposite ownedparameter parametertype 1 WorkBreakdownElement Resource <<conformsto>> <<promotionof>> : Class name = "Activity" ownedattribute type superclass : Property name = "ownedparameter" iscomposite = true lower = 0 upper = * : Class name = "WorkBreakdownElement" isabstract = true : Class name = "Parameter" ownedattribute : Property name = "parametertype" type : Class name = "Resource" Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 32 / 38

Cadre formel pour la métamodélisation Évaluation de COQ4MDE Formalisation de la classe de modèles EMOF_Core (MC MOF ). MOF:MC Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 33 / 38

Cadre formel pour la métamodélisation Évaluation de COQ4MDE Formalisation de la classe de modèles EMOF_Core (MC MOF ). Vérification de la métacircularité de EMOF_Core : définition du modèle M MOF conforme à MC MOF et de la promotion P, t. q. : P(M MOF ) = MC MOF MOF:M <<conformsto>> <<promotionof>> MOF:MC Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 33 / 38

Cadre formel pour la métamodélisation Évaluation de COQ4MDE Formalisation de la classe de modèles EMOF_Core (MC MOF ). Vérification de la métacircularité de EMOF_Core : définition du modèle M MOF conforme à MC MOF et de la promotion P, t. q. : P(M MOF ) = MC MOF Formalisation de la pyramide de l OMG. model metamodel MOF:M <<conformsto>> <<promotionof>> MOF:MC metametamodel <<conformsto>> xspem:m xspem:mc <<promotionof>> <<conformsto>> Process:M Real World M3 M2 M1 M0 Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 33 / 38

Conclusion & perspectives Plan 1 Contexte 2 Vers une opérationalisation des modèles dans l IDM La métamodélisation Définition de la sémantique d exécution d un DSML 3 Contributions pour la simulation et la vérification de modèle Démarche outillée pour la définition d un DSML exécutable Cadre générique pour la définition de simulateurs de modèle Approche par traduction pour la vérification de modèle Cadre formel pour la métamodélisation 4 Conclusion & perspectives Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 34 / 38

Conclusion & perspectives Contributions Taxonomie des techniques pour implanter la sémantique d exécution d un DSML [IDM 06,MDEIS 06], Démarche de métamodélisation pour la simulation et la vérification de modèle, Approche dirigée par les propriétés pour la définition de la syntaxe abstraite d un DSML exécutable [EIS vol.ix], Approche pour la vérification formelle de modèle par sémantique de traduction [IDM 07,ECMDA 08], Architecture et outils génériques pour la simulation de modèle par sémantique opérationnelle [TopcasedWP2.10 D01, TopcasedWP2.10 D02], Cadre formel de métamodélisation et API en COQ pour la définition des modèles et de la sémantique statique [Towers 07]. Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 35 / 38

Conclusion & perspectives Applications et transfert technologique XSPEM, une extension exécutable de SPEM2.0 [APSEC 07], TopProcess (WP1 & Tectosages) : outils pour la modélisation, la vérification et la simulation de modèles XSPEM [ERTS 08a] http://combemale.perso.enseeiht.fr/xspem/ http://gforge.enseeiht.fr/projects/topcased-pe/ Topcased Tina Bridges (WP3 & LAAS CNRS et SopraGroup) : intégration sur le bus de modèles TOPCASED des projecteurs pour TINA http://gforge.enseeiht.fr/projects/tina-bridges/ Topcased Model Simulation (WP2 & ONERA, Anyware et Atos Origin) : simulateur de machines à états UML2.0 [ERTS 08b], et bientôt SAM... http://gforge.enseeiht.fr/projects/topcased-ms/ Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 36 / 38

Conclusion & perspectives Perspectives Environnement d expression des propriétés temporelles Analyse des résultats de vérification Extension du cadre de simulation (points d arrêt, outils d analyse, etc.) Sémantique d exécution avec création dynamique Environnement formel de métamodélisation Administration de systèmes dirigée par les modèles Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 37 / 38

Conclusion & perspectives Soutenance de thèse Approche de métamodélisation pour la simulation et la vérification de modèle Application à l ingénierie des procédés Benoît Combemale Institut de Recherche en Informatique de Toulouse (CNRS UMR 5505) Université de Toulouse, France. http://combemale.perso.enseeiht.fr Benoît Combemale (IRIT CNRS) Approche de métamodélisation 11 juillet 2008 38 / 38