Copyright © 2010 Mia-Software
All Rights Reserved
Réconcilier les développeurs
avec une approche
réellement guidée par les modèles
o Frédéric Madiot Mia-Software
o Tony Rostren Mia-Software
Copyright © 2010 Mia-Software
All Rights Reserved
Mia-Software
Mia-Software est un éditeur logiciel
100 clients dans une dizaine de pays
Membre de la fondation Eclipse (5 committeurs)
Développe des solutions Model-Driven depuis 1998
Mia-Insight :
Cartographie Applicative
Analyse algorithmique
Mia-Quality
Analyse Qualité
Mia-Studio
Génération de code
Transformation Model-to-Model
Eclipse projects
MoDisco : atelier de modernisation
EMF Facet : extension de modèles
Copyright © 2010 Mia-Software
All Rights Reserved
Sodifrance
Mia-Software est une filiale de Sodifrance
850 collaborateurs
11 agences en France, Belgique et Tunisie
Leader de l’IT Modernization en France
15M€ / an (CA 2009 : 63M€)
Equipe R&D dédiée
> 100 projets réussis
Exemples :
VB6  JEE/Ajax/JSF
NSDK  C#
COOL:Gen  JEE / Cobol
NSDK  Java / Flex
Smalltalk/Deplhi  Java/GWT
Copyright © 2010 Mia-Software
All Rights Reserved
Model-Driven Engineering
& Model-Driven Development
en 2010
Copyright © 2010 Mia-Software
All Rights Reserved
Le MDD ça marche !
De nombreux projets réussis …
MAAF, Société Générale, SNCF, Thales, Ifremer, BritAir, …
… sur tous types de cibles
Java/J2EE, C#, Ada, C++, Flex, Smalltalk, Cobol, …
Développer une application
par modélisation puis génération de code
Copyright © 2010 Mia-Software
All Rights Reserved
Au delà du MDD…
Official Eclipse Modeling project (in MDT)
Open-source (EPL licence)
Based on other Eclipse Modeling projects
Released with Helios
Supported by the OMG
Eclipse implementations for
KDM (Knowledge Discovery Metamodel)
SMM (Structured Metrics Metamodel)
http://www.eclipse.org/MoDisco/
MoDisco : une plate-forme pour
les projets de Modernisation Logicielle
Copyright © 2010 Mia-Software
All Rights Reserved
Le MDE ça avance !
Eclipse Modeling Project
45 sous-projets
113 commiteurs
14M de lignes de code
20 sociétés impliquées (dont SAP, IBM, Oracle, CEA, Thales, Atos, …)
(Activité des 9 derniers mois)
Modeleurs UML2:
MagicDraw, Enterprise Architect, RSM, Papyrus, Modelio, …
Une offre riche
autour de standards établis
Copyright © 2010 Mia-Software
All Rights Reserved
Le MDE suscite l’intérêt !
Partenaires
2007: 5
2010: 11
Inscrits
2007: 261
2010: 399
Le MD Day,
révélateur de cette tendance
Copyright © 2010 Mia-Software
All Rights Reserved
Mais des réticences
subsistent encore …
Copyright © 2010 Mia-Software
All Rights Reserved
Quels freins ?
Est-ce plus compliqué que de produire du bon code ?
Difficulté de prise en main ?
UML pas plus complexe à maîtriser que Struts, Spring, SOAP/WSDL , …
Difficulté d’abstraction ?
L’approche MDD n’impose aucun niveau d’abstraction
Processus plus complexe ?
L’approche MDD s’adapte à tous les types de processus
Réussir un projet MDD
implique de produire de bons modèles
Copyright © 2010 Mia-Software
All Rights Reserved
Une difficulté subsiste …
Difficultés à naviguer du modèle au code, du code au modèle
Risque de perte de temps
Difficultés à identifier les zones d’intervention
Attention au code manuel hors balises
Tentation à séparer les rôles Conception et Développement
Risque de déresponsabilisation / démotivation
Tentation à figer la démarche
Syndrome « boîte noire »
Garder la cohérence modèle/code
est le point crucial d’un projet MDD
Un projet MDD cesse d’être agile lorsque
le maintien de la cohérence modèle/code devient trop coûteux
Copyright © 2010 Mia-Software
All Rights Reserved
Quelles solutions
pour rester agile ?
Copyright © 2010 Mia-Software
All Rights Reserved
Model at runtime ?
Nécessite le développement d’un moteur
Approche de type framework paramétrable par fichier de configuration
Cf Struts, Spring, Hibernate, …
Le modèle n’est pas traduit sous forme de code,
il est déployé et interprété
 Le modèle reste la référence
