NEPTUNE workshop 2009

 

26 mai 2009

 

09h00-09h15
Accueil et présentation des journées NEPTUNE 2009 Agusti Canals - CS Communication&Systèmes Français
09h15-10h00 MDE, DSL et UML : Où en est on ? P. Desfray (SOFTEAM )
10h00-10h30 MyCCM-HI, un framework pour la construction d’applications basées composants, centré sur l’IDM T. Vergnaud, G. Haïk (THALES Land and Joint Systems) J. Hugues, L. Pautet (TELECOM ParisTech, LTCI)
11h00-11h30 Modélisation des langages et prise en compte des exigences dans les phases terminales des processus de développement de logiciels T.-T. Le Thi, P. Bazex, T. Millan et C. Percebois (IRIT)
11h30-12h00 Application à la modélisation des systèmes de contrôles et de commandes de l’espace et de l’aéronautique L. Sabatier (Sodifrance), E. Poupart (CNES), P. Bazex, T.-T. Le Thi et T. Millan (IRIT)
14h00-14h30 Modélisation UML/MARTE pour les SoPC A. Koudri (Thales/ENSIETA), J. Champeau (ENSIETA), D. Aulagnier (Thales), D. Vojtisek (INRIA/Triskell)
14h30-15h00 MDE, DSL : Modernisation du patrimoine logiciel par les modèles A. Henry (Netfective Technology)
15h30-16h00 « Team Signature Composer » Framework, une solution pour la mise en place de systèmes de collaborations multi-métiers, ... J. Aracic (Crescendo Technologies) et M. Canitrot (Prometil)
16h00-16h30 La création de points de vue avec Obeo Designer, ou comment fabriquer des DSM Eclipse sans être un développeur expert ? É. Juliot (OBEO)
16h30-17h30 Bilan et Synthèse de la journée
Table ronde
K. Youbi (Netfective Technology), A. Canals (CS), É. Juliot (Obeo), J.-M. Bruel (IRIT) et P. Roques (A2 - Artal Innovation) P. Roques J.-M. Bruel

 

27 mai 2009

 

08h45-09h00 MDE et les outils propriétaires ou libres ? T. Millan (IRIT) English
09h00-10h00 Le support de MDE et des DSL dans les outils de modélisation de IBM P. Leblanc (IBM France)
10h00-10h30 Les composants SAM et OCL Checker du projet TOPCASED S. Gabel et A. Canals (CS Communication&Systèmes) et P. Gaufillet (Airbus)
11h00-11h30 Mise en œuvre de ATL dans des chaînes de validation de systèmes (fonctionnalités, performances) O. Constant (Verimag/OBEO) et F. Jouault (INRIA et Ecole des Mines de Nantes)
11h30-12h00 Utilisation des transformations de modèles pour implémenter un moteur de simulation d'automates R. Faudou et S. Duprat (Atos)
14h00-14h15 Soutien de l’ANR aux logiciels libres et à MDE via OpenEmbeDD B. Braunschweig (ANR)
14h15-15h00 Présentation des résultats du projet OpenEmbeDD C. André (INRIA), M. Belaunde (FTRD), A. Canals (CS Communication&Systèmes), S. Graf (VERIMAG), all
15h30-16h00 La plate-forme OpenEmbeDD et ses outils d’ingénierie de modèles D. Vojtisek (IRISA)
16h00-16h30 Le Profil MARTE et l'analyse d'ordonnancement H. Espinoza, R. Schnekenburger (CEA LIST)
16h30-17h00 Le modèle de temps MARTE et CCSL C. André, F. Mallet (Projet AOSTE, I3S/INRIA)
17h00-17h30 Conclusion J.-P. Talpin (IRISA) et B. Braunschweig (ANR)


Papers will be published in "Génie Logiciel - Magazine de l'ingéniérie du logiciel et des systèmes" during June
2009 Génie Logiciel - Magazine de l'ingéniérie du logiciel et des systèmes - GL & IS - 8, rue du Parc - 92190 MEUDON

Modèle de temps de MARTE et CCSL

Charles André, Frédéric Mallet - Projet AOSTE, I3S/INRIA

UML est un langage de modélisation largement utilisé. Il offre cependant peu de possibilités pour représenter des aspects liés au temps. Les seuls concepts temporels introduits dans UML2 sont ceux définis dans le modèle simpliste « SimpleTime ». La spécification d’UML dit explicitement que ce modèle devrait être affiné dans des profils. C’est le cas du profil UML MARTE (Modeling and Analysis of Real Time and Embedded systems) qui a été adopté en juin 2007 par l’OMG et qui est actuellement en phase de finalisation (FTF).
Une des contributions importantes du profil MARTE est l’introduction d’un modèle de temps général, qui ne se limite pas à un temps « chronométrique » simple. MARTE peut modéliser des référentiels temporels multiples et également le temps logique. Les modèles multi-horloges ou polychrones sont nécessaires dans les applications distribuées et permettent de modéliser les systèmes de type GALS (Globalement Asynchrones et localement synchrones). Le temps logique, qui inclut le temps multiforme, initialement introduit par les langages synchrones, est désormais d’usage courant en conception de systèmes numériques. La structure temporelle introduite par le modèle de temps de MARTE peut être manipulée par le langage de spécification CCSL (Clock Constraint Specification Language) défini en annexe de la spécification OMG.
Cette présentation est une introduction au modèle de temps de MARTE, aux diverses formes d’expression des valeurs temporelles et à CCSL. Leurs utilisations en modélisation et en analyse sont illustrées sur un exemple simple de filtrage numérique de flux vidéo. L’environnement Eclipse dans lequel le modèle de temps de MARTE a été implanté, nommé TimeSquare, est également décrit. Il a quatre fonctions principales. Il propose des assistants interactifs pour appliquer le profil de temps et les contraintes CCSL. L’analyseur vérifie la syntaxe et la cohérence des contraintes d’horloge CCSL. Le simulateur s’appuie sur plusieurs politiques de simulation pour exécuter la spécification et générer des séquences possibles d’exécution. Enfin, l’éditeur de traces permet d’afficher et d’explorer les résultats.
Mots clés : UML MARTE, Systèmes embarqués et temps réel, IDM, modèles de temps, Clock Constraint Specification Language (CCSL), TimeSquare.

