SlideShare a Scribd company logo
Model Driven Development: What went right? What went wrong? What needs to happen? Tony Clark Middlesex University London, UK t.n.clark@mdx.ac.uk http://www.eis.mdx.ac.uk/staffpages/tonyclark/
Overview The problems with Modelling…. What is MDD? What did MDD promise? An idealized model based industry. How did we get here? An attempt. Are we there yet? 2 Code Gen 2011
What is Modelling? Contrast Programming and Specification. Modelling lies in-between. How do people do it? Leads us to some requirements… 3 Code Gen 2011
System Building: Endogeneous Descriptions Start with nothing: Add extra information incrementally: It does what it does and nothing more: If it is wrong, modify it: 4 Code Gen 2011
System Specification: Exogeneous Descriptions Start off with everything: Add constraints: It does anything but must include required behaviour: 5 Code Gen 2011
The Exo-Endo Divide A problem with specification/modelling technologies. It is easy to under specify or over specify. It is difficult to check exo-endo match. 6 Code Gen 2011
Model Driven Exo-Endo Problems Cannot execute the models. Cannot generate code from the models. Ambiguous models lead to wrong choices. Example: models are just code-in-pictures. Example: models are just diagrams. 7 Code Gen 2011
Peter Naur and Theory Building ,[object Object]
Developers should understand systems in terms of theories.
A theory contains facts aboutthe system.
Theories are personal.
Theories are built byinteracting with the ‘real world’.Theory 8 Code Gen 2011
Domain Specific Theories Multiple theories at work. A theory of the problem domain. A theory of the solution domain. A mapping between them. Domain Theory ImplementationTheory 9 Code Gen 2011
Theory Encoding leads to a Problem Theory Theories must be encoded in technology. Bound to be incomplete. Using domain specific technologieswill help. 10 Code Gen 2011
Domain Specific vs General Purpose Domain  Specific Models and implementationlanguages reduce the theorymismatch. Try to be as domain specificas possible. This introduces the need fora transformation to implementation technology. Implementation Specific 11 Code Gen 2011
A Whole Space of Problems Domain  Specific Domain Theory Implementation Specific ImplementationTheory 12 Code Gen 2011
A Technology Space DomainSpecific IDEAL DSLs UML+Profiles Lisp UML FP Formal Methods Java TheoryCompletion 13 Code Gen 2011
Requirements on MD Technologies Theory Building. Domain Specific Representations. Fill the gap. Ease of transition Problem to Solution. Code Gen 2011 14
What is MDD? Using models in the development process. Trying to close the gaps identified above. Essentially two main approaches: MDA, code generation. Run-time models. 15 Code Gen 2011
Promises, Promises, ... Faster development time. Technology independence. Agility. Better quality products and processes. Ease of maintenance. Domain expert involvement. Cost reduction. Automated Testing. 16 Code Gen 2011
The Promise of MDA (or how it was sold to us) OMG Position Paper (2003): Driving business agility with Model Driven Architecture  http://www.omg.org/mda/mda_files/3302_AccelDev_PP.pdf 17 Code Gen 2011
Model Driven Nirvana If only we could do: Enterprise Architecture Executable Modelling. Theory Building. Design languages for each domain. Round trip. Reusability. Views. Queries. Interoperability. 18 Code Gen 2011
The Ideal Model Driven Enterprise Aspects of Enterprise Architecture. Use-Cases for the Model Driven Enterprise. The Business Context. The Business Drivers. Refinement. Capability Requirements. Technology Requirements. 19 Code Gen 2011
ZachmanFramework 20 Code Gen 2011
Use Cases for the Model Driven Enterprise Effective Business Execution. Agility. Business Change Management. Acquisition and Mergers. Quality Management. Resource Management. IT System Generation 21 Code Gen 2011
The Business Context Business Regulations Events Application Biz Context Directives Technology 22 Code Gen 2011
The Business Drivers Information Resources Structure Goal Policies Model Model Business Regulations Events Application Biz Context Directives Technology 23 Code Gen 2011
Refinement Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 24 Code Gen 2011
Capability Requirements Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 25 Code Gen 2011
Technology Requirements Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 26 Code Gen 2011
Business Intelligence Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 27 Code Gen 2011
Requirements on MD Technologies Integrated Business to Technology stack. BI (reverse engineered dynamic data). Event-driven, reactive. Adaptive. All-code or No-code? Dynamic update. Code Gen 2011 28
Where are we? Gartner Hype Cycle: http://en.wikipedia.org/wiki/Hype_cycle 29 Code Gen 2011
UML: The Dominant Technology  Relatively Mature. Hundreds of tools, many free. Interoperable (?). Taught in Universities. Basis for MDA. Profiles. Code Gen 2011 30
How is UML Used? Bob Maksimchuk, Principal Consultant, Project Pragmatics, Rmaksimchuk@ProjectPragmatics.com 31 Code Gen 2011
Which Parts of UML? Bob Maksimchuk, Principal Consultant, Project Pragmatics, Rmaksimchuk@ProjectPragmatics.com 32 Code Gen 2011
Other Technologies System modelling: SysML, MODAF, TOGAF, ArchiMate, etc. Transformations: QVT, ATL, Kermeta, etc. Domain Specific Modeling Tools: MetaEdit+, Eclipse Modeling Project, XMF-Mosaic, etc. Language-Oriented Programming: projectional languages, Xtext; Spoofax; XMF. Code Gen 2011 33
How did we get here? [- 1980s]        Programming languages. [1980s]          CASE Tools. [1980s]          OO Languages. [1985-1995] OO Methods. [1995-]          OO Standards. [2000-]          Model Driven Architecture. [2002-]          Model Transformations. [2003-]          Meta-Technologies. [2005-]          Software Language Engineering. [2005-]          Scripting Languages. 34 Code Gen 2011
Xactium: Personal Experience XMF: The Ideal Endogenous Modelling Platform? XMF-Mosaic: The Ideal Exogenous Modelling Platform? Closing the Endo-Exo Divide? Technology grew out of UML 2.0 work. Language-Oriented Modelling Approach: Lifting the domain-specific abstraction. 35 Code Gen 2011
Language-Oriented Modelling Code Gen 2011 36
Where’s My Jetpack? Simon Helsen,Arthur Ryman, DiomidisSpinellis, IEEE Software, Special Issue Software Development Tools 2008 37 Code Gen 2011
Xcore Meta-Structure
Xcore Meta-Behaviour

