Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Benoit'Combemale'(Inria &'Univ.'Rennes'1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
A'...
(smart)'Cyber'Physical'Systems
Software
intensive
systems
! 2A Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'...
Aerodynamics
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact
...
4
Aerodynamics
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impac...
ModelHDriven Engineering'(MDE)
Distribution
«"Service"Provider"
Manager"»
Notification"
Alternate"Manager"
«"Recovery"Bloc...
ModelHDriven Engineering'(MDE)
! 6
J.'Whittle,'J.'Hutchinson,'and'M.'Rouncefield,'“The$State$of$Practice$in$Model2
Driven ...
ModelHDriven Engineering'(MDE)
! 7A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'...
ModelHDriven Engineering'(MDE)
! 8A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'...
Problem
Space Solution
Space
Assembler
C,'Java
DSLs
Abstraction
Gap
DomainHSpecific Languages (DSLs)
A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2...
11
"Language$specially designed$to$perform$a$task$in$a$certain:
domain"
"A$formal$processable language$targeting$at$a$spec...
A$GPL$provides$notations$that$are$used$to$describe$a$computation$in$a$
human2readable$form$that$can$be$translated$into$a$m...
The'boundary'isn’t'as'clear'as'it'could'be.'DomainH
specificity'is'not'blackHandHwhite,'but'instead'gradual:'a'
language'i...
Promises'of'domainHspecific languages
! 14A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)...
Promises'of'domainHspecific languages
! 15A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)...
« Another lesson we should have'learned from the'recent past is
that the'development of''richer''or''more'powerful''progra...
17
2011
« DomainHspecific
languages are'far'more'
prevalent than
anticipated »
What are'models used for?
! 18A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,...
Which modeling languages are'used?'
! 19A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H...
Which diagrams are'used?
! 20A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'...
! 21A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
John'Hutchinson,'Mar...
! 22A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
J!M.'Favre,'D.'Gasev...
• An'external DSL'is a'completely separate language and'with its
own custom'syntax/tooling support'(e.g.,'editor,'compiler...
Both internal and'external DSLs have'strengths and'weaknesses
• learning curve,'
• cost of'building,'
• programmer'familia...
Textual DSLs vs. Graphical DSLs
A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2n...
Software'Language Engineering'(SLE)
A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H Jul...
EMF-based Tools
(68 matches in
September, 2012)
Eclipse'Modeling
A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (IN...
The'Kermeta Workbench'(since'2005)
! 28A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H ...
The'Kermeta Workbench'(since'2005)
• Modular'design'of'DSMLs
• One'meta!language'per'language'concern'(merge/weave)
• Ecor...
Software'Language Engineering'(SLE)
! 30
J.'Whittle,'J.'Hutchinson,'and'M.'Rouncefield,'“The$State$of$Practice$in$Model2
D...
Software'Language Engineering'(SLE)
Jean!Marc'Jézéquel,'David'Mendez,'Thomas'Degueule,'Benoit'Combemale,'Olivier'
Barais,'...
Research'Topics'about'SLE'in'DiverSE
• Design'&'Implementation'of'DSLs
• Modularity,'customization,'reuse,'variability'man...
OPEN WORLD
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Variability model
L1 L2
L3 L4
L1
L3 L4L2
CLOSED WOR...
Alanguage-based,model-oriented
programming language
Melange
! 34A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INR...
TheGEMOCStudio
A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 H 35
! 36A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
• Graphical'animatio...
! 37A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
ArduinoDesigner(&Deb...
A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 38
https://github.com/...
WrapHup
A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 39
• Model$Dri...
Join us!
The'GEMOC'Initiative
http://gemoc.org ~'@gemocinitiative
Advisory Board:'Benoit'Combemale,'Robert'B.'France,'Jeff...
Prochain SlideShare
Chargement dans…5
×

A Journey Through MDE, DSL and SLE (July 2nd, 2015)

327 vues

Publié le

Talk given at JDEV 2015 about “Why not writing the code that will generate my code instead of writing my code?!”

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

A Journey Through MDE, DSL and SLE (July 2nd, 2015)

  1. 1. Benoit'Combemale'(Inria &'Univ.'Rennes'1) http://people.irisa.fr/Benoit.Combemale benoit.combemale@irisa.fr @bcombemale A'Journey'Through'MDE,'DSL'and'SLE Or…“Whynotwritingthecodethatwill generatemycodeinsteadof writingmycode?!”
  2. 2. (smart)'Cyber'Physical'Systems Software intensive systems ! 2A Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
  3. 3. Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction 3 Multiple Concerns
  4. 4. 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling
  5. 5. ModelHDriven Engineering'(MDE) Distribution «"Service"Provider" Manager"» Notification" Alternate"Manager" «"Recovery"Block" Manager"» Complaint Recovery"Block" Manager «"Service" Provider" Manager"» Notification"" Manager «"Service"Provider" Manager"» Complaint"Alternate" Manager" «"Service" Provider" Manager"» Complaint" Manager «"Acceptance" Test"Manager"» Notification" Acceptance"Test" Manager «"Acceptance" Test"Manager"» Complaint" Acceptance"Test Manager «"Recovery" Block"Manager"» Notification Recovery"Block" Manager «"Client"» User"Citizen" Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged res erv e Use case Platform Model Design Model Code Model Change'one'Aspect'and' Automatically ReHWeave: From:Software:Product:Lines… ..to:Dynamically:Adaptive:Systems ! 5A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
  6. 6. ModelHDriven Engineering'(MDE) ! 6 J.'Whittle,'J.'Hutchinson,'and'M.'Rouncefield,'“The$State$of$Practice$in$Model2 Driven Engineering,”'IEEE'Software,'vol.'31,'no.'3,'2014,'pp.'79–85. A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 "Perhaps$surprisingly,$the$majority$of$MDE$examples$in$our$study$ followed$domain2specific$modeling$paradigms" Distribution «"Service"Provider" Manager"» Notification" Alternate"Manager" «"Recovery"Block" Manager"» Complaint Recovery"Block" Manager «"Service" Provider" Manager"» Notification"" Manager «"Service"Provider" Manager"» Complaint"Alternate" Manager" «"Service" Provider" Manager"» Complaint" Manager «"Acceptance" Test"Manager"» Notification" Acceptance"Test" Manager «"Acceptance" Test"Manager"» Complaint" Acceptance"Test Manager «"Recovery" Block"Manager"» Notification Recovery"Block" Manager «"Client"» User"Citizen" Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged res erv e Use case Platform Model Design Model Code Model Change'one'Aspect'and' Automatically ReHWeave: From:Software:Product:Lines… ..to:Dynamically:Adaptive:Systems
  7. 7. ModelHDriven Engineering'(MDE) ! 7A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Jean!Marc'Jézéquel,'Benoît'Combemale'et'Didier'Vojtisek,'"Ingénierie'Dirigée' par'les'Modèles':'des'concepts'a'la'pratique,"'Ellipses'edition,'février'2012
  8. 8. ModelHDriven Engineering'(MDE) ! 8A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Jean!Marc'Jézéquel,'Benoît'Combemale'et'Didier'Vojtisek,'"Ingénierie'Dirigée' par'les'Modèles':'des'concepts'a'la'pratique,"'Ellipses'edition,'février'2012 Editors (textuals, graphicals, …) Documentation generators Test generators Simulators Analyzers Refactoring Checkers (static & dynamics) Translators Compilers Code generators Etc.
  9. 9. Problem Space Solution Space Assembler C,'Java DSLs Abstraction Gap
  10. 10. DomainHSpecific Languages (DSLs) A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 10 • Targeted to'a'particular kind of'problem,'with dedicated notations'(textual or'graphical),'support'(editor,'checkers,'etc.) • Promises:'more'« efficient »'languages for'resolving a'set'of' specific problems in'a'domain
  11. 11. 11 "Language$specially designed$to$perform$a$task$in$a$certain: domain" "A$formal$processable language$targeting$at$a$specific: viewpoint:or:aspect:of$a$software$system.$Its$semantics:and: notation:is$designed$in$order$to$support$working$with$that$ viewpoint$as$good$as$possible" "A$computer$language$that's$targeted$to$a$particular$kind$of$ problem,$rather:than:a:general:purpose:language that's$ aimed$at$any$kind$of$software$problem.” DomainHSpecific Languages (DSLs) ! 11A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
  12. 12. A$GPL$provides$notations$that$are$used$to$describe$a$computation$in$a$ human2readable$form$that$can$be$translated$into$a$machine2readable$ representation. A$GPL$is$a$formal$notation$that$can$be$used$to$describe$problem$ solutions$in$a$precise$manner. A$GPL$is$a$notation$that$can$be$used$to$write$programs. A$GPL$is$a$notation$for$expressing$computation. A$GPL$is$a$standardized$communication$technique$for$expressing$ instructions$to$a$computer.$It$is$a$set$of$syntactic$and$semantic$rules$ used$to$define$computer$programs. GPL'(General'Purpose Language)
  13. 13. The'boundary'isn’t'as'clear'as'it'could'be.'DomainH specificity'is'not'blackHandHwhite,'but'instead'gradual:'a' language'is'more'or'less'domain'specific GeneralPL vs. DomainSL
  14. 14. Promises'of'domainHspecific languages ! 14A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Higher' abstractions Avoid' redundancy Separation' of'concerns Use'domain' concepts
  15. 15. Promises'of'domainHspecific languages ! 15A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Benefits Productivity Quality V&V Communication Domain Expert No' Overhead Platform Independent
  16. 16. « Another lesson we should have'learned from the'recent past is that the'development of''richer''or''more'powerful''programming languages was a'mistake in'the'sense that these baroque' monstrosities,'these conglomerations of'idiosyncrasies,'are'really unmanageable,'both mechanically and'mentally.' I'see a'great future'for'very systematic and' very modest programming languages » ACM'Turing'Lecture,'« The'Humble'Programmer »' Edsger W.'Dijkstra 16 aka DomainH Specific Languages aka GeneralHPurpose Languages 1972
  17. 17. 17 2011 « DomainHspecific languages are'far'more' prevalent than anticipated »
  18. 18. What are'models used for? ! 18A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Jon'Whittle,'"What do$449$MDE$Practitioners Think About$MDE?"'EESSMod’11
  19. 19. Which modeling languages are'used?' ! 19A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Jon'Whittle,'"What do$449$MDE$Practitioners Think About$MDE?"'EESSMod’11
  20. 20. Which diagrams are'used? ! 20A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Jon'Whittle,'"What do$449$MDE$Practitioners Think About$MDE?"'EESSMod’11
  21. 21. ! 21A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 John'Hutchinson,'Mark'Rouncefield,'Jon'Whittle,'"Model!driven engineering' practices'in'industry."'ICSE'2011:'633!642 "DSLs:are: far:more:prevalent than anticipated"
  22. 22. ! 22A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 J!M.'Favre,'D.'Gasevic,'R.'Lämmel,'and'E.'Pek.'"Empirical language analysis in'software'linguistics,"'In'Software'Language Engineering,'volume'6563'of' LNCS,'pages'316–326.'Springer,'2011. "Software:languages: are:software:too"
  23. 23. • An'external DSL'is a'completely separate language and'with its own custom'syntax/tooling support'(e.g.,'editor,'compiler) • Language worbenches:$Eclipse$modeling (EMF,$xText,$GMF,$ Sirius,$Kermeta,$xCore/xTend…),$DSL$Tools,$Meta$Edit+,$MPS,$ GME,$Neverlang,$Delite,$etc. • An'internal DSL'is more'or'less a'set'of'APIs'written on'top'of'a' host'language • Extension$mechanisms:$xTend’s active$annotation,$Scala’s LMS,$ extensions$methods (e.g.,$xTend,$Kotlin,$Scala2Virtualized),$plain2 old java$annotation$or$even fluent$interfaces! • API$2>$fluent$API$2>$staging (LMS) • annotation$2>$active$annotation External DSLs vs. Internal DSLs A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 23
  24. 24. Both internal and'external DSLs have'strengths and'weaknesses • learning curve,' • cost of'building,' • programmer'familiarity,' • communication'with domain experts,' • mixing in'the'host'language,' • strong expressiveness boundary External DSLs vs. Internal DSLs A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 24
  25. 25. Textual DSLs vs. Graphical DSLs A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 25
  26. 26. Software'Language Engineering'(SLE) A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 26 • Application'of'systematic,'disciplined,'and'measurable' approaches'to'the'development,'deployment,'use,'and' maintenance'of'software'languages • Supported'by'various'kind'of'"language'workbench" • Eclipse'EMF,'xText,'Sirius,'GEMOC,'Papyrus • Jetbrain’s MPS • MS'DSL'Tools • Etc. • Various'shapes'and'ways'to'implement'software'languages • External,'internal'or'embedded'DSLs,'Profile,'etc. • Grammar,'metamodel,'ontology,'etc. • More and'more'literature,'a'dedicated'Intl.'conference'(ACM' SLE,'cf.'http://www.sleconf.org)…
  27. 27. EMF-based Tools (68 matches in September, 2012) Eclipse'Modeling A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 27
  28. 28. The'Kermeta Workbench'(since'2005) ! 28A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Jean!Marc'Jézéquel,'Benoit'Combemale,'Olivier'Barais,'Martin'Monperrus,' François'Fouquet,'“Mashup of$metalanguages and$its implementation in$the$ Kermeta language workbench,”'SoSyM,'2014. @aspect(class=Transition) operation fire() : String { source.owningFSM.currentState := target result := output }
  29. 29. The'Kermeta Workbench'(since'2005) • Modular'design'of'DSMLs • One'meta!language'per'language'concern'(merge/weave) • Ecore,'OCL,'Xtend • But'also:'QVTo,'fUML,'Alf,'Ket,'Xsd… • Static'introduction'mechanism'(aspect) • Provides'a'model'oriented'action'language'to'support'common'model' manipulation'tasks' • to'implement'(E)Operation’s'bodies • Imperative,'statically'typed,'object!oriented,'aspect!oriented' (aspect/context,'require),'model!oriented,'DbC,'Unit'testing • Java'and'Xtend compliant,'and'based'on'EMF • Run'as'Eclipse'plugin'or'as'standard'Java'application • Efficient'implementation of'DSMLs • Mashup of'the'meta!languages'to'Java'code • Integrated'with'third!party'tools'(EMF'compliant) ! 29A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 Jean!Marc'Jézéquel,'Benoit'Combemale,'Olivier'Barais,'Martin'Monperrus,' François'Fouquet,'“Mashup of$metalanguages and$its implementation in$the$ Kermeta language workbench,”'SoSyM,'2014.
  30. 30. Software'Language Engineering'(SLE) ! 30 J.'Whittle,'J.'Hutchinson,'and'M.'Rouncefield,'“The$State$of$Practice$in$Model2 Driven Engineering,”'IEEE'Software,'vol.'31,'no.'3,'2014,'pp.'79–85. A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 "A$clear$challenge,$then,$is$how$to$integratemultiple$DSLs." "Rather$than$attempting$to$formalize$a$wide2ranging$domain$(such$ as$financial$applications),$practitioners$should$write$small,$easy2to2 maintain$DSLs$and$code$generators.$In$practice,$however,$multiple$ DSLs$are$usually$required,$which$brings$its$own$challenges$in$terms$ of$integration."
  31. 31. Software'Language Engineering'(SLE) Jean!Marc'Jézéquel,'David'Mendez,'Thomas'Degueule,'Benoit'Combemale,'Olivier' Barais,'"When Systems Engineering$Meets Software$Language Engineering,"'In' Complex Systems Design'&'Management'(CSD&M'14),'Springer,'2014. All'about'“family'of'languages”!!'! Core Query Language Action Language Constraint LanguageFSM H FSM System ODE FSM Activity Language Inheritance Subtyping, Model Viewpoint, Generic metaprogramming Globalization of DSLs HFSM UML Rhapsody Stateflow HT FSM Language Modularization and Composition, Language Variability Management A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 31
  32. 32. Research'Topics'about'SLE'in'DiverSE • Design'&'Implementation'of'DSLs • Modularity,'customization,'reuse,'variability'management'of'DSLs • Domain!specific'meta!languages'(executability,'concurrency,'coordination) • DSL'executability,'model'simulation'and'debug,'and'trace'management • Language'adaptability • Globalization'of'DSLs • Concurrent'execution'of'heterogeneous'models • Integration'of'scientific'models'and'engineering'models ! 32A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
  33. 33. OPEN WORLD Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Variability model L1 L2 L3 L4 L1 L3 L4L2 CLOSED WORLD Language Manipulation • Evolution • Extension • Restriction • Customization • Assembly Variability-based development model for DSLs • Variability modeling • Components-based languages development Families of Languages Variants Language derivation L6 Typing Theory for Agile Modeling • Language interfaces • Model polymorphism • Viewpoints management MELANGE A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 33
  34. 34. Alanguage-based,model-oriented programming language Melange ! 34A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015
  35. 35. TheGEMOCStudio A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 H 35
  36. 36. ! 36A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 • Graphical'animation • Breakpoint'definition'on'model'element • MultiHdimensional'and'efficient'trace' management • Model'debugging'facilities'(incl.,'timeline,' step'backward,'stimuli'management,'etc.) • Concurrency'simulation'and'formal'analysis ActivityDiagramDebugger https://github.com/gemoc/activitydiagram
  37. 37. ! 37A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ArduinoDesigner(&Debugger)
  38. 38. A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 38 https://github.com/gemoc/farmingmodeling FarmingSystemModeling
  39. 39. WrapHup A:Journey:Through:MDE,:DSL:and:SLE H Benoit'Combemale (INRIA'and'Univ.'Rennes'1)'H July'2nd,'2015 ! 39 • Model$Driven$Engineering • Addresses$accidental$complexity$ • Separation$of$concerns$with$models • Abstraction$with$DS(M)Ls Software$Language Engineering • Tools$and$methods$for$language$design,$implementation,$$ deployment,$use$and$evolution • Tools:$various$language$workbenches • Methods:$various$shapes$and$ways$to$implement$languages • Next$grand$challenge: Globalization of'Modeling'Languages Cf.'the'GEMOC'initiative http://gemoc.org
  40. 40. Join us! The'GEMOC'Initiative http://gemoc.org ~'@gemocinitiative Advisory Board:'Benoit'Combemale,'Robert'B.'France,'Jeff'Gray'and'JeanHMarc' Jézéquel

×