Customisation Rhapsody et approche méthodologique Retour d expérience sur l implémentation d un langage et profil UML associé 1
Sommaire Principe d un développement méthodologique Evocation d ISR (Ingénierie Système Relativisée) Les enjeux liées à l implémentation Positionnement stratégique Exemple d une architecture type d application encapsulant Rhapsody Méta-modèle et développement Java: illustration sous Eclipse Méta-modèle et profil UML: illustration sous Rhapsody Exemple commenté de deux applications (Eclipse et Rhapsody) Importation messagerie CAN Génération d un environnement de simulation Bilan Questions/réponses 2
Introduction : principe méthodologique Toute méthodologie doit nécessairement remplir trois conditions avant de prétendre à une quelconque généralisation : Fonder la méthode sur une théorie de la connaissance permettant d établir un lien formel entre les éléments du langage et la factualité physique (objet) ou utilisateur (produit). S'appuyer sur des processus structurés par un langage et reposant sur des outils qui la mettent en œuvre Démontrer une efficacité réelle sur des cas concrets 3
ISR: aperçu des fondamentaux ISR repose sur une approche relativiste, s appuyant sur un théorie mathématisée de la connaissance, issue de la mécanique quantique mais de portée générale : MCR (Méthode de Conceptualisation Relativisée: Mioara Mügur-Schächter(http://www.mugur-schachter.net/ ;http://www.cesef.net/) Elle se caractérise par : Une claire distinction entre «produit» et «objet technique» L introduction des concepts de finalité et de contexte dans toute représentation Le recours à différents niveaux de conceptualisation pour construire une relation formelle entre sémantique et factualité, permettant d établir un lien formel entre spécification et test (lois factuelles de probabilité) Un nette distinction entre spécification, conception système (points de vue finalisés sur un ensemble de ressources) et optimisation des ressources (concepts d architecture et d article final) 4
Les enjeux liées à l implémentation Formalisation du langage Normalisation et pérennité: Expression du langage dans un référentiel PIM (Platform Independant Model) MOF (Méta object Facilities) : Kermeta (TOCASED) Implémentation outillée: Tout nouveau langage implique à priori de nouveaux outils (éditeurs, compilateurs, etc.) La création d un profil UML associé permet de bénéficier de la puissance d éditeur comme Rhapsody exploitant le mécanisme d extension UML(profil). Garantir le lien entre customisation et langage méthodologique Garantir la conformité des macros par rapport aux règles syntaxiques du langage Offrir un environnement d édition permettant la mise en œuvre de ces macros et une IHM adaptée. 5
Positionnement stratégique Solution opérationnelle ISR existante Outils «propriétaires» Rhapsody Environnement d édition et de simulation Matlab/Simulink Environnement de génération de test LTG (Leirios) Environnement TOPCASED MOF KERMETA Méta modélisation Intégration Customisation ECORE EMF Environnement de génération du référentiel de test 6
Architecture de l application : indépendance entre Méthode et Rhapsody Le langage est implémenté au travers de la couche métier IHM L accès à l API de Rhapsody est encapsulé (wrapper) Les macros correspondant aux «helper trigger» sont encapsulées MACROS Erreur mgt. application IHM Méta modèle (Langage) Common Wrapper 7
Cohérence entre méta modèle et encapsulation Rhapsody Isomorphisme entre méta-modèle et application java (voir Eclipse) Le méta-modèle métier constitue la couche applicative de l application encapsulant Rhapsody 8
Profil Rhapsody et application sous Eclipse Le langage est implémenté au travers d un profil UML (voir Rhapsody) Chaque stéréotype ou tag value correspond à un élément du langage Rhapsody permet de créer un environnement utilisateur ou toute référence à UML est encapsulée sous un élément de langage 9
Exemples d application Importation d une messagerie CAN Création des types et éléments correspondant aux trames CAN et aux paramètres d une messagerie fonctionnelle Voir démo Création d une environnement de simulation à partir d un modèle d environnement et d un modèle de référence Création automatiques des classes d interface Asynchrone/synchrone Choix d un modèle d environnement Choix d un modèle de référence Création automatique de l environnement de simulation Voir démo 10
Bilan : une faisabilité prouvée mais quelques limites Grace à Rhapsody, et son API, il est effectivement possible et relativement aisé un environnement de travail à une méthodologie Quelques limites cependant.. Helper triggers: les évènements susceptibles de donner lieu à des triggers sont limitées: il n est pas possible d exécuter une application et de travailler sous Rhapsody parallèlement Les actions éventuelles de l utilisateur en cours d exécution sont «empilées» pour être exécutées à l issu de la macro: risque d incohérence UML et donc les outils qui l implémentent ne sont pas totalement cohérents, exemples: UML ne conceptualise pas la notion d instance (new ): analogue à la situation du calcul probabiliste en mathématiques Pas de distinction entre les concepts de part, instance et objet Pas d implémentation de la notion de «weak composite structure»: «parts» pointant sur des instances/objets qui ne leur «appartiennent» pas 11