Spécification et Vérification de Modèles de Procédés de Développement Master Recherche SLCP – Laboratoire GRIMM ISYCOM – Jeudi 23 juin 2005 Spécification et Vérification de Modèles de Procédés de Développement Soutenance présentée par Benoît COMBEMALE Directeur de Recherche : Bernard COULETTE, Université Toulouse II Encadrants : Xavier CRÉGUT, ENSEEIHT INPT Alain CAPLAIN, Université Toulouse II
Langages + Démarche + Outils = Méthode Problématique La mise au point d’un procédé est une tâche complexe besoin d’un méta procédé outillé, associé à un ensemble de notations cohérentes Même problématique que l’ingénierie du logiciel: Langages + Démarche + Outils = Méthode L’ingénierie des modèles peut-elle répondre à la problématique des procédés de développement ? 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
PLAN Problématique Spécification de procédés Software Process Engineering Metamodel (SPEM) Object Constraint Language (OCL) Clarification de l’utilisation de SPEM Spécialisation du méta-modèle SPEM Proposition d’un cadre méthodologique Évaluation des outils supportant SPEM et OCL Modélisation de MACAO Conclusion & Perspectives 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
PLAN Problématique Spécification de procédés Software Process Engineering Metamodel (SPEM) Object Constraint Language (OCL) Clarification de l’utilisation de SPEM Spécialisation du méta-modèle SPEM Proposition d’un cadre méthodologique Évaluation des outils supportant SPEM et OCL Modélisation de MACAO Conclusion & Perspectives 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
1. Objectifs | 2. Spécification de procédés | 3 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives SPEM Langage de modélisation semi-formel pour les procédés de développement (OMG) : Version courante: 1.1 formal/05-01-06 Vers une version 2.0: RFP ad/04-11-04 Concept de base : Constat sur l’utilisation de SPEM : Sémantique partiellement formalisée, Pas de directive sur la structuration d’un procédé, Possibilité d’engendrer des modèles incohérents. 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
1. Objectifs | 2. Spécification de procédés | 3 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives OCL Langage formel pour l’expression de contraintes au sein des modèles (OMG) : Version courante: 2.0 ptc/03-10-14 Offre une syntaxe concrète et abstraite (v2), Précise la sémantique structurelle des modèles mais a un pouvoir d’expressivité limité Proposition de nombreuses extensions pour la logique temporelle: TOCL, OCL+, etc. pour la fermeture transitive: OCL+ 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
PLAN Problématique Spécification de procédés Software Process Engineering Metamodel (SPEM) Object Constraint Language (OCL) Clarification de l’utilisation de SPEM Spécialisation du méta-modèle SPEM Proposition d’un cadre méthodologique Évaluation des outils supportant SPEM et OCL Modélisation de MACAO Conclusion & Perspectives 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
23 juin 2005
Spécialisation du méta modèle SPEM 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives Spécialisation du méta modèle SPEM Une activité doit, de manière exclusive, être associée à une phase ou une itération : context Activity inv : self.itParentWork notEmpty() xor self.phParentWork notEmpty() Une activité doit utiliser ou réaliser au moins un produit : self.input notEmpty() or self.output notEmpty() La réalisation d'une activité ne peut pas être assistée par le rôle qui en a déjà la responsabilité : self.assistant excludes(self.performer) 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
La démarche Spécification cohérente et rigoureuse 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives La démarche Donne un cadre méthodologique pour l’utilisation de SPEM, Formalise progressivement les vues structurelle et descriptive. Spécification cohérente et rigoureuse 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
Saisie des contraintes OCL Vérification des contraintes OCL 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives Les outils Indispensables pour la modélisation et pour la vérification. Outils de modélisation : Outils de vérification : Vérification des contraintes exprimées au niveau modèle et métamodèle Outils: USE, Neptune, OCLE, KMF, OCL Compiler, Key Tool, BoldSoft, … Syntaxe SPEM Sémantique SPEM Saisie des contraintes OCL Vérification des contraintes OCL Objecteering/UML X Enterprise Architect 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
PLAN Problématique Spécification de procédés Software Process Engineering Metamodel (SPEM) Object Constraint Language (OCL) Clarification de l’utilisation de SPEM Spécialisation du méta-modèle SPEM Proposition d’un cadre méthodologique Évaluation des outils supportant SPEM et OCL Modélisation de MACAO Conclusion & Perspectives 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
MACAO Procédé de développement complet 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives MACAO Procédé de développement complet Étape 1 Analyse globale Étape 2 Conception globale Étape 3 : Développement Étape 4 Finalisation Prototype 3 Prototype N Définition Conception Intégration Bêta-Tests Codage Prototype 2 Prototype 1 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
MACAO Procédé de développement complet 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives MACAO Procédé de développement complet Analyse Globale Conception Globale Développement Finalisation Phases Itérations* AG CG Dev#1 Dev#2 Dev#n Fin Disciplines Analyse Conception * La notion d’itération est ici utilisée au sens RUP du terme. 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
MACAO Point de vue Structurel 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives MACAO Point de vue Structurel 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
MACAO Point de vue Descriptif 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives MACAO Point de vue Descriptif 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
PLAN Problématique Spécification de procédés Software Process Engineering Metamodel (SPEM) Object Constraint Language (OCL) Clarification de l’utilisation de SPEM Spécialisation du méta-modèle SPEM Proposition d’un cadre méthodologique Évaluation des outils supportant SPEM et OCL Modélisation de MACAO Conclusion & Perspectives 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
Conclusion Précision sémantique des concepts de SPEM, 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives Conclusion Précision sémantique des concepts de SPEM, Spécialisation du méta-modèle d’origine, Proposition d’une démarche méthodologique pour la formalisation des procédés, Évaluation d’outils supportant SPEM et OCL, Application au procédé MACAO. 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
1. Objectifs | 2. Spécification de procédés | 3 1. Objectifs | 2. Spécification de procédés | 3. Clarification de l’utilisation de SPEM | 4. Modélisation de MACAO | 5. Conclusion & Perspectives Perspectives Implémentation de notre proposition de méta-modèle en tant que profil SPEM, Étude et classification des règles applicables aux procédés de développement, Vérification formelle des règles à travers des outils (Neptune, OCLE, etc…), Étude d’une sémantique opérationnelle applicable aux procédés de développement. 23 juin 2005 Master Recherche SLCP - Laboratoire GRIMM ISYCOM, Université Toulouse II
MERCI de votre attention des questions ? Mémoire: http://www.combemale.net/research/m2r/memoireM2RSLCP.pdf