More Related Content

What's hot

Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
Jordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Marco Brambilla
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Jordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Marco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Jordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Jordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Jordi Cabot
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Marco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Jordi Cabot
 
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...Federico Tomassetti
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
Jordi Cabot
 
Eng Cal Reduced1
Eng Cal Reduced1Eng Cal Reduced1
Eng Cal Reduced1
rtmote
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineering
Jordi Cabot
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
Marco Brambilla
 
Robin Rommel - English CV
Robin Rommel - English CVRobin Rommel - English CV
Robin Rommel - English CV
Robin Rommel
 
2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web
Marco Parenzan
 
Smalltalk in large scale enterprise architectures
Smalltalk in large scale enterprise architecturesSmalltalk in large scale enterprise architectures
Smalltalk in large scale enterprise architectures
Rob Vens
 

What's hot (17)

Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
 
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
 
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
 
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
 
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
Maturity of Software Modelling and Model Driven Engineering: a Survey in the ...
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Eng Cal Reduced1
Eng Cal Reduced1Eng Cal Reduced1
Eng Cal Reduced1
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineering
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
Robin Rommel - English CV
Robin Rommel - English CVRobin Rommel - English CV
Robin Rommel - English CV
 
2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web
 
Smalltalk in large scale enterprise architectures
Smalltalk in large scale enterprise architecturesSmalltalk in large scale enterprise architectures
Smalltalk in large scale enterprise architectures
 

