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

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

If you can't read please download the document

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

  • 1. Modlisation et points de vue Entre abstraction et pragmatisme Journe de l'IDM 2010 Mariot CHAUVIN [email_address]

2. Mariot CHAUVIN

  • Ingnieur "Model Driven Expert"

3. Responsable de l'atelier de modlisation Obeo Designer 4. Committer Eclipse sur GMF, SWTBot, Sketch 5. http://mariot-thoughts.blogspot.com&http://twitter.com/mchv 6. UniversalismeWork Work Break Break 7. Break Il n'y a pas de langage universel 8. DSL

  • Un langage spcifique un domaine
  • Peut-treTextuelouGraphique

9. Dfinit levocabulaire d'un domainede connaissance particulier :

  • Par des mots

10. Par des reprsentations graphiques A ces caractristiques : simplicit, expressivit, explicite, cibl, non ambigu 11. Des exemples de DSL

  • Notation :
  • Musicale :

12. Rubik's cube Mtier :

  • Calcul de polices d'assurances

13. Dfinition de rgles mtiers bancaires Techniques :

  • SQL :SELECT * FROM RESEARCHERS WHERE LIFL_MEMBER=1;

14. CSS :body { background-color: #CCCCCC; } 15. Regex :b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b... 16. Modlisation et points de vue

  • Un modle n'est qu'une representation possible
  • Plusieurs modles peuvent dcrire la mme chose

17. Chaque modle peut correspondre une vue Les DSL permettent la sparation des proccupations

  • Chaque DSL peut cibler une proccupation

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

  • Un DSL peut couvrir plusieurs proccupations

18. L'outillage doit permettre de les sparer 19. Obeo

  • diteur spcialiste des approchesmodles
  • Nantes en 2005, Paris depuis 2007

20. 50spcialistesMDE 21. Activit 2009 : 2,5 M encroissancede 40% 22. Socit Franaise indpendante 23. Investissement R&D hauteur de 30% des revenus 24. Implication dans Eclipse

  • Membre stratgique

25. Leader de 5 projets 26. 14 Committers 27. 1 400 000 lignes de code contribues 28. Intrts de la modlisation

  • Monte en abstraction
  • Passage des concepts devant la technologie

29. Sparation des procuppations fonctionelles et techniques Capitalisation

  • Des connaissances sur le domaine mtier

30. Des bonnes pratiques sur le domaine technique Automatisation

  • Gnration possible sans perte de synchronisation

31. Rutilisation 32. Problmes en pratique

  • Le code gnr est affreux
  • Difficile comprendre

33. Non maintenable 34. Pas performant La modlisation contraint nos processus

  • Difficult de modification du code gnr sans dsynchronisation du modle

Les diagrammes ne conviennent pas

  • Les diffrents types de diagramme UML2 sont trop complexes

35. Sur un vrai projet le diagramme de classe est illllisible 36. Break adaptabilit 37. Break souplesse 38. Break outillage 39. Quel est le besoin ?

  • Adaptabilit
  • Utiliser des DSL la place de UML

40. crire/Surcharger les templates de gnration Souplesse

  • CIM, PIM, PSM ne sont pas forcment utiles

41. La gnration n'est pas obligatoire 42. Les diagrammes ne sont pas le seul type de reprsentation Outillage

  • La traabilit permet de grer la synchronisation

43. Les diteurs doivent amliorer la productivit 44. Approche et Vision

  • Pragmatisme
  • Disposer d'un outillage complet autour d'une technologie

45. Adapter les outils ses besoins Le modle est le nouveau middleware

  • Pas besoin de crer des "ponts" entre les applications

46. Concentration sur les donnes 47. Chaque application dfinit ses DSL et ses points de vue 48. Break Des modles pour tous 49. Gnration de texte : Acceleo 50. Gnration de texte : Acceleo

  • I mplmentation du standard OMG MOF to Text Language

51. Licence EPL 52. Outillage avanc

  • Compltion

53. Coloration syntaxique 54. Corrections rapides 55. Actions de refactoring 56. Debugger 57. Profiler 58. Compilation la vole avant sauvegarde Modules de gnrations prt l'emploi 59. Gnration de texte : Acceleo 60. Transformation de modle : ATL

  • Langage de transformation bas sur des rgles

61. Licence EPL 62. Outillage avanc

  • Compltion

63. Coloration syntaxique 64. Navigation 65. Debugger 66. Profiler 67. Wizards Nombreux exemples de transformations 68. Transformation de modle : ATL 69. Transformation de modle : ATL 70. Migration et cartographie : Agility 71. Migration et cartographie : Agility

  • Parseur paramtrable
  • Retromodlisation aise de 80% du code

Traabilit et synchronisation

  • Granularit fine pour tous les lments de la migration

72. Connaissance du code ignor par le parseur grce la regnration. Modules d'extraction

  • JavaEE

73. VB6, C++, ADA 74. Forte, Progress, Cobol Modules de traduction

  • VB6 -> VB.Net, VB6 -> Java

75. OracleForms -> JavaEE 76. ADA -> C++ 77. Traabilit : Traceability 78. Traabilit : Traceability 79. Break Comparaison 80. Comparaison : EMF Compare

  • Gnrique

81. Extensible 82. Fonctionnalits avances

  • Comparaison 3 voies

83. Liens inter-modle 84. Export 85. Modlisation graphique : Viewpoint

  • Outil dirig par les points de vue
  • Spcification des points de vue

86. Conforme la dfinition de l'IEEE 1471 (2000) Outil de modlisation graphique paramtrable

  • Modle de paramtrage interprt l'excution

87. Modifications prises en compte la vole Plusieurs types de reprsentations

  • Diagrammes

88. Tableaux 89. diteurs arborescents 90. Exemples de modeleurs 91. Exemples de modeleurs 92. Exemples de modeleurs 93. Points de vue

  • Paramtrage
  • Dfinition des points de vues

94. Dfinition des types de reprsentations associs chaque point de vue 95. Un point de vue peut contribuer des extensions une reprsentation Excution

  • L'utilisateur slectionne les points de vue activs

96. Les reprsentations disponibles varient en fonction des point de vue activs 97. Les fonctionnalits varient en fonction des point de vue activs 98. Points de vue Paramtrage Excution 99. Reprsentations

  • Mappings
  • Liens entre les lments du modle et leur reprsentation visuelle

100. Langage de requtage pour spcifier les candidats et des conditions Outils

  • Dfinition complte du comportement (cration, suppression, dition, etc...)

101. Utilisation d'un DSL pour modifier le modle smantique en raction une requte 102. Diagrammes

  • Mappings
  • Conteneurs, nuds, nuds en bordure et connexions

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

  • Reconnexion, dition instantane, navigation entre reprsentations, etc..

104. Diagrammes Paramtrage Excution 105. Diagrammes

  • Fonctionnalits avances d'affichage conditionnel
  • Calques: outils et lments de diagramme

106. Filtres: lments de diagramme 107. Pliage/Dpliage de branches sur les connexions Gestion fine du layout

  • Spcification par diagramme

108. Possibilit de fixer la position pour un lment Ergonomie prise en compte

  • Support natif du zoom

109. Fentre popup pour la cration d'lment 110. Tableaux Paramtrage Excution 111.

  • Atelier de modlisation
  • Gnration de texte

112. Transformation de modle 113. Comparaison de modle 114. Modlisation graphique 115. Traabilit Intgr Eclipse

  • Bas sur la plateforme eclipse modeling

116. Extensible 117. Des Questions ? 118.

  • Merci
  • [email_address]

119. 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/