Modélisation et points de vue : Entre abstraction et pragmatisme

50 %
50 %
Information about Modélisation et points de vue : Entre abstraction et pragmatisme

Published on December 6, 2010

Author: mchv

Source: slideshare.net

Modélisation et points de vue Entre abstraction et pragmatisme Journée de l'IDM 2010 Mariot CHAUVIN [email_address]

Mariot CHAUVIN Ingénieur – "Model Driven Expert" Responsable de l'atelier de modélisation Obeo Designer Committer Eclipse sur GMF, SWTBot, Sketch http://mariot-thoughts.blogspot.com & http://twitter.com/mchv

Ingénieur – "Model Driven Expert"

Responsable de l'atelier de modélisation Obeo Designer

Committer Eclipse sur GMF, SWTBot, Sketch

http://mariot-thoughts.blogspot.com & http://twitter.com/mchv

Universalisme Work Work Break Break

Break Il n'y a pas de langage universel

DSL Un langage spécifique à un domaine Peut-être Textuel ou Graphique Définit le vocabulaire d'un domaine de connaissance particulier : Par des mots Par des représentations graphiques A ces caractéristiques : simplicité, expressivité, explicite, ciblé, non ambigu

Un langage spécifique à un domaine

Peut-être Textuel ou Graphique

Définit le vocabulaire d'un domaine de connaissance particulier :

Par des mots

Par des représentations graphiques

A ces caractéristiques : simplicité, expressivité, explicite, ciblé, non ambigu