Viewers also liked

Business Proposal KES
Business Proposal KESBusiness Proposal KES
Business Proposal KESkarmaeshop
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testingClarkTony
 
Bisnis dan keprofesian
Bisnis dan keprofesianBisnis dan keprofesian
Bisnis dan keprofesianivans30
 
Business proposl kes
Business proposl kesBusiness proposl kes
Business proposl kes
karmaeshop
 
Corporate proposal kes
Corporate proposal kesCorporate proposal kes
Corporate proposal keskarmaeshop
 

Viewers also liked (7)

Business Proposal KES
Business Proposal KESBusiness Proposal KES
Business Proposal KES
 
Scam 08
Scam 08Scam 08
Scam 08
 
Steel
SteelSteel
Steel
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
 
Bisnis dan keprofesian
Bisnis dan keprofesianBisnis dan keprofesian
Bisnis dan keprofesian
 
Business proposl kes
Business proposl kesBusiness proposl kes
Business proposl kes
 
Corporate proposal kes
Corporate proposal kesCorporate proposal kes
Corporate proposal kes
 

Similar to Cg 2011

ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
KalsoomTahir2
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
Roger Xia
 
MDA
MDAMDA
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
Alessandra Bagnato
 
Enriching Tool Support for Model-Driven Software Development
Enriching Tool Support for Model-Driven Software DevelopmentEnriching Tool Support for Model-Driven Software Development
Enriching Tool Support for Model-Driven Software Development
David Méndez-Acuña
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
Gabor Guta
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
siouxhotornot
 
Innovation in model driven software
Innovation in model driven softwareInnovation in model driven software
Innovation in model driven software
Sagi Schliesser
 
10 Things You Should Know About MDD
10 Things You Should Know About MDD10 Things You Should Know About MDD
10 Things You Should Know About MDD
Johan den Haan
 
Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014semsworkshop
 
OMG Introduction Dr. Richard Mark Soley
OMG Introduction Dr. Richard Mark SoleyOMG Introduction Dr. Richard Mark Soley
OMG Introduction Dr. Richard Mark Soley
CISQ - Consortium for IT Software Quality
 
MEL_WOLINSKY_20170124
MEL_WOLINSKY_20170124MEL_WOLINSKY_20170124
MEL_WOLINSKY_20170124Mel Wolinsky
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
Mickael Istria
 
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Marco Torchiano
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
Cédric Brun
 

Similar to Cg 2011 (20)

ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
MDA
MDAMDA
MDA
 
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
 
Enriching Tool Support for Model-Driven Software Development
Enriching Tool Support for Model-Driven Software DevelopmentEnriching Tool Support for Model-Driven Software Development
Enriching Tool Support for Model-Driven Software Development
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
 
ALT
ALTALT
ALT
 
Innovation in model driven software
Innovation in model driven softwareInnovation in model driven software
Innovation in model driven software
 
Logesh Kumaran M
Logesh Kumaran MLogesh Kumaran M
Logesh Kumaran M
 
MSalah_20161010
MSalah_20161010MSalah_20161010
MSalah_20161010
 
10 Things You Should Know About MDD
10 Things You Should Know About MDD10 Things You Should Know About MDD
10 Things You Should Know About MDD
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014
 
OMG Introduction Dr. Richard Mark Soley
OMG Introduction Dr. Richard Mark SoleyOMG Introduction Dr. Richard Mark Soley
OMG Introduction Dr. Richard Mark Soley
 
Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
MEL_WOLINSKY_20170124
MEL_WOLINSKY_20170124MEL_WOLINSKY_20170124
MEL_WOLINSKY_20170124
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 

More from ClarkTony

The Uncertain Enterprise
The Uncertain EnterpriseThe Uncertain Enterprise
The Uncertain Enterprise
ClarkTony
 