Le Profil MARTE et l'analyse d'ordonnancement

Huascar Espinoza, Rémi Schnekenburger - CEA LIST

Dans l'ingénierie dirigée par les modèles, les modèles sont utilisés habituellement pour la production de systèmes ou la génération de code. Un des challenges actuels est d'intégrer dans ces modèles des informations liées à l'analyse de performance. Le but est de réduire le temps nécessaire à la préparation d'un modèle de design en vue de l'analyse de performances et d'assurer une plus grande précision d'un modèle d'analyse en l'associant directement au modèle système.
Le profil UML pour MARTE (Modeling and Analysis Real-Time and Embedded systems) est un standard industriel mondial adopté par l'OMG (Object Management Group). Ce profil permet de répondre aux besoins de modélisation pour les analyses quantitatives, comme la consommation mémoire, les performances et l'analyse d'ordonnançabilité.
Les outils d'analyse d'ordonnancent sont capables d'évaluer les contraintes de temps et de garantir le comportement d'un système ou d'une partie de code. Ce sont des garanties "hors-ligne", car il n'y a pas besoin de faire fonctionner le système afin de fournir ces garanties. Des exemples de telles garanties peuvent être par exemple les temps de réponse au mieux/au pire de fonctions.
MARTE permet l'analyse d'ordonnançabilité en proposant des annotations standardisées, qui complètent des modèles UML. Ces informations peuvent ensuite être utilisées par des outils spécialisés. Par exemple, des outils d'analyse temporelle grain-fin peuvent aider à déterminer le temps d'exécution au pire cas de certaines parties de code. Ces temps d'exécution peuvent ensuite être utilisés lors de l'analyse d'ordonnancement afin de prévoir des temps de réponse de bout en bout. Ces annotations sont définies dans le sous-profil SAM de MARTE (Schedulability Analysis Modeling). Le but de ces annotations est de rapprocher le modèle de l'application d'un modèle d'analyse d'ordonnancement. Elles peuvent ensuite être utilisées par un outil d'analyse automatique pour déterminer les propriétés temporelles d'un logiciel. Les résultats de l'analyse peuvent être utilisés pendant les différentes phases du développement : une analyse précoce d'un modèle de design permet de détecter les architectures temps réel non réalisables, tandis qu'une analyse tardive d'un système implanté aide les développeurs à découvrir les fautes liées à l'aspect temporel, ou a évaluer l'impact de la migration vers une autre plate-forme ou de l'évolution d'une plate-forme.
Mots clés : MARTE, UML, SAM, Analyse d'ordonnançabilité

OpenEmbeDD : La plate-forme et ses outils d’ingénierie de modèles

Didier Vojtisek - INRIA

La plate-forme du projet OpenEmbeDD a été conçue en couche afin d'offrir une méthodologie générique pour les besoins du domaine particulier du temps réel. L'approche suivie repose sur l'utilisation de l'Ingénierie Des Modèles (IDM) dans l'environnement Eclipse. Les outils dédiés au temps réel étant alors soit conçus grâce à cette méthodologie, soit rendus compatibles avec celle-ci.
En particulier, les efforts conjugués des partenaires ont permis d'intégrer un ensemble cohérent d'outils de modélisation génériques open source qui permettent de traiter la plupart des tâches d'une conception dirigée par les modèles.
Elle s'articule autour de composants tels que le framework EMF de manipulation des modèles, le générateur de modeleurs graphiques Topcased, le langage de transformation ATL, l'environnement de méta-modélisation Kermeta, l'éditeur de profils Papyrus…
D'une part, la plate-forme offre des outils conformes aux standards industriels les plus répandus. Elle incorpore un modeleur UML complet, mais aussi les méta-modèles et profils AADL, SysML, MARTE, SDL.
D'autre part, la plate-forme supporte aussi les approches basées sur l'utilisation de Langages Spécifiques au Domaine (ou DSL) et propose des composants vous permettant de construire et d'outiller votre propre langage. Toutes les activités de la création de DSL sont couvertes : de la conception de sa structure avec le modeleur Ecore, la spécification de sa sémantique opérationnelle avec Kermeta, à la génération automatique d'éditeur et de modeleur avec EMF et le générateur Topcased, en passant par les transformations de modèles avec ATL ou bien la vérification, …
Offrant déjà une bonne couverture fonctionnelle pour faire de l'IDM, la plate forme est extensible et ouverte, et d'autres composants open source peuvent lui être ajoutés pour la compléter et l'adapter à vos besoins spécifiques.
Mots clés : Modeleur, générateur d'outils, UML, DSL, transformation de modèles.

