Mia software mdday2010

21
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

description

 

Transcript of Mia software mdday2010

Page 1: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Réconcilier les développeursavec une approcheréellement guidée par les modèles

o Frédéric Madiot Mia-Software

o Tony Rostren Mia-Software

Page 2: Mia software mdday2010

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

Page 3: Mia software mdday2010

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 France15M€ / 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

Page 4: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Model-Driven Engineering& Model-Driven Development

en 2010

Page 5: Mia software mdday2010

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 ciblesJava/J2EE, C#, Ada, C++, Flex, Smalltalk, Cobol, …

Développer une application

par modélisation puis génération de code

Page 6: Mia software mdday2010

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

Page 7: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Le MDE ça avance !

Eclipse Modeling Project45 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 richeautour de standards établis

Page 8: Mia software mdday2010

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

Page 9: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Mais des réticencessubsistent encore …

Page 10: Mia software mdday2010

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

Page 11: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Une difficulté subsiste …

Difficultés à naviguer du modèle au code, du code au modèleRisque de perte de temps

Difficultés à identifier les zones d’interventionAttention au code manuel hors balises

Tentation à séparer les rôles Conception et DéveloppementRisque de déresponsabilisation / démotivation

Tentation à figer la démarcheSyndrome « 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

Page 12: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Quelles solutionspour rester agile ?

Page 13: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Model at runtime ?

Nécessite le développement d’un moteurApproche 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

Page 14: Mia software mdday2010

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

Page 15: Mia software mdday2010

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

Page 16: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

DémoMia-Studio

Page 17: Mia software mdday2010

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 transformationadaptées à votre contexte

Un atelier MDE ouvert et simple à utiliser.

Page 18: Mia software mdday2010

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

Page 19: Mia software mdday2010

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

Page 20: Mia software mdday2010

Copyright © 2010 Mia-Software

All Rights Reserved

Démo

Eclipse

MagicDraw

Java Development Toolkit

Mia

-Stu

dio

Tomcat+

CartoucheDe génération

Struts

Page 21: Mia software mdday2010

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/