Copyright © 2010 Mia-Software
All Rights Reserved
Compilation de modèles ?
Nécessite la mise au point de règles complexes
Règles de modélisation exhaustives
Génération de tous les cas possibles
Le modèle est traduit
pour produire 100% du code
 Le code n’est pas retouché manuellement
Copyright © 2010 Mia-Software
All Rights Reserved
Agile MDD
Modélisation Agile
Utile
Simple
Par points de vue
Incrémentale
http://www.agilemodeling.com/
Génération Agile
Générations ciblées
Générations incrémentales
Traçabilité
Analyses d’impacts
Codage guidé
Adaptabilité
Combiner modélisation, génération et codage manuel
 trouver la bonne répartition
Copyright © 2010 Mia-Software
All Rights Reserved
Démo
Mia-Studio
Copyright © 2010 Mia-Software
All Rights Reserved
Mia-Studio
Génération de code
Génération documentaire
Transformation modèles à modèles
Règles de transformation
adaptées à votre contexte
Un atelier MDE ouvert et simple à utiliser.
Copyright © 2010 Mia-Software
All Rights Reserved
Edition Architect
Environnement de création et de mise au
point des templates de génération
 Support natif d’EMF
UML + Profiles
DSL (Domain Specific Languages)
 Aide au développement et à la mise au point
Complétion automatique et colorisation syntaxique
Points d’arrêt
Traces navigables
Références croisées entre scripts
 Facilités de déploiement
Principe de packages réutilisables
Plugin Maven
Mia-Studio
Copyright © 2010 Mia-Software
All Rights Reserved
Edition Developer
Lancement des templates de génération
 Création de launchers
Paramétrage d’un générateur
Import des modèles des outils du marché
Lançables par API ou ligne de commande
 Résultats des génération
Liste des fichiers générés / non regénérés
Visualisation des fragments générés / manuels
Calcul de métriques de génération
Différences de génération au niveau du fragment
 Remontée d’alertes
Code manuel hors balises
Balises non regénérées
Mia-Studio
Copyright © 2010 Mia-Software
All Rights Reserved
Démo
Eclipse
MagicDraw
Java Development Toolkit
Mia-Studio
Tomcat
+
Cartouche
De génération
Struts
Copyright © 2010 Mia-Software
All Rights Reserved
Merci !
Société
http://www.mia-software.com/
http://www.sodifrance.fr/
Projets Eclipse/Modeling
http://www.eclipse.org/MoDisco/
http://www.eclipse.org/modeling/emft/facet/
Blog
http://fmadiot.blogspot.com/