Actors for Behavioural Simulation
Actors for Behavioural SimulationActors for Behavioural Simulation
Actors for Behavioural Simulation
ClarkTony
 
Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...
Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...
Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...ClarkTony
 
LEAP A Language for Architecture Design, Simulation and Analysis
LEAP A Language for Architecture Design, Simulation and AnalysisLEAP A Language for Architecture Design, Simulation and Analysis
LEAP A Language for Architecture Design, Simulation and AnalysisClarkTony
 
A Common Basis for Modelling Service-Oriented and Event-Driven Architecture
A Common Basis for Modelling Service-Oriented and Event-Driven ArchitectureA Common Basis for Modelling Service-Oriented and Event-Driven Architecture
A Common Basis for Modelling Service-Oriented and Event-Driven ArchitectureClarkTony
 
Context Aware Reactive Applications
Context Aware Reactive ApplicationsContext Aware Reactive Applications
Context Aware Reactive ApplicationsClarkTony
 
Model Slicing
Model SlicingModel Slicing
Model SlicingClarkTony
 
Patterns 200711
Patterns 200711Patterns 200711
Patterns 200711ClarkTony
 
Kings 120711
Kings 120711Kings 120711
Kings 120711ClarkTony
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testingClarkTony
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testingClarkTony
 
Kiss at oopsla 09
Kiss at oopsla 09Kiss at oopsla 09
Kiss at oopsla 09ClarkTony
 
Mcms and ids sig
Mcms and ids sigMcms and ids sig
Mcms and ids sigClarkTony
 
Reverse engineering and theory building v3
Reverse engineering and theory building v3Reverse engineering and theory building v3
Reverse engineering and theory building v3ClarkTony
 
Onward presentation.en
Onward presentation.enOnward presentation.en
Onward presentation.enClarkTony
 
Formalizing homogeneous language embeddings
Formalizing homogeneous language embeddingsFormalizing homogeneous language embeddings
Formalizing homogeneous language embeddingsClarkTony
 
Filmstrip testing
Filmstrip testingFilmstrip testing
Filmstrip testingClarkTony
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory buildingClarkTony
 

More from ClarkTony (20)

The Uncertain Enterprise
The Uncertain EnterpriseThe Uncertain Enterprise
The Uncertain Enterprise
 
Actors for Behavioural Simulation
Actors for Behavioural SimulationActors for Behavioural Simulation
Actors for Behavioural Simulation
 
Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...
Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...
Context-Aware Content-Centric Collaborative Workflow Management for Mobile De...
 
LEAP A Language for Architecture Design, Simulation and Analysis
LEAP A Language for Architecture Design, Simulation and AnalysisLEAP A Language for Architecture Design, Simulation and Analysis
LEAP A Language for Architecture Design, Simulation and Analysis
 
A Common Basis for Modelling Service-Oriented and Event-Driven Architecture
A Common Basis for Modelling Service-Oriented and Event-Driven ArchitectureA Common Basis for Modelling Service-Oriented and Event-Driven Architecture
A Common Basis for Modelling Service-Oriented and Event-Driven Architecture
 
Context Aware Reactive Applications
Context Aware Reactive ApplicationsContext Aware Reactive Applications
Context Aware Reactive Applications
 
Model Slicing
Model SlicingModel Slicing
Model Slicing
 
Patterns 200711
Patterns 200711Patterns 200711
Patterns 200711
 
Kings 120711
Kings 120711Kings 120711
Kings 120711
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
 
Kiss at oopsla 09
Kiss at oopsla 09Kiss at oopsla 09
Kiss at oopsla 09
 
Mcms and ids sig
Mcms and ids sigMcms and ids sig
Mcms and ids sig
 
Ocl 09
Ocl 09Ocl 09
Ocl 09
 
Reverse engineering and theory building v3
Reverse engineering and theory building v3Reverse engineering and theory building v3
Reverse engineering and theory building v3
 