Présentation des résultats du projet OpenEmbeDD

Charles André - INRIA, Mariano Belaunde - FTRD, Agusti Canals - CS, Susanne Graf - VERIMAG, Vincent Mahé - INRIA, Michel Nakhlé - CS, Rémi Schneckenburger - CEA, Robert de Simone - INRIA, Jean-Pierre Talpin - INRIA, Catherine Teissedre - Thalès DAe, François Vernadat - LAAS

L’objectif du projet OpenEmbeDD est de fournir une plate-forme générique, reposant sur des technologies d’ingénierie de modèles (IdM), pour l’intégration d’outils d’aide à la conception d’applications temps réel embarqué (TR/E). Les technologies d’IdM considérées reposent sur l’environnement Eclipse et fournissent une solution générale pour l’intégration d’outils TR/E sur la plate-forme (par exemple en intégrant l’outil avec un modeleur) et leur interopération (par exemple en réalisant des transformations de modèles). La plate-forme OpenEmbeDD peut, qui plus est, être instanciée à un domaine d’application précis, en sélectionnant parmi l’ensemble de ces outils ceux répondant à un cas d’utilisation précis, et ce à coût de déploiement moindre.
L’intérêt premier de la plate-forme OpenEmbeDD, pour l’utilisateur qui l’installera, réside dans la facilité d’avec laquelle elle peut être installée (en quelques clics) puis utilisée. Ensuite, elle offre des solutions d’IdM minimales permettant de mettre en œuvre rapidement un modeleur puis de l’intégrer facilement à une suite d’outils par transformation de modèles.
Pour cela, OpenEmbeDD se base sur l’environnement, le format EMF pour la manipulation des modèles, le générateur de modeleurs graphiques Topcased, le langage de transformation ATL, l'environnement de méta-modélisation Kermeta, l'éditeur de profils UML Papyrus.
Sa conformité aux standards industriels les plus répandus est un avantage important. Elle incorpore un modeleur UML complet, mais aussi les méta-modèles AADL, SysML, MARTE, SDL. Elle s'appuie sur la version de développement de plug-ins Java d'Eclipse.
La plate-forme OpenEmbeDD permet donc de complémenter la modélisation d’applications utilisant des profils UML standards avec toute la souplesse et la spécificité d’outils métier d’aide à la conception pour le TR/E, et ce à moindre coût de développement.
Mots clés : outillage, standards, langage, environnement intégré, DSL

Les Soutien de l’ANR aux logiciels Libres et à MDE via OpenEmbeDD

Bertrand Braunschweig - ANR

L’objectif de cet article est de présenter les projets soutenus par l’ANR dans le domaine du génie logiciel et de l’ingénierie dirigée par les modèles, et en particulier de notre appréciation des résultats d’OpenEmbeDD. Puis d’aborder notre politique vis-à-vis des logiciels libres et des logiciels propriétaires. Et enfin pour conclure proposer quelques pistes sur les programmes et appels à venir dans le domaine des STIC en général et dans le domaine intéressant NEPTUNE en particulier.
Mots clés : ANR, MDE, Systèmes Embarqués, Logiciel Libre

Utilisation des transformations de modèles pour implémenter un moteur de simulation d'automates

Stéphane Duprat, Raphaël Faudou, David Ribeiro-Campelo, Ludi Akue - Atos Origin Integration

La possibilité d'animer les modèles immédiatement après, voire au cours de leur conception offre de multiples avantages à l'utilisateur : celui de « debugger » son modèle tout d'abord, et aussi celui de vérifier le fonctionnel ainsi spécifié en lui donnant vie. C'est pour pouvoir intervenir le plus tôt possible dans le cycle de développement que la simulation de modèle "Topcased" est une approche entièrement basée sur les modèles. Ainsi, à l'inverse des solutions de simulation s’appuyant sur du code généré à partir des modèles, la simulation de modèles Topcased est une solution générique ne mettant en oeuvre que des modèles et manipulant ceux-ci par transformation de modèle, comme c’est actuellement le cas avec l’outil smartQVT.
En premier lieu des modèles mis en jeux lors d'une simulation figure le modèle édité par l'utilisateur, faisant figure de spécification d'un comportement dynamique. C'est le cas des spécifications UML de State machine. Vient s'ajouter à ce modèle un modèle dynamique permettant de disposer des informations « dynamiques » non disponibles dans le modèles « statique ». Ce qui est le cas des états courants des instances des State machine, par exemple.
Sur ces bases là, la simulation de modèle revient à mettre à jour à chaque pas le modèle dynamique en fonction des environnements externes – ou internes – qui lui sont injectés. Cette opération peut être réalisée en java sur EMF. Mais vue dans une approche MDA, la mise à jour du modèle dynamique s'entend comme étant une transformation endogène sur un même modèle en entrée/sortie. Les résultats très rapidement concluants de la mise en oeuvre de cette transformation par smartQVT ont donné raison à cette approche. L'implémentation de la sémantique à l'aide du langage QVT operational est facilitée et la maintenance est plus aisée. La transformation définie en smartQVT est propre au langage simulé et est isolé des parties génériques, communes aux différentes simulations traitées.
Le thème de la simulation s'avère être très riche en terme de transformations de modèles si on y ajoute des modèles en entrée et en sortie modélisant les scénarii donnés en sollicitations ou tout simplement produits par une utilisation interactive et manuelle de la simulation.
Mots clés : simulation de modèles, Topcased, smartQVT, QVT operational, modèle dynamique, transformation de modèles, State machine UML