Mia-Software at MD Day 2010

  • 1.
    Copyright © 2010Mia-Software All Rights Reserved Réconcilier les développeurs avec une approche réellement guidée par les modèles o Frédéric Madiot Mia-Software o Tony Rostren Mia-Software
  • 2.
    Copyright © 2010Mia-Software All Rights Reserved Mia-Software Mia-Software est un éditeur logiciel 100 clients dans une dizaine de pays Membre de la fondation Eclipse (5 committeurs) Développe des solutions Model-Driven depuis 1998 Mia-Insight : Cartographie Applicative Analyse algorithmique Mia-Quality Analyse Qualité Mia-Studio Génération de code Transformation Model-to-Model Eclipse projects MoDisco : atelier de modernisation EMF Facet : extension de modèles
  • 3.
    Copyright © 2010Mia-Software All Rights Reserved Sodifrance Mia-Software est une filiale de Sodifrance 850 collaborateurs 11 agences en France, Belgique et Tunisie Leader de l’IT Modernization en France 15M€ / an (CA 2009 : 63M€) Equipe R&D dédiée > 100 projets réussis Exemples : VB6  JEE/Ajax/JSF NSDK  C# COOL:Gen  JEE / Cobol NSDK  Java / Flex Smalltalk/Deplhi  Java/GWT
  • 4.
    Copyright © 2010Mia-Software All Rights Reserved Model-Driven Engineering & Model-Driven Development en 2010
  • 5.
    Copyright © 2010Mia-Software All Rights Reserved Le MDD ça marche ! De nombreux projets réussis … MAAF, Société Générale, SNCF, Thales, Ifremer, BritAir, … … sur tous types de cibles Java/J2EE, C#, Ada, C++, Flex, Smalltalk, Cobol, … Développer une application par modélisation puis génération de code
  • 6.
    Copyright © 2010Mia-Software All Rights Reserved Au delà du MDD… Official Eclipse Modeling project (in MDT) Open-source (EPL licence) Based on other Eclipse Modeling projects Released with Helios Supported by the OMG Eclipse implementations for KDM (Knowledge Discovery Metamodel) SMM (Structured Metrics Metamodel) http://www.eclipse.org/MoDisco/ MoDisco : une plate-forme pour les projets de Modernisation Logicielle
  • 7.
    Copyright © 2010Mia-Software All Rights Reserved Le MDE ça avance ! Eclipse Modeling Project 45 sous-projets 113 commiteurs 14M de lignes de code 20 sociétés impliquées (dont SAP, IBM, Oracle, CEA, Thales, Atos, …) (Activité des 9 derniers mois) Modeleurs UML2: MagicDraw, Enterprise Architect, RSM, Papyrus, Modelio, … Une offre riche autour de standards établis
  • 8.
    Copyright © 2010Mia-Software All Rights Reserved Le MDE suscite l’intérêt ! Partenaires 2007: 5 2010: 11 Inscrits 2007: 261 2010: 399 Le MD Day, révélateur de cette tendance
  • 9.
    Copyright © 2010Mia-Software All Rights Reserved Mais des réticences subsistent encore …
  • 10.
    Copyright © 2010Mia-Software All Rights Reserved Quels freins ? Est-ce plus compliqué que de produire du bon code ? Difficulté de prise en main ? UML pas plus complexe à maîtriser que Struts, Spring, SOAP/WSDL , … Difficulté d’abstraction ? L’approche MDD n’impose aucun niveau d’abstraction Processus plus complexe ? L’approche MDD s’adapte à tous les types de processus Réussir un projet MDD implique de produire de bons modèles
  • 11.
    Copyright © 2010Mia-Software All Rights Reserved Une difficulté subsiste … Difficultés à naviguer du modèle au code, du code au modèle Risque de perte de temps Difficultés à identifier les zones d’intervention Attention au code manuel hors balises Tentation à séparer les rôles Conception et Développement Risque de déresponsabilisation / démotivation Tentation à figer la démarche Syndrome « boîte noire » Garder la cohérence modèle/code est le point crucial d’un projet MDD Un projet MDD cesse d’être agile lorsque le maintien de la cohérence modèle/code devient trop coûteux
  • 12.
    Copyright © 2010Mia-Software All Rights Reserved Quelles solutions pour rester agile ?
  • 13.
    Copyright © 2010Mia-Software All Rights Reserved Model at runtime ? Nécessite le développement d’un moteur Approche de type framework paramétrable par fichier de configuration Cf Struts, Spring, Hibernate, … Le modèle n’est pas traduit sous forme de code, il est déployé et interprété  Le modèle reste la référence
  • 14.
    Copyright © 2010Mia-Software All Rights Reserved Compilation de modèles ? Nécessite la mise au point de règles complexes Règles de modélisation exhaustives Génération de tous les cas possibles Le modèle est traduit pour produire 100% du code  Le code n’est pas retouché manuellement
  • 15.
    Copyright © 2010Mia-Software All Rights Reserved Agile MDD Modélisation Agile Utile Simple Par points de vue Incrémentale http://www.agilemodeling.com/ Génération Agile Générations ciblées Générations incrémentales Traçabilité Analyses d’impacts Codage guidé Adaptabilité Combiner modélisation, génération et codage manuel  trouver la bonne répartition
  • 16.
    Copyright © 2010Mia-Software All Rights Reserved Démo Mia-Studio
  • 17.
    Copyright © 2010Mia-Software All Rights Reserved Mia-Studio Génération de code Génération documentaire Transformation modèles à modèles Règles de transformation adaptées à votre contexte Un atelier MDE ouvert et simple à utiliser.
  • 18.
    Copyright © 2010Mia-Software All Rights Reserved Edition Architect Environnement de création et de mise au point des templates de génération  Support natif d’EMF UML + Profiles DSL (Domain Specific Languages)  Aide au développement et à la mise au point Complétion automatique et colorisation syntaxique Points d’arrêt Traces navigables Références croisées entre scripts  Facilités de déploiement Principe de packages réutilisables Plugin Maven Mia-Studio
  • 19.
    Copyright © 2010Mia-Software All Rights Reserved Edition Developer Lancement des templates de génération  Création de launchers Paramétrage d’un générateur Import des modèles des outils du marché Lançables par API ou ligne de commande  Résultats des génération Liste des fichiers générés / non regénérés Visualisation des fragments générés / manuels Calcul de métriques de génération Différences de génération au niveau du fragment  Remontée d’alertes Code manuel hors balises Balises non regénérées Mia-Studio
  • 20.
    Copyright © 2010Mia-Software All Rights Reserved Démo Eclipse MagicDraw Java Development Toolkit Mia-Studio Tomcat + Cartouche De génération Struts
  • 21.
    Copyright © 2010Mia-Software All Rights Reserved Merci ! Société http://www.mia-software.com/ http://www.sodifrance.fr/ Projets Eclipse/Modeling http://www.eclipse.org/MoDisco/ http://www.eclipse.org/modeling/emft/facet/ Blog http://fmadiot.blogspot.com/