SlideShare uma empresa Scribd logo
1 de 43
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

Mais conteúdo relacionado

Mais procurados

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
 
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
 
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
 

Mais procurados (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
 

Destaque (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
 

Semelhante a Cg 2011

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
semsworkshop
 
MEL_WOLINSKY_20170124
MEL_WOLINSKY_20170124MEL_WOLINSKY_20170124
MEL_WOLINSKY_20170124
Mel Wolinsky
 

Semelhante a 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 !
 

Mais de 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 Analysis
ClarkTony
 
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
ClarkTony
 
Context Aware Reactive Applications
Context Aware Reactive ApplicationsContext Aware Reactive Applications
Context Aware Reactive Applications
ClarkTony
 
Model Slicing
Model SlicingModel Slicing
Model Slicing
ClarkTony
 
Patterns 200711
Patterns 200711Patterns 200711
Patterns 200711
ClarkTony
 
Kings 120711
Kings 120711Kings 120711
Kings 120711
ClarkTony
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
ClarkTony
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
ClarkTony
 
Kiss at oopsla 09
Kiss at oopsla 09Kiss at oopsla 09
Kiss at oopsla 09
ClarkTony
 
Mcms and ids sig
Mcms and ids sigMcms and ids sig
Mcms and ids sig
ClarkTony
 
Reverse engineering and theory building v3
Reverse engineering and theory building v3Reverse engineering and theory building v3
Reverse engineering and theory building v3
ClarkTony
 
Onward presentation.en
Onward presentation.enOnward presentation.en
Onward presentation.en
ClarkTony
 
Formalizing homogeneous language embeddings
Formalizing homogeneous language embeddingsFormalizing homogeneous language embeddings
Formalizing homogeneous language embeddings
ClarkTony
 
Filmstrip testing
Filmstrip testingFilmstrip testing
Filmstrip testing
ClarkTony
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory building
ClarkTony
 

Mais de 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
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

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