Les composants SAM et OCL Checker du projet TOPCASED

Agusti Canals, Sébastien Gabel - C-S, Pierre Gaufillet - Airbus

L'atelier open-source Topcased sort de son statut de projet de R&D pour rejoindre la cours des industriels. En effet, dans le cadre des développements actuels autour du futur A350, les équipes Airbus ont décidé d'intégrer à leur processus de développement les composants Topcased-SAM (Structured Analysis Model) et Topcased_VF (Vérification statique de modèles) conçus et réalisés par CS Communication&Systèmes et ses partenaires. L’objectif de cet article est de présenter ces deux composants à travers l’expression de besoins initiale, la démarche utilisée et les résultats obtenus. Nous évoquerons également l’intérêt des méta modèles et de l’approche MDE pour la réalisation d’un outillage métier opérationnel. A noter que Topcased-SAM dispose d’un éditeur de modèles, mais aussi d’un générateur de documentation, d’un simulateur d’automates, d’un module de gestions d’exigences, et bien sur d’un ensemble de règles OCL intégrées permettant de vérifier les modèles produits.
Mots clés : Méta Modèle, SAM, Modélisation fonctionnelle, Vérification statique de modèles, OCL, UML

Le support de MDE et des DSLs dans les outils de modélisation de IBM

Philippe Leblanc - IBM

La modélisation permet de réaliser des analyses et des conceptions plus sûres, plus maintenables et plus faciles à partager. UML et SysML sont aujourd'hui les langages les plus utilisés car ce sont des standards, possédant un nombre suffisant de diagrammes et concepts pour traiter de la plupart des problèmes, et de plus extensibles. Le Model-Driven Engineering, MDE, est une technologie, qui vient en complément de ces langages, pour améliorer l'ingénierie des systèmes d'information et des systèmes techniques en apportant par exemple des fonctions de vérification de modèle ou de génération automatique de code. Néanmoins UML et SysML sont complexes et certains analystes ou architectes ont l'habitude d'utiliser des concepts différents. Les Domain-Specific Languages, DSL, permettent à ces utilisateurs de mettre en oeuvre des approches basées sur UML/SysML mais plus simples et plus proches de leurs pratiques et métiers.
IBM participe activement au développement de ces technologies et a introduit dans ses outils de modélisation des capacités spécifiques au MDE et aux DSLs. Lors de cette session, nous présenterons quelques unes de ces capacités disponibles dans les outils Telelogic Rhapsody et Rational Software Architect (RSA).
Rhapsody est dédié à l'ingénierie des systèmes embarqués. Il propose un générateur de code spécifique pour chacun des 4 langages de programmation : C, C++, Ada et Java. Chaque générateur prend en compte les capacités du langage cible et peut être adapté par DSL afin de produire un code optimisé. Par exemple Rhapsody in C est capable de générer du code sans allocation dynamique de mémoire comme cela est parfois requis pour des applications embarquées sur avion, satellite ou automobile. Rhapsody supporte entre autres les DSL DoDAF, MoDAF et Autosar.
RSA est dédié au développement des systèmes d'information. Il possède des techniques de transformation de modèle. Une de ces techniques est une génération de code Java 5 pour produire des applications JEE déployables dans des environnements SOA et Web 2.0. RSA a une intégration étroite avec la plate-forme IBM Websphere permettant aux utilisateurs de développer des applications exécutables dans cet environnement, réduisant ainsi les efforts de programmation inhérents à ce type de déploiement.
Mots clés : MDE, DSL, Profil, Telelogic Rhapsody, Rational Software Architect, génération de code, transformation de modèle

La création points de vue avec Obeo Designer, ou comment fabriquer des DSM Eclipse sans être un développeur expert ?

Etienne Juliot - OBEO

Depuis plusieurs années, les principes de méta modèles permettent d'adresser la manipulation de données selon des formalismes standardisés ou spécifiques. Les concepts de DSL qui en ont découlé ont ensuite permis de décliner ce concept pour se rapprocher du métier des utilisateurs et ainsi de simplifier les étapes de conception.
Mais jusqu'à récemment, les outils de conception n'avaient pas su être suffisamment souples pour prendre en compte ces besoins d'adaptation. Un premier début de réponse fut apporter par GMF et TopCased-MM au travers de la génération de modeleurs. Mais le niveau de compétence requise et la rigidité des solutions techniques les cantonnaient à des développeurs experts.
Obeo Designer implémente ainsi le concept de "points de vue" qui consiste à offrir à un utilisateur non spécialiste en Eclipse et MDA la possibilité de se créer ses propres représentation graphiques par simple paramétrage. Les meilleurs experts Eclipse de la société Obeo ont ainsi capitalisé au sein d'un seul outil toutes leurs connaissances sur les DSM (Domain Specific Modeler), la technologie GMF et les techniques de requêtage de modèles. Un nouveau paramétrage peut ainsi se créer en quelques heures, créant à la volée une nouvelle représentation graphique de qualité industrielle.
Les débouchés aussi bien industriels que recherche deviennent ainsi énormes en ouvrant la porte à l'analyse graphique de systèmes, à la modélisation dynamique, à la représentation multi-aspects, à la représentation métier d'UML profilé,...
Cette session explosera les principes qui ont conduit à la mise au point de Obeo Designer, les illustrera à travers des démonstrations sur de la modélisation de points de vue sur méta modèles dédiés ("DSM") et sur standards ("DSM over UML"), et offrira une vision sur la cohabitions de ces points de vue dans des processus et des outils existant tels que Eclipse Papyrus, Acceleo ou ATL.
Mots clés : MDE, DSM, UML Profile