Des exemples de DSL Notation : Musicale : Rubik's cube Métier : Calcul de polices d'assurances Définition de règles métiers bancaires Techniques : SQL : SELECT * FROM RESEARCHERS WHERE LIFL_MEMBER=1; CSS : body { background-color: #CCCCCC; } Regex : b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b ...

Notation :

Musicale :

Rubik's cube

Métier :

Calcul de polices d'assurances

Définition de règles métiers bancaires

Techniques :

SQL : SELECT * FROM RESEARCHERS WHERE LIFL_MEMBER=1;

CSS : body { background-color: #CCCCCC; }

Regex : b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b

...

Modélisation et points de vue Un modèle n'est qu'une representation possible Plusieurs modèles peuvent décrire la même chose Chaque modèle peut correspondre à une vue Les DSL permettent la séparation des préoccupations Chaque DSL peut cibler une préoccupation La notion de point de vue est plus vaste que le DSL Un DSL peut couvrir plusieurs préoccupations L'outillage doit permettre de les séparer

Un modèle n'est qu'une representation possible

Plusieurs modèles peuvent décrire la même chose

Chaque modèle peut correspondre à une vue

Les DSL permettent la séparation des préoccupations

Chaque DSL peut cibler une préoccupation

La notion de point de vue est plus vaste que le DSL

Un DSL peut couvrir plusieurs préoccupations

L'outillage doit permettre de les séparer

Obeo Éditeur spécialiste des approches modèles Nantes en 2005, Paris depuis 2007 50 spécialistes MDE Activité 2009 : 2,5 M€ en croissance de 40% Société Française indépendante Investissement R&D à hauteur de 30% des revenus

Éditeur spécialiste des approches modèles

Nantes en 2005, Paris depuis 2007

50 spécialistes MDE

Activité 2009 : 2,5 M€ en croissance de 40%

Société Française indépendante

Investissement R&D à hauteur de 30% des revenus

Implication dans Eclipse Membre stratégique Leader de 5 projets 14 Committers 1 400 000 lignes de code contribuées

Membre stratégique

Leader de 5 projets

14 Committers

1 400 000 lignes de code contribuées

Intérêts de la modélisation Montée en abstraction Passage des concepts devant la technologie Séparation des préocuppations fonctionelles et techniques Capitalisation Des connaissances sur le domaine métier Des bonnes pratiques sur le domaine technique Automatisation Génération possible sans perte de synchronisation Réutilisation

Montée en abstraction

Passage des concepts devant la technologie

Séparation des préocuppations fonctionelles et techniques

Capitalisation

Des connaissances sur le domaine métier

Des bonnes pratiques sur le domaine technique

Automatisation

Génération possible sans perte de synchronisation

Réutilisation

Problèmes en pratique Le code généré est affreux Difficile à comprendre Non maintenable Pas performant La modélisation contraint nos processus Difficulté de modification du code généré sans désynchronisation du modèle Les diagrammes ne conviennent pas Les différents types de diagramme UML2 sont trop complexes Sur un vrai projet le diagramme de classe est illllisible

Le code généré est affreux

Difficile à comprendre

Non maintenable

Pas performant

La modélisation contraint nos processus

Difficulté de modification du code généré sans désynchronisation du modèle

Les diagrammes ne conviennent pas

Les différents types de diagramme UML2 sont trop complexes

Sur un vrai projet le diagramme de classe est illllisible

Break adaptabilité

Break souplesse

Break outillage

Quel est le besoin ? Adaptabilité Utiliser des DSL à la place de UML Écrire/Surcharger les templates de génération Souplesse CIM, PIM, PSM ne sont pas forcément utiles La génération n'est pas obligatoire Les diagrammes ne sont pas le seul type de représentation Outillage La traçabilité permet de gérer la synchronisation Les éditeurs doivent améliorer la productivité

Adaptabilité

Utiliser des DSL à la place de UML

Écrire/Surcharger les templates de génération

Souplesse

CIM, PIM, PSM ne sont pas forcément utiles

La génération n'est pas obligatoire

Les diagrammes ne sont pas le seul type de représentation

Outillage

La traçabilité permet de gérer la synchronisation

Les éditeurs doivent améliorer la productivité

Approche et Vision Pragmatisme Disposer d'un outillage complet autour d'une technologie Adapter les outils à ses besoins Le modèle est le nouveau middleware Pas besoin de créer des "ponts" entre les applications Concentration sur les données Chaque application définit ses DSL et ses points de vue

Pragmatisme

Disposer d'un outillage complet autour d'une technologie

Adapter les outils à ses besoins

Le modèle est le nouveau middleware

Pas besoin de créer des "ponts" entre les applications

Concentration sur les données

Chaque application définit ses DSL et ses points de vue

Break Des modèles pour tous

Génération de texte : Acceleo

Génération de texte : Acceleo I mplémentation du standard OMG MOF to Text Language Licence EPL Outillage avancé Complétion Coloration syntaxique Corrections rapides Actions de refactoring Debugger Profiler Compilation à la volée avant sauvegarde Modules de générations prêt à l'emploi

I mplémentation du standard OMG MOF to Text Language

Licence EPL

Outillage avancé

Complétion

Coloration syntaxique

Corrections rapides

Actions de refactoring

Debugger

Profiler

Compilation à la volée avant sauvegarde

Modules de générations prêt à l'emploi

Génération de texte : Acceleo

Transformation de modèle : ATL Langage de transformation basé sur des règles Licence EPL Outillage avancé Complétion Coloration syntaxique Navigation Debugger Profiler Wizards Nombreux exemples de transformations

Langage de transformation basé sur des règles

Licence EPL

Outillage avancé

Complétion

Coloration syntaxique

Navigation

Debugger

Profiler

Wizards

Nombreux exemples de transformations

Transformation de modèle : ATL

Transformation de modèle : ATL

Migration et cartographie : Agility

Migration et cartographie : Agility Parseur paramétrable Retromodélisation aisée de 80% du code Traçabilité et synchronisation Granularité fine pour tous les éléments de la migration Connaissance du code ignoré par le parseur grâce à la regénération. Modules d'extraction JavaEE VB6, C++, ADA Forte, Progress, Cobol Modules de traduction VB6 -> VB.Net, VB6 -> Java OracleForms -> JavaEE ADA -> C++

Parseur paramétrable

Retromodélisation aisée de 80% du code

Traçabilité et synchronisation

Granularité fine pour tous les éléments de la migration

Connaissance du code ignoré par le parseur grâce à la regénération.

Modules d'extraction

JavaEE

VB6, C++, ADA

Forte, Progress, Cobol

Modules de traduction

VB6 -> VB.Net, VB6 -> Java

OracleForms -> JavaEE

ADA -> C++

Traçabilité : Traceability

Traçabilité : Traceability

Break Comparaison

Comparaison : EMF Compare Générique Extensible Fonctionnalités avancées Comparaison 3 voies Liens inter-modèle Export

Générique

Extensible

Fonctionnalités avancées

Comparaison 3 voies

Liens inter-modèle

Export

Modélisation graphique : Viewpoint Outil dirigé par les points de vue Spécification des points de vue Conforme à la définition de l'IEEE 1471 (2000) Outil de modélisation graphique paramétrable Modèle de paramétrage interprété à l'exécution Modifications prises en compte à la volée Plusieurs types de représentations Diagrammes Tableaux Éditeurs arborescents

Outil dirigé par les points de vue

Spécification des points de vue

Conforme à la définition de l'IEEE 1471 (2000)

Outil de modélisation graphique paramétrable

Modèle de paramétrage interprété à l'exécution

Modifications prises en compte à la volée

Plusieurs types de représentations

Diagrammes

Tableaux

Éditeurs arborescents

Exemples de modeleurs

Exemples de modeleurs

Exemples de modeleurs

Points de vue Paramétrage Définition des points de vues Définition des types de représentations associés à chaque point de vue Un point de vue peut contribuer des extensions à une représentation Exécution L'utilisateur sélectionne les points de vue activés Les représentations disponibles varient en fonction des point de vue activés Les fonctionnalités varient en fonction des point de vue activés

Paramétrage

Définition des points de vues

Définition des types de représentations associés à chaque point de vue

Un point de vue peut contribuer des extensions à une représentation

Exécution

L'utilisateur sélectionne les points de vue activés

Les représentations disponibles varient en fonction des point de vue activés

Les fonctionnalités varient en fonction des point de vue activés

Points de vue Paramétrage Exécution

Représentations Mappings Liens entre les éléments du modèle et leur représentation visuelle Langage de requêtage pour spécifier les candidats et des conditions Outils Définition complète du comportement (création, suppression, édition, etc...) Utilisation d'un DSL pour modifier le modèle sémantique en réaction à une requête

Mappings

Liens entre les éléments du modèle et leur représentation visuelle

Langage de requêtage pour spécifier les candidats et des conditions

Outils

Définition complète du comportement (création, suppression, édition, etc...)

Utilisation d'un DSL pour modifier le modèle sémantique en réaction à une requête

Diagrammes Mappings Conteneurs, nœuds, nœuds en bordure et connexions Styles graphiques : rectangle, losange, point, image, etc... Outils Reconnexion, édition instantanée, navigation entre représentations, etc..

Mappings

Conteneurs, nœuds, nœuds en bordure et connexions

Styles graphiques : rectangle, losange, point, image, etc...

Outils

Reconnexion, édition instantanée, navigation entre représentations, etc..

Diagrammes Paramétrage Exécution

Diagrammes Fonctionnalités avancées d'affichage conditionnel Calques : outils et éléments de diagramme Filtres : éléments de diagramme Pliage/Dépliage de branches sur les connexions Gestion fine du layout Spécification par diagramme Possibilité de fixer la position pour un élément Ergonomie prise en compte Support natif du zoom Fenêtre popup pour la création d'élément

Fonctionnalités avancées d'affichage conditionnel

Calques : outils et éléments de diagramme

Filtres : éléments de diagramme

Pliage/Dépliage de branches sur les connexions

Gestion fine du layout

Spécification par diagramme

Possibilité de fixer la position pour un élément

Ergonomie prise en compte

Support natif du zoom

Fenêtre popup pour la création d'élément

Tableaux Paramétrage Exécution

Atelier de modélisation Génération de texte Transformation de modèle Comparaison de modèle Modélisation graphique Traçabilité Intégré à Eclipse Basé sur la plateforme eclipse modeling Extensible

Atelier de modélisation

Génération de texte

Transformation de modèle

Comparaison de modèle

Modélisation graphique

Traçabilité

Intégré à Eclipse

Basé sur la plateforme eclipse modeling

Extensible

Des Questions ?

Merci [email_address]

[email_address]

La caverne : http://www.flickr.com/photos/evank/405469335/sizes/l/in/photostream/ Platon : http://www.flickr.com/photos/mansionwb/3585897576/sizes/m/in/photostream/ Le café : http://www.flickr.com/photos/aurelijus/2284894895/sizes/z/in/photostream/ La discussion : http://www.flickr.com/photos/clairity/154640125/sizes/z/in/photostream/ La tour de babel : http://www.flickr.com/photos/fdecomite/3872685816/ Adaptabilité : http://www.flickr.com/photos/curnen/1041618126/sizes/l/in/photostream/ Outillage : http://www.flickr.com/photos/batega/1596898776/sizes/l/in/photostream/ Souplesse : http://www.flickr.com/photos/notsogoodphotography/2187498747/sizes/o/in/photostream/ Comparaison : http://www.flickr.com/photos/thebusybrain/2492945625/sizes/o/in/photostream/ La foule : http://www.flickr.com/photos/jamescridland/613445810/

Add a comment

Related presentations

Related pages

Pragmatisme — Wikipédia

... comme « approche spécifique que réclame l'être humain du point de vue de ... Le pragmatisme et la ... une différence entre « ce ...
Read more

PRAGMATISME - Encyclopædia Universalis

Et il n'entre pas dans le propos du ... *Les termes de « pragmatisme » et de « pragmatique » n'ont pas la même ... De ce point de vue, ...
Read more

UML et modélisation - Scribd - Read books, audiobooks ...

d’abstraction Les exemples cités ... multiplicité des points de vue et donc multiplicité des ... et qu’il y a un continuum entre la modélisation et
Read more

Mondes, transitions intermondaines et kairos didactique ...

... h1> La modélisation pragmatiste ... et le chercheur Le point de vue du chercheur ... entre idéalité et pragmatisme ...
Read more

Journée IDM - Université de Lille 1 - Décembre 2010

Initier une dynamique d'échanges entre industriels et ... Nous concluerons sur les points ... et plus particulièrement sur la modélisation ...
Read more

Modélisation UML - Welcome on the LIRIS website — LIRIS

Sur UML et la modélisation ... Incarnant un point de vue sur ces cas Abstraction ... entre clients et développeurs Point d’entrée pour les étapes ...
Read more

Charles Sanders Peirce — Wikipédia

... publiés entre 1910 et 1913, ... Du point de vue mathématique, ... C.S. Peirce et le pragmatisme, Paris, PUF, ...
Read more

Modélisation - Sociologie

La parcimonie du modèle tranche de ce point de vue avec le souci d ... des relations entre les ... et la modélisation ne signifie pas ...
Read more