SlideShare uma empresa Scribd logo
1 de 30
“ Model-Driven Development of Model Transformations” Pieter Van Gorp Proefschrift ingediend tot het behalen van de graad van Doctor in de Wetenschappen
Model Everything The System  (part of the real world) Model of the  external structure Model of the  internal structure Model of the  electricity models models models Omit details Support a purpose
Language Evolution in Software Development Java 1 CORBA BPEL.XML EJB JMS, JCA, WSIF, … CORBA CORBA BPEL.XML BPEL.XML VB C++ VB.NET C# Bla 1 Bla 3 Bla 2 The next best thing The next best thing The next best thing ? ? ?
Escaping from Language evolution & extinction? 1954 - FORTRAN  1958 - LISP  1958 - ALGOL 58  1959 - COBOL  1962 - APL  1962 - Simula  1964 - BASIC  1964 - PL/I  1970 - Pascal  1970 - Forth  1972 - C  1972 - Smalltalk  1972 - Prolog  1973 - ML  1978 - SQL  1983 - Ada  1983 - C++  1985 - Eiffel  1987 - Perl  1989 - FL (Backus)  1990 - Haskell  1990 - Python  1991 - Java  1993 - Ruby  1995 - PHP  2000 - C#  … Java RMI JDBC JMS EJB 1 Hibernate EJB 2 Generics … OO Modeling  UML DataSets NHibernate ODX Gentle.NET Ubik Persist.NET ... Keep it stable “ Human Friendly”
Modeling Language :  Keep it Stable specify UML conforms- to conforms- to conforms- to Java C++ Programmer interpret specify specify…
Modeling Languages & Tools :   Human Friendly ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],models
One Step Further: Multiple Software Models, Multiple Levels of Abstraction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Clean separation between models    iterative development
Transformations in Conventional Software Development ,[object Object],Manual!
Doing the transformations by hand is  expensive  and  error-prone ! If only we could automatically   transform those models into whatever the machine  requires! Anno 2000 ... and we do them over and over  for each project ...
Transformations in Model-Driven Software Development ,[object Object],[object Object]
Thesis Goals ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Model-Driven Development of Model Transformations
Principles of Translation conforms-to conforms-to conforms-to Hieroglyphic models Demotic Ancient Greek models ... models describing the repealing of various taxes and instructions to erect statues in temples  describing the repealing of various taxes and instructions to erect statues in temples  describing the repealing of various taxes and instructions to erect statues in temples
Principles of Translation Hieroglyphic models Demotic models ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Alphabet, Grammar, Normalization, Translation Rules ,[object Object],[object Object],[object Object],a  “Metamodel”  =  a Model of a Language Translation Process = Application of  Transformations Noun,  Verb, ... Substantif, Verbe, ...
Translation LV PV O PV O LV Normalization “ Switch position of Subject and Verb” Translation “ LV PV O maps to …”` Translation “ LV PV O maps to …” ,[object Object],[object Object],[object Object]
A language for Modeling Translations... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Standard Syntax for Metamodeling Example: UML Metamodel UML  Meta Model (of UML) UML Model  (of racing game)
Standard Syntax for Metamodeling Example: UML Metamodel UML  Meta Model (of UML) UML Model  (of racing game)
Standard Syntax for Metamodeling Example: UML Metamodel UML  Meta Model (of UML) UML Model  (of racing game)
A language for Modeling Translations... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],EXISTING N E W
Related Software Models:  Correspondences in Detail Analysis Model Design Model
Modeling Transformation Rules INPUT model OUTPUT model INPUT metamodel OUTPUT metamodel Match, Create, Destroy,  Copy in terms of the  metamodels Class Diagrams too! Class Diagrams conforms to conforms to Copying  fragments of models is complex! » Example
IN/OUT metamodel conforms to conforms to OUTPUT model INPUT model processed by processed by IN-to-OUT   Transformation read write Modeling a  Copy  Operation Derivation
Modeling a  Copy  Operation Derivation IN/OUT metamodel OUTPUT model INPUT model <<copy>> IN-to-OUT   Transformation read write
Modeling a  Copy  Operation Summary Transformation Modeling Language:  (extension of) so-called “ Story Diagrams” , in  Standard UML  syntax
Cognitive Evaluation  (of Transformation Modeling Language) + T. R. G. Green.  Cognitive dimensions of notations . In Alistair Sutcliffe and Linda Macaulay, editors,  People and Computers V, pages 443–460, New York, NY, USA,1989. Cambridge University Press. Consistency (able to infer <<onCopy>> <<destroy>>) Diffuseness  (however: issue of input/output metamodels!) Secondary Notation (2D layout, color, …) Progressive Evaluation (tool issue?) Role-Expressiveness (edges: relation to whole) Juxtaposition (embedding… native Fujaba) Closeness of Mapping (syntax ~ metamodeling) -
Generality   ( of Transformation Modeling Language) Synthesis Refactoring Synthesis Refactoring UML2CSP CM2RM Copy2GT Pull Up Method Extract Interface Push Down Method Model Synchronization Model Synchronization Operational Declarative, Hybrid: >> outline for    future work Normalization Normalization UML2CSP Chaining Chaining UML2CSP
Thesis Goals ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Model-Driven Development of Model Transformations
Towards Transformation Code… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],Higher Order Transformations ModelTransformer.ftl TransFlow.ftl TransPrimitive.ftl <<success>>,  <<failure>>,  <<each time>> <<success>>,  <<failure>>,  <<each time>> <<create>>, <<destroy>> <<copy>> , <<create>>, <<destroy>> <<success>>,  <<failure>>,  <<each time>> <<create>>, <<destroy>> Again as Story Diagrams! Eat your own dogfood JMI, EMF, Java2, ... getClasses(): FCollection remove(), add(LinkedList l), … MDA Standardization of the state-of-the-art (Fujaba 3) Improvement  of the state-of-the-art (Graph Transformation, QVT) Independent of the  modeling platform!
Conclusions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Model-Driven Development of Model Transformations

Mais conteúdo relacionado

Mais procurados

Architecting Domain-Specific Languages
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific LanguagesMarkus Voelter
 
Imperative programming
Imperative programmingImperative programming
Imperative programmingEdward Blurock
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming ParadigmsLeo Hernandez
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!Ed Seidewitz
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML WorkshopEd Seidewitz
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfEd Seidewitz
 
Programing paradigm &amp; implementation
Programing paradigm &amp; implementationPrograming paradigm &amp; implementation
Programing paradigm &amp; implementationBilal Maqbool ツ
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming ParadigmsDirecti Group
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Benoit Combemale
 
From Programming to Modeling And Back Again
From Programming to Modeling And Back AgainFrom Programming to Modeling And Back Again
From Programming to Modeling And Back AgainMarkus Voelter
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Ed Seidewitz
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Jordi Cabot
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJPatrick Viry
 
Stub Testing and Driver Testing
Stub Testing and Driver TestingStub Testing and Driver Testing
Stub Testing and Driver TestingPopescu Petre
 
Tech for devs, F#
Tech for devs, F#Tech for devs, F#
Tech for devs, F#Robert Rohr
 
Executable modeling & dynamic adaptation
Executable modeling & dynamic adaptationExecutable modeling & dynamic adaptation
Executable modeling & dynamic adaptationOlivier Le Goaër
 

Mais procurados (20)

Functional programming
Functional programmingFunctional programming
Functional programming
 
Paradigms
ParadigmsParadigms
Paradigms
 
Architecting Domain-Specific Languages
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific Languages
 
Imperative programming
Imperative programmingImperative programming
Imperative programming
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming Paradigms
 
Switch case and looping
Switch case and loopingSwitch case and looping
Switch case and looping
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML Workshop
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and Alf
 
Programing paradigm &amp; implementation
Programing paradigm &amp; implementationPrograming paradigm &amp; implementation
Programing paradigm &amp; implementation
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming Paradigms
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)
 
From Programming to Modeling And Back Again
From Programming to Modeling And Back AgainFrom Programming to Modeling And Back Again
From Programming to Modeling And Back Again
 
final pl paper
final pl paperfinal pl paper
final pl paper
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJ
 
Stub Testing and Driver Testing
Stub Testing and Driver TestingStub Testing and Driver Testing
Stub Testing and Driver Testing
 
Tech for devs, F#
Tech for devs, F#Tech for devs, F#
Tech for devs, F#
 
Executable modeling & dynamic adaptation
Executable modeling & dynamic adaptationExecutable modeling & dynamic adaptation
Executable modeling & dynamic adaptation
 

Semelhante a Model-driven Development of Model Transformations

SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
Modelling and Programming: Isn&rsquo;t it all the same?
Modelling and Programming: Isn&rsquo;t it all the same?Modelling and Programming: Isn&rsquo;t it all the same?
Modelling and Programming: Isn&rsquo;t it all the same?CHOOSE
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software qualityUtkarsh Agarwal
 
Elm or how I learned to love front-end development
Elm or how I learned to love front-end developmentElm or how I learned to love front-end development
Elm or how I learned to love front-end developmentCodemotion
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
GPT and other Text Transformers: Black Swans and Stochastic Parrots
GPT and other Text Transformers:  Black Swans and Stochastic ParrotsGPT and other Text Transformers:  Black Swans and Stochastic Parrots
GPT and other Text Transformers: Black Swans and Stochastic ParrotsKonstantin Savenkov
 
Functional programming in TypeScript
Functional programming in TypeScriptFunctional programming in TypeScript
Functional programming in TypeScriptbinDebug WorkSpace
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE Jean-Sebastien Sottet
 
Design Patterns and Form Processing
Design Patterns and Form ProcessingDesign Patterns and Form Processing
Design Patterns and Form ProcessingJaime Metcher
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)Jordi Cabot
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
The Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelFThe Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelFMarkus Voelter
 
Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010Ogren Paunović
 
What's Missing in Language Workbenches
What's Missing in Language WorkbenchesWhat's Missing in Language Workbenches
What's Missing in Language WorkbenchesMarkus Voelter
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling WorldsIstvan Rath
 

Semelhante a Model-driven Development of Model Transformations (20)

IN4308 1
IN4308 1IN4308 1
IN4308 1
 
Epsilon
EpsilonEpsilon
Epsilon
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
Modelling and Programming: Isn&rsquo;t it all the same?
Modelling and Programming: Isn&rsquo;t it all the same?Modelling and Programming: Isn&rsquo;t it all the same?
Modelling and Programming: Isn&rsquo;t it all the same?
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software quality
 
Elm or how I learned to love front-end development
Elm or how I learned to love front-end developmentElm or how I learned to love front-end development
Elm or how I learned to love front-end development
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
GPT and other Text Transformers: Black Swans and Stochastic Parrots
GPT and other Text Transformers:  Black Swans and Stochastic ParrotsGPT and other Text Transformers:  Black Swans and Stochastic Parrots
GPT and other Text Transformers: Black Swans and Stochastic Parrots
 
Functional programming in TypeScript
Functional programming in TypeScriptFunctional programming in TypeScript
Functional programming in TypeScript
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE
 
ALT
ALTALT
ALT
 
Design Patterns and Form Processing
Design Patterns and Form ProcessingDesign Patterns and Form Processing
Design Patterns and Form Processing
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
The Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelFThe Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelF
 
Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010
 
What's Missing in Language Workbenches
What's Missing in Language WorkbenchesWhat's Missing in Language Workbenches
What's Missing in Language Workbenches
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 

Último

+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...
+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...
+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...Health
 
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdfSeeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdfAshis Kumar Dey
 
Law of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Law of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnLaw of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Law of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTintoTom3
 
cost-volume-profit analysis.ppt(managerial accounting).pptx
cost-volume-profit analysis.ppt(managerial accounting).pptxcost-volume-profit analysis.ppt(managerial accounting).pptx
cost-volume-profit analysis.ppt(managerial accounting).pptxazadalisthp2020i
 
Pension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdfPension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdfHenry Tapper
 
abortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammam
abortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammamabortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammam
abortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammamsamsungultra782445
 
FOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdf
FOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdfFOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdf
FOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdfCocity Enterprises
 
Lion One Corporate Presentation May 2024
Lion One Corporate Presentation May 2024Lion One Corporate Presentation May 2024
Lion One Corporate Presentation May 2024Adnet Communications
 
Abortion pills in Saudi Arabia (+919707899604)cytotec pills in dammam
Abortion pills in Saudi Arabia (+919707899604)cytotec pills in dammamAbortion pills in Saudi Arabia (+919707899604)cytotec pills in dammam
Abortion pills in Saudi Arabia (+919707899604)cytotec pills in dammamsamsungultra782445
 
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...batoole333
 
Responsible Finance Principles and Implication
Responsible Finance Principles and ImplicationResponsible Finance Principles and Implication
Responsible Finance Principles and ImplicationNghiaPham100
 
+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...
+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...
+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...Health
 
Collecting banker, Capacity of collecting Banker, conditions under section 13...
Collecting banker, Capacity of collecting Banker, conditions under section 13...Collecting banker, Capacity of collecting Banker, conditions under section 13...
Collecting banker, Capacity of collecting Banker, conditions under section 13...RaniT11
 
logistics industry development power point ppt.pdf
logistics industry development power point ppt.pdflogistics industry development power point ppt.pdf
logistics industry development power point ppt.pdfSalimullah13
 
Stock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdfStock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdfMichael Silva
 
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...Henry Tapper
 
Business Principles, Tools, and Techniques in Participating in Various Types...
Business Principles, Tools, and Techniques  in Participating in Various Types...Business Principles, Tools, and Techniques  in Participating in Various Types...
Business Principles, Tools, and Techniques in Participating in Various Types...jeffreytingson
 
Toronto dominion bank investor presentation.pdf
Toronto dominion bank investor presentation.pdfToronto dominion bank investor presentation.pdf
Toronto dominion bank investor presentation.pdfJinJiang6
 
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...janibaber266
 
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...Call Girls Mumbai
 

Último (20)

+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...
+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...
+97470301568>>buy weed in qatar,buy thc oil in qatar doha>>buy cannabis oil i...
 
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdfSeeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdf
 
Law of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Law of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnLaw of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Law of Demand.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
cost-volume-profit analysis.ppt(managerial accounting).pptx
cost-volume-profit analysis.ppt(managerial accounting).pptxcost-volume-profit analysis.ppt(managerial accounting).pptx
cost-volume-profit analysis.ppt(managerial accounting).pptx
 
Pension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdfPension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdf
 
abortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammam
abortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammamabortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammam
abortion pills in Riyadh Saudi Arabia (+919707899604)cytotec pills in dammam
 
FOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdf
FOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdfFOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdf
FOREX FUNDAMENTALS: A BEGINNER'S GUIDE.pdf
 
Lion One Corporate Presentation May 2024
Lion One Corporate Presentation May 2024Lion One Corporate Presentation May 2024
Lion One Corporate Presentation May 2024
 
Abortion pills in Saudi Arabia (+919707899604)cytotec pills in dammam
Abortion pills in Saudi Arabia (+919707899604)cytotec pills in dammamAbortion pills in Saudi Arabia (+919707899604)cytotec pills in dammam
Abortion pills in Saudi Arabia (+919707899604)cytotec pills in dammam
 
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
Black magic specialist in Canada (Kala ilam specialist in UK) Bangali Amil ba...
 
Responsible Finance Principles and Implication
Responsible Finance Principles and ImplicationResponsible Finance Principles and Implication
Responsible Finance Principles and Implication
 
+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...
+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...
+971565801893>>SAFE ORIGINAL ABORTION PILLS FOR SALE IN DUBAI,RAK CITY,ABUDHA...
 
Collecting banker, Capacity of collecting Banker, conditions under section 13...
Collecting banker, Capacity of collecting Banker, conditions under section 13...Collecting banker, Capacity of collecting Banker, conditions under section 13...
Collecting banker, Capacity of collecting Banker, conditions under section 13...
 
logistics industry development power point ppt.pdf
logistics industry development power point ppt.pdflogistics industry development power point ppt.pdf
logistics industry development power point ppt.pdf
 
Stock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdfStock Market Brief Deck (Under Pressure).pdf
Stock Market Brief Deck (Under Pressure).pdf
 
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
 
Business Principles, Tools, and Techniques in Participating in Various Types...
Business Principles, Tools, and Techniques  in Participating in Various Types...Business Principles, Tools, and Techniques  in Participating in Various Types...
Business Principles, Tools, and Techniques in Participating in Various Types...
 
Toronto dominion bank investor presentation.pdf
Toronto dominion bank investor presentation.pdfToronto dominion bank investor presentation.pdf
Toronto dominion bank investor presentation.pdf
 
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
 
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
 

Model-driven Development of Model Transformations

  • 1. “ Model-Driven Development of Model Transformations” Pieter Van Gorp Proefschrift ingediend tot het behalen van de graad van Doctor in de Wetenschappen
  • 2. Model Everything The System (part of the real world) Model of the external structure Model of the internal structure Model of the electricity models models models Omit details Support a purpose
  • 3. Language Evolution in Software Development Java 1 CORBA BPEL.XML EJB JMS, JCA, WSIF, … CORBA CORBA BPEL.XML BPEL.XML VB C++ VB.NET C# Bla 1 Bla 3 Bla 2 The next best thing The next best thing The next best thing ? ? ?
  • 4. Escaping from Language evolution & extinction? 1954 - FORTRAN 1958 - LISP 1958 - ALGOL 58 1959 - COBOL 1962 - APL 1962 - Simula 1964 - BASIC 1964 - PL/I 1970 - Pascal 1970 - Forth 1972 - C 1972 - Smalltalk 1972 - Prolog 1973 - ML 1978 - SQL 1983 - Ada 1983 - C++ 1985 - Eiffel 1987 - Perl 1989 - FL (Backus) 1990 - Haskell 1990 - Python 1991 - Java 1993 - Ruby 1995 - PHP 2000 - C# … Java RMI JDBC JMS EJB 1 Hibernate EJB 2 Generics … OO Modeling UML DataSets NHibernate ODX Gentle.NET Ubik Persist.NET ... Keep it stable “ Human Friendly”
  • 5. Modeling Language : Keep it Stable specify UML conforms- to conforms- to conforms- to Java C++ Programmer interpret specify specify…
  • 6.
  • 7.
  • 8.
  • 9. Doing the transformations by hand is expensive and error-prone ! If only we could automatically transform those models into whatever the machine requires! Anno 2000 ... and we do them over and over for each project ...
  • 10.
  • 11.
  • 12. Principles of Translation conforms-to conforms-to conforms-to Hieroglyphic models Demotic Ancient Greek models ... models describing the repealing of various taxes and instructions to erect statues in temples describing the repealing of various taxes and instructions to erect statues in temples describing the repealing of various taxes and instructions to erect statues in temples
  • 13.
  • 14.
  • 15.
  • 16. Standard Syntax for Metamodeling Example: UML Metamodel UML Meta Model (of UML) UML Model (of racing game)
  • 17. Standard Syntax for Metamodeling Example: UML Metamodel UML Meta Model (of UML) UML Model (of racing game)
  • 18. Standard Syntax for Metamodeling Example: UML Metamodel UML Meta Model (of UML) UML Model (of racing game)
  • 19.
  • 20. Related Software Models: Correspondences in Detail Analysis Model Design Model
  • 21. Modeling Transformation Rules INPUT model OUTPUT model INPUT metamodel OUTPUT metamodel Match, Create, Destroy, Copy in terms of the metamodels Class Diagrams too! Class Diagrams conforms to conforms to Copying fragments of models is complex! » Example
  • 22. IN/OUT metamodel conforms to conforms to OUTPUT model INPUT model processed by processed by IN-to-OUT Transformation read write Modeling a Copy Operation Derivation
  • 23. Modeling a Copy Operation Derivation IN/OUT metamodel OUTPUT model INPUT model <<copy>> IN-to-OUT Transformation read write
  • 24. Modeling a Copy Operation Summary Transformation Modeling Language: (extension of) so-called “ Story Diagrams” , in Standard UML syntax
  • 25. Cognitive Evaluation (of Transformation Modeling Language) + T. R. G. Green. Cognitive dimensions of notations . In Alistair Sutcliffe and Linda Macaulay, editors, People and Computers V, pages 443–460, New York, NY, USA,1989. Cambridge University Press. Consistency (able to infer <<onCopy>> <<destroy>>) Diffuseness (however: issue of input/output metamodels!) Secondary Notation (2D layout, color, …) Progressive Evaluation (tool issue?) Role-Expressiveness (edges: relation to whole) Juxtaposition (embedding… native Fujaba) Closeness of Mapping (syntax ~ metamodeling) -
  • 26. Generality ( of Transformation Modeling Language) Synthesis Refactoring Synthesis Refactoring UML2CSP CM2RM Copy2GT Pull Up Method Extract Interface Push Down Method Model Synchronization Model Synchronization Operational Declarative, Hybrid: >> outline for future work Normalization Normalization UML2CSP Chaining Chaining UML2CSP
  • 27.
  • 28.
  • 29.
  • 30.