« Team Signature Composer" Framework. Une solution pour la mise en place de systèmes de collaborations multi-métiers. Une application du MDE à l’ingénierie collaborative

Joseph Aracic - crescendo-technologies, Marc Canitrot - Prometil

Les outils « Open Source » atteignent aujourd'hui un niveau de maturité tel qu'il est réellement possible de les déployer de manière industrielle et ce sur des projets de plus en plus gros et critiques. Ces projets se caractérisent par la mise en œuvre de plus en plus accrue de techniques d'ingénieries, et ont dans leurs chemins critiques non pas les capacités à fournir telles ou telles solutions techniques mais plutôt celles de s'assurer:

  • Que les interfaces entre les différents composants du système seront cohérentes,
  • Que les exigences et les objectifs soient effectivement partagés par les différentes parties prenantes,
  • Que l'on réutilise l’existant le plus possible (systèmes de système, gestion de lignes de produits…) …etc.

En résumé ces projets impliquent la nécessité de mettre en œuvre des techniques d'ingénierie collaborative de plus en plus musclées. C'est ainsi que naturellement a commencé à apparaître dans le paysage des outils « Open Source », des outils se focalisant plus sur l’environnement permettant de développer le système final (outils, processus, métiers, expertises, savoir-faire… etc.) que sur le système final lui-même.
C'est dans cette mouvance que s'insère le projet TSC (Team Signature Composer), s'architecturant autour des postulats suivants:

  • Une équipe système est toujours plurielle (multi-métiers, multi-sites, multi-entreprises…),
  • Une équipe système, pour être efficace, doit partager un certain nombre d'artefacts "technico- organisationnels" (Exigences, Ordres d'évolutions, Jalons et évènements, Interfaces, Référentiels, Outils …etc.),
  • La maîtrise en configuration des ces artefacts doit être maintenu durant tout le cycle de vie du projet,
  • Certains processus techniques et outils associés doivent être partagés (portail projet),
  • Selon le rôle et la position que l'on a dans l'équipe système, les approches cognitives de ces artefacts sont différentes (différents modèles métiers) mais nécessairement cohérentes (correspondances entre les modèles métiers).

On présentera sous la forme d'un exemple didactique une certaine approche de la maîtrise d'un développement système sous l'angle de la gestion d'un système d'informations de collaboration impliquant deux métiers de l'ingénierie système (gestion des exigences et gestion de la qualification système). On montrera ainsi qu'un atelier de génie système est avant tout un système d'informations maîtrisé en configuration qui doit s'interfacer avec d'autres outils et systèmes d'informations.
Mots clés : MDE, Ingénierie Système, Travail collaboratif, Framework, Open Source

Expérimentation de composants de preuve pour le développement de composants logiciels embarqués

Arnaud Monégier du Sorbier, Stéphane de Belloy, Florian Turpin - THALES AIR SYSTEMS
Philippe Dhaussy - ENSIETA

Pour améliorer les pratiques industrielles dans le domaine de la validation formelle de modèles de composants embarqués, la division AIR SYSTEMS de THALES et l'ENSIETA ont engagé une réflexion commune et des expérimentations pour la mise en œuvre de composants MDA nommés Unités de Modélisation et Unités de Preuve. Le but recherché est de capitaliser au sein de composants de modélisation les données et les activités mises en œuvre dans les processus de conduite des analyses formelles sur les modèles de conceptions de composants. Ces unités, en cours de définition, doivent être manipulées à différents niveaux d'abstraction et sont exploitées actuellement dans nos expérimentations par une technique de vérification de type model-checking avec la mise en œuvre d'observateurs. Dans une approche Ingénierie Dirigée par les Modèles (IDM), les modèles d'unités de modélisation et de preuve sont transformés en modèles d'automates temporisés puis en codes exploitables par l'outil OBP (Observer-Based Prover) développé à l'ENSIETA. Dans cet article, nous décrivons une application de cette approche pour la validation d'un modèle de gestion des états d'un système THALES de contrôle et d'engagement. L'article rend compte du retour d'expérience sur la mise en œuvre de cette technique et la mise en œuvre des unités de preuve.
Mots clés : Ingénierie Dirigée par les Modèles (IDM), Validation Formelle, Composants Model Driven Architecture (MDA) : Unités de Modélisation (UdM) & Unités de Preuve (UdP), Model-Checking, Observer-Based Prover (OBP), Context Description Language (CDL), Modèles d'automates temporisés.

La description d'un modèle de traçabilité pour la mise en œuvre d'une technique de validation formelle de modèles

A. Henry - Netfective Technologie