Onward presentation.en
Onward presentation.enOnward presentation.en
Onward presentation.en
 
Hcse pres
Hcse presHcse pres
Hcse pres
 
Formalizing homogeneous language embeddings
Formalizing homogeneous language embeddingsFormalizing homogeneous language embeddings
Formalizing homogeneous language embeddings
 
Filmstrip testing
Filmstrip testingFilmstrip testing
Filmstrip testing
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory building
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Cg 2011

  • 1. Model Driven Development: What went right? What went wrong? What needs to happen? Tony Clark Middlesex University London, UK t.n.clark@mdx.ac.uk http://www.eis.mdx.ac.uk/staffpages/tonyclark/
  • 2. Overview The problems with Modelling…. What is MDD? What did MDD promise? An idealized model based industry. How did we get here? An attempt. Are we there yet? 2 Code Gen 2011
  • 3. What is Modelling? Contrast Programming and Specification. Modelling lies in-between. How do people do it? Leads us to some requirements… 3 Code Gen 2011
  • 4. System Building: Endogeneous Descriptions Start with nothing: Add extra information incrementally: It does what it does and nothing more: If it is wrong, modify it: 4 Code Gen 2011
  • 5. System Specification: Exogeneous Descriptions Start off with everything: Add constraints: It does anything but must include required behaviour: 5 Code Gen 2011
  • 6. The Exo-Endo Divide A problem with specification/modelling technologies. It is easy to under specify or over specify. It is difficult to check exo-endo match. 6 Code Gen 2011
  • 7. Model Driven Exo-Endo Problems Cannot execute the models. Cannot generate code from the models. Ambiguous models lead to wrong choices. Example: models are just code-in-pictures. Example: models are just diagrams. 7 Code Gen 2011
  • 8.
  • 9. Developers should understand systems in terms of theories.
  • 10. A theory contains facts aboutthe system.
  • 12. Theories are built byinteracting with the ‘real world’.Theory 8 Code Gen 2011
  • 13. Domain Specific Theories Multiple theories at work. A theory of the problem domain. A theory of the solution domain. A mapping between them. Domain Theory ImplementationTheory 9 Code Gen 2011
  • 14. Theory Encoding leads to a Problem Theory Theories must be encoded in technology. Bound to be incomplete. Using domain specific technologieswill help. 10 Code Gen 2011
  • 15. Domain Specific vs General Purpose Domain Specific Models and implementationlanguages reduce the theorymismatch. Try to be as domain specificas possible. This introduces the need fora transformation to implementation technology. Implementation Specific 11 Code Gen 2011
  • 16. A Whole Space of Problems Domain Specific Domain Theory Implementation Specific ImplementationTheory 12 Code Gen 2011
  • 17. A Technology Space DomainSpecific IDEAL DSLs UML+Profiles Lisp UML FP Formal Methods Java TheoryCompletion 13 Code Gen 2011
  • 18. Requirements on MD Technologies Theory Building. Domain Specific Representations. Fill the gap. Ease of transition Problem to Solution. Code Gen 2011 14
  • 19. What is MDD? Using models in the development process. Trying to close the gaps identified above. Essentially two main approaches: MDA, code generation. Run-time models. 15 Code Gen 2011
  • 20. Promises, Promises, ... Faster development time. Technology independence. Agility. Better quality products and processes. Ease of maintenance. Domain expert involvement. Cost reduction. Automated Testing. 16 Code Gen 2011
  • 21. The Promise of MDA (or how it was sold to us) OMG Position Paper (2003): Driving business agility with Model Driven Architecture http://www.omg.org/mda/mda_files/3302_AccelDev_PP.pdf 17 Code Gen 2011
  • 22. Model Driven Nirvana If only we could do: Enterprise Architecture Executable Modelling. Theory Building. Design languages for each domain. Round trip. Reusability. Views. Queries. Interoperability. 18 Code Gen 2011
  • 23. The Ideal Model Driven Enterprise Aspects of Enterprise Architecture. Use-Cases for the Model Driven Enterprise. The Business Context. The Business Drivers. Refinement. Capability Requirements. Technology Requirements. 19 Code Gen 2011
  • 25. Use Cases for the Model Driven Enterprise Effective Business Execution. Agility. Business Change Management. Acquisition and Mergers. Quality Management. Resource Management. IT System Generation 21 Code Gen 2011
  • 26. The Business Context Business Regulations Events Application Biz Context Directives Technology 22 Code Gen 2011
  • 27. The Business Drivers Information Resources Structure Goal Policies Model Model Business Regulations Events Application Biz Context Directives Technology 23 Code Gen 2011
  • 28. Refinement Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 24 Code Gen 2011
  • 29. Capability Requirements Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 25 Code Gen 2011
  • 30. Technology Requirements Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 26 Code Gen 2011
  • 31. Business Intelligence Information Resources Model Structure Goal Policies Model Model Model Model Model Business Regulations Goal Goal Events Application Biz Context Directives Technology 27 Code Gen 2011
  • 32. Requirements on MD Technologies Integrated Business to Technology stack. BI (reverse engineered dynamic data). Event-driven, reactive. Adaptive. All-code or No-code? Dynamic update. Code Gen 2011 28
  • 33. Where are we? Gartner Hype Cycle: http://en.wikipedia.org/wiki/Hype_cycle 29 Code Gen 2011
  • 34. UML: The Dominant Technology Relatively Mature. Hundreds of tools, many free. Interoperable (?). Taught in Universities. Basis for MDA. Profiles. Code Gen 2011 30
  • 35. How is UML Used? Bob Maksimchuk, Principal Consultant, Project Pragmatics, Rmaksimchuk@ProjectPragmatics.com 31 Code Gen 2011
  • 36. Which Parts of UML? Bob Maksimchuk, Principal Consultant, Project Pragmatics, Rmaksimchuk@ProjectPragmatics.com 32 Code Gen 2011
  • 37. Other Technologies System modelling: SysML, MODAF, TOGAF, ArchiMate, etc. Transformations: QVT, ATL, Kermeta, etc. Domain Specific Modeling Tools: MetaEdit+, Eclipse Modeling Project, XMF-Mosaic, etc. Language-Oriented Programming: projectional languages, Xtext; Spoofax; XMF. Code Gen 2011 33
  • 38. How did we get here? [- 1980s] Programming languages. [1980s] CASE Tools. [1980s] OO Languages. [1985-1995] OO Methods. [1995-] OO Standards. [2000-] Model Driven Architecture. [2002-] Model Transformations. [2003-] Meta-Technologies. [2005-] Software Language Engineering. [2005-] Scripting Languages. 34 Code Gen 2011
  • 39. Xactium: Personal Experience XMF: The Ideal Endogenous Modelling Platform? XMF-Mosaic: The Ideal Exogenous Modelling Platform? Closing the Endo-Exo Divide? Technology grew out of UML 2.0 work. Language-Oriented Modelling Approach: Lifting the domain-specific abstraction. 35 Code Gen 2011
  • 41. Where’s My Jetpack? Simon Helsen,Arthur Ryman, DiomidisSpinellis, IEEE Software, Special Issue Software Development Tools 2008 37 Code Gen 2011
  • 44. XMF Textual DSLs Code Gen 2011 40
  • 45. XMF-Mosaic Graphical DSLs Code Gen 2011 41
  • 46. XMF-Mosaic A demo. Code Gen 2011 42
  • 47. Are we there yet? Requirements: Theories: richer languages. Domain Specific: match the problem domain. Execution: program with models at all levels. Reflection: self aware tools. Meta: arbitrary extension. Semantics: meaningful technologies. 43 Code Gen 2011