Le but de la session est de présenter les techniques et standards, tels que KDM et ADM, qui ont étés assemblés afin d’extraire automatiquement un PIM à partir application non orientée objet.
L’objectif est de pouvoir automatiser la migration des patrimoines applicatifs en ré-implémentant intégralement l’application sous la forme d’un ensemble de diagramme UML conformes aux méta modèles de la solution Blu Age. Les applications peuvent alors être instantanément générées vers une nouvelles architecture (toute l’application est générée depuis l’IHM jusqu’à la couche de persistance et le schéma de données).
Les modèles UML obtenus sont totalement indépendants de la technologie d’origine, et l’application générée est disponible sous la forme d’un code source complet, entièrement conformes aux standards du langage de destination et ne s’appuyant sur aucun runtime.
Cette session sera illustré par un cas pratique de rétro modélisation qui permettra d’apporter une évolution fonctionnelle et de tester immédiatement la nouvelle application qui aura été modernisée techniquement et qui aura évoluée fonctionnellement.

Mots clés : MDE, DSL, KDM, ADM, PIM

Modélisation UML/MARTE pour les SoPC

Ali Koudri - Thales Aerospace Division/Laboratoire LISYC-DTN, ENSIETA, Joël Champeau - Laboratoire LISYC-DTN, ENSIETA, Denis Aulagnier - Thales Aerospace Division, Didier Vojtisek - INRIA/Triskell

Aujourd’hui, les développements des systèmes temps réel embarqués sont face à de nouveaux challenges. En effet d’une part, les contraintes économiques requièrent un processus de développement qui nous permette de réaliser rapidement de l’exploration de conception. Et d’un autre coté, l’accroissement de la complexité des composants, répondant à la loi de Moore, requière de nouvelles techniques pour prendre en compte cette complexité. Les approches MDD (Model Driven Development) sont largement expérimentées pour répondre à ces différentes contraintes de conception. En effet, ces approches cherchent à fournir des modèles de haut niveau afin de s’abstraire de la plate-forme pour rendre indépendante l’application de la complexité de cette plate-forme, tout en permettant une génération de code ad hoc. Nous présentons donc la méthodologie MOPCOM dédiée à la conception et à l’analyse des plates-formes de type SoC/SoPC. Notre méthodologie est basée sur le motif en Y afin de faciliter l’exploration des conceptions et l’intégration d’IP. Notre méthodologie utilise le langage UML étendu au profil MARTE dédié aux systèmes embarqués temps réel d’un point de vue conception et analyse. L’établissement de cette méthodologie repose sur l’identification des sous-ensembles pertinents du profile pour ce type de conception matérielle. Cette approche nous a mené à contraindre le méta modèle de UML/MARTE en respectant un modèle de processus qui identifie différents niveaux d’abstraction. Nous obtenons ainsi une spécialisation du profile UML/MARTE basée sur des sous-ensembles du méta modèle d’origine. Cette spécification est ensuite utilisée pour produire l’outillage spécialisé afin de mettre en œuvre notre méthodologie dans un contexte à vocation industrielle.
Notre méthodologie est illustrée par une application d’un système de radio intelligente implanté sur un SoPC. Ce travail fait partie du projet MOPCOM SoC/SoPC (http://www.mopcom.fr) qui regroupe académiques et industriels.
Mots clés : Modélisation de SoC/SoPC, composants de processus, transformation de modèles, UML/MARTE

Application à la modélisation des systèmes de contrôles et de commandes de l’espace et de l’aéronautique

Laurent Sabatier - Sodifrance, Erwan Poupart - CNES, Pierre Bazex, Thanh-Thanh Le Thi, Thierry Millan - IRIT

Cette étude, réalisée dans le cadre du projet RNTL DOMINO’2006 , montre comment il est possible de prendre en compte en suivant une démarche MDA, la modélisation en UML/OCL des structures statiques et dynamiques d’un langage de programmation. La génération de codes peut s’effectuer, dès lors, en deux phases, la première vue comme un raffinement de modèles de conception (diagramme de classes et diagrammes d’activité par exemple ) en modèles de composant logiciels (abstraits), et la deuxième réalisant la génération des codes proprement dite.
Les retombées peuvent être importantes dans la mesure où les analystes/concepteurs ont donc plus de facilité pour orienter les modèles d’analyse en fonction des spécificités des langages des plates-formes cibles lorsqu’il s’agit de prendre en compte des exigences fortes pouvant avoir une influence sur les composants logiciels.
Il devient possible aux experts d’un domaine d’applications d’intégrer des spécificités et des exigences du domaine aussi bien au niveau des modèles de conception, qu’au niveau des modèles des composants. Le processus de développement des applications du domaine peut donc être ‘profilé’ en conséquence assurant ainsi une meilleure continuité entre les modèles issus des exigences attendues des applications, les modèles des codes des composants logiciels et leurs codes.

Le projet DOMINO s’est appuyé sur deux cas d’études réalisés dans des contextes industriels permettant ainsi un premier retour d’expérience sur l’intégration de spécificités métier lors de la mise en place de processus de développement par les experts des domaines d’applications considérés. Nous nous focaliserons sur l'étude réalisée en collaboration avec le CNES.

Dans le cadre de la modélisation des processus métier de mise en œuvre des systèmes de contrôles et de commandes de véhicules spatiaux réalisée au CNES, les exigences de haut-niveau peuvent être représentés à l’aide de « Use Case » puis de façon plus détaillée par des diagrammes d’activités UML 2, complétés par une représentation des satellites à opérer. En termes d’éléments cibles d’exécution, ces modèles peuvent être représentés par de multiples langages dédiés existants dans le domaine spatial comme Pluto préconisé par l’ESA, ELISA utilisé par EADS/Astrium, O2PL/BPEL utilisé par le CNES, OBCP pour le bord, etc. L’OMG/SDTF (Space Domain Task Force) tente actuellement d’unifier ces langages vers un langage pivot de manière à faciliter les échanges de procédures opérationnelles entre les différents acteurs (agences spatiales, industriels). Dans une démarche MDA, on cherchera à élaborer les modèles d’analyse les plus indépendamment possibles des plates-formes. Cependant, la modélisation en UML/OCL des langages cibles permet de prendre en compte cet hétérogénéité des plates-formes cible en s’assurant que les modèles d’analyses vérifieront les propriétés des langages cible et éventuellement les propriétés issues des exigences métier introduites par les experts des différents domaines d’applications.
Selon une démarche de développement classique (spécification textuelle, conception, codage…), on doit attendre la fin de la phase de codage pour vérifier que les exigences sont bien implémentées. Par contre, la démarche MDA permet d’implémenter ces exigences directement sans attendre cette phase. De plus, l’utilisation des langages de modélisation comme UML complété par le langage OCL permet de définir de manière formelle des exigences qui autrefois étaient définies sous forme de texte. Au final, cette formalisation procure une meilleure qualité et une meilleure maîtrise des exigences sans augmenter les coûts et les délais. Cette étude a permis d’introduire la démarche MDA dans le contexte industriel.

Un premier constat de ces applications montre une diversité des entités manipulées, conformes à des méta-modèles différents et très diverses compte tenu de l’hétérogénéité des plates-formes cibles. Il a été donc nécessaire d’étendre OCL à la manipulation de plusieurs modèles, pour vérifier par exemple la cohérence entre les modèles cibles et sources, et à la mise en œuvre d’un synthétiseur de types pour contrôler l’exécution des règles et des résultats obtenus. Le langage pOCL (procéduralOCL) a été ainsi défini et intégré à la plate-forme Neptune.
Mots clés : -

Modélisation des langages et prise en compte des exigences dans les phases terminales des processus de développement de logiciels

Thanh-Thanh Le Thi, Pierre Bazex, Thierry Millan, Christian Percebois - IRIT

Les activités en amont d’un processus de développement concernent principalement l’élaboration de modèles issus des exigences de l’application, à partir desquels les composants logiciels seront produits.
Généralement, c’est l’activité liée à l’élaboration des modèles qui fait l’objet d’une très grande attention de la part des analystes/concepteurs ; il s’agit en effet d’intégrer méthodologiquement, par étapes successives, les spécifications des applications de manière à pouvoir vérifier leurs prises en compte et suivre, tout au long du processus, les différentes évolutions de leurs artéfacts de modélisation. Cependant, il s’agit aussi de tenir compte des exigences des analystes/programmeurs devant prendre en charge les activités plus techniques situées en phases terminales du processus telles que le déploiement du code des composants sur les plates-formes cibles, les tests, la documentation et la maintenance corrective et évolutive. Dans le contexte du MDA, l’activité liée à l’élaboration des modèles d’analyse est dissociée de l’activité de génération du code de manière à pouvoir rendre les modèles indépendants des plates-formes cibles et à pouvoir réutiliser un maximum de savoir-faire.
Cependant, certaines applications ont des exigences très critiques pouvant avoir une influence sur le code des composants logiciels. Il est donc fortement souhaitable que les analystes/concepteurs puissent anticiper des solutions au niveau des modèles, de manière à ce que le code des composants logiciels puisse répondre, au mieux, à ces exigences critiques.
Dans ce contexte et pour répondre aux besoins des analystes/concepteurs impliqués dans le processus de développement de ces applications, nous présentons ici des travaux qui sont basés sur la modélisation en UML et OCL de la syntaxe et de la sémantique des langages de programmation.
Lors d’un processus de développement, il est ainsi possible d’insérer entre les modèles d’analyse et de conception et le code des composants logiciels, un niveau de modélisation basée sur les abstractions du langage cible et directement interprétables. Les analystes/concepteurs peuvent donc modéliser les exigences critiques des applications en tenant compte des abstractions du langage cible, préparant ainsi le code des composants logiciels à intégrer des solutions les plus adaptées à ces exigences.
L’intérêt de modéliser en UML et OCL les langages cibles dans lesquels le code des composants logiciels devra être produit est de pouvoir offrir aux experts d’un domaine métier la possibilité de rajouter, au niveau des modèles des langages, les spécificités du métier ‘profilant’ ainsi les langages selon les domaines d’applications. La finalité de cette étude est donc de pouvoir définir des modèles de langages dont les propriétés sont issues d’un langage de programmation quelconque (général ou spécialisé, DSL par exemple) et sont plus particulièrement adaptées aux spécificités d’un domaine d’application.
Après avoir rappelé les différentes techniques permettant de modéliser en UML la syntaxe d’un langage de programmation à partir de sa grammaire abstraite, nous montrerons comment l’on peut spécifier en OCL et dans un langage d’actions, tel que KerMéta, pOcl ou USE par exemple, les propriétés statiques et dynamiques du langage, et comment les méta-modèles ainsi obtenus peuvent s’intégrer dans une démarche MDA assurant à la fois les transformations et leur suivi. Nous montrerons ensuite comment on peut s’assurer que ces méta-modèles ‘dérivés’ restent cohérents par rapport au langage d’origine c’est-à-dire qu’une fois sérialisés ils fourniront un code compilable dans l’environnement cible. Nous montrerons, enfin, en quoi cette étude peut déboucher sur la construction d’une plate-forme permettant à des experts d’un domaine d’applications de modéliser des langages dont les propriétés statiques et dynamiques peuvent être définies en tenant compte des spécificités de leurs domaines métiers.
Mots clés : Modélisation des langages de programmation, DSL, UML, OCL, processus de développement de logiciels, intégration de spécificités métier, cohérence de modèles métier

MyCCM-HI, un framework pour la construction d’applications basées composants, centré sur l’IDM

Thomas Vergnaud, Grégory Haïk - THALES Land and Joint Systems Jérôme Hugues, Laurent Pautet - Institut TELECOM, TELECOM ParisTech, LTCI

Thales a réalisé MyCCM High Integrity (MyCCM-HI), un framework basé composant disponible en version Open Source dans le cadre du projet ANR Flex-eWare (cf http://www.flex-eware.org). MyCCM-HI est une implantation adaptée de la spécification LightWeight CCM de l’OMG, avec plusieurs améliorations concernant le déterminisme, l’empreinte mémoire et l’analysibilité. Il a pour objectif de répondre aux besoins des applications temps-réel réparties embarquées critiques.
Pour ce faire, MyCCM-HI dispose d’une chaîne outillée basée IDM pour générer un intergiciel optimisé en fonction des seuls besoins applicatifs. Le format d’entrée pour décrire les composants, leur configuration et leur déploiement est un formalisme textuel baptisé COAL, dont la syntaxe est inspirée d’IDL. Une suite d’outils basée sur EMF et ANTLR transforme un modèle COAL vers un modèle AADL consolidé indiquant de manière explicite les ressources utilisées, ainsi qu’une série de composants métiers suivant le formalisme CCM, mais sur un exécutif dédié.
Par la suite, le générateur AADL vers code Ocarina (développé à Télécom Paris Tech) génère le code de l’intergiciel requis pour le support de ces composants, en instanciant la bibliothèque PolyORB-HI, un ensemble de composants de distribution et temps réel pour l’embarqué, compatible RT-POSIX, pour Linux, RTEMS.
Une série de validations sur des cas d’étude issus de projets opérationnels montrent la pertinence d’une approche IDM à plusieurs niveaux : un niveau proche des considérations du développeur de système, un niveau correspondant aux considérations de l’intégrateur, et des bénéfices de l’IDM pour la transformation automatique d’un niveau à un autre, jusqu’à la génération du système final. Ainsi, comparativement à l’ancienne chaîne outillée basée sur CORBA, le gain en empreinte mémoire est supérieur à 500, gain qui se répercute par la suite sur les performances temporelles du système, et son analyse.
Mots clés :MyCCM-HI, LwCCM, Ocarina, PolyORB-HI/C, AADL

Introduction aux technologies IDM (processus, cohérence,…)

Philippe Desfray - SOFTEAM

L’émergence de la modélisation par objet, dans les années 1990 a provoqué un foisonnement de modèles objet, qui a trouvé sa conclusion à travers le langage de modélisation UML, maintenant largement répandu. Une deuxième itération a été nécessaire, notamment pour reprendre les acquis de modèles antérieurs au modèle objet, et pour constituer une version d’UML plus « universelle ». Les différents domaines informatiques, autrefois habitués à une existence de modèles cloisonnés, variant selon les régions et les sous-domaines ont donc du s’habituer à ce langage « universel », en ne retrouvant pas toujours certaines commodités de leurs dialectes antérieurs. La prétention d’universalité d’UML ne peut pas s’affranchir de la nécessité d’adaptation à chaque contexte de son usage. D’où le mécanisme des profiles, indispensable pour appliquer UML à une technologie, un domaine, une démarche, ou un mode d’usage.
Le courant de la méta modélisation, très vigoureux dans les années 1990, a par ailleurs produit un standard (MOF) et des mécanismes permettant de définir des langages de modélisation spécifiques pour des domaines dédiés (DSL). La dualité UML/Profile – DSL/MOF existe au cœur du standard, puisqu’elle s’est exprimée au sein même de l’OMG, dans des positions parfois conflictuelles. Si maintenant, l’intérêt d’un standard largement partagé (UML), le besoin de son adaptation aux cas particuliers, et le besoin de création de langages spécifiques sont reconnus, le positionnement UML/DSL reste toujours sujet à réflexion : hormis des cas bien identifiés où le choix d’une approche préférentielle est clairement établi, il demeure des cas où le choix est ouvert. Le fait que Microsoft se rallie au standard UML à l’OMG et participe à sa consolidation est un facteur d’apaisement et de clarification. Mais l’histoire n’est pas achevée, et les standards évolueront.
L’approche MDE nécessite ce socle UML/Profile ou DSL, avec des choix clairement établis. Elle a besoin de fondements stables et largement répandus, pour fournir des solutions MDE sur étagère à ses usagers. Cette présentation rappellera les facteurs de choix, la richesse des solutions en place, les différentes options retenues. Le Paysage est contrasté : de nombreux DSL demeurent pour des raisons « historiques » et patrimoniales, UML n’est pas (encore ?) universellement répandu, et de nouveaux DSL apparaissent chaque jour.
Mots clés : UML, Profile, DSL, MOF, Modélisation, Méta modélisation, MDE, MDA

© 2000 NEPTUNE Consortium - All Rights Reserved  IST project n° 1999-2010