SlideShare a Scribd company logo
10 things you should know about
  Model-Driven Development


            Johan den Haan


                      Blog:
       http://www.theenterprisearchitect.eu

                   Twitter:
                @JohanDenHaan
                @ModelDriven
Model-Driven Development
   Differs from model-based development
   Is still a software development approach
   Asks for agile development
   Needs a standardized architecture
   Asks for different tools
   Leads to a change in roles
   Can lead to business-IT alignment
   Needs another business model
   Is not enough
   Leads to resistance
Model-Driven
Development?
Automation
Abstraction
Productivity
 Short term: more functionality
 Long term: less sensitive for changes in
  – Personnel
  – Business requirements
  – Development platforms
  – Deployment platforms
It’s still software development
 Experience with approach and tool?
 Is the tool finished on time to start project?
 Abstraction vs. Rigidity: know your
  limitations
 Version control
The law of leaky
  abstractions
Innovation
 distracts?
Asks for agile development
 Iterative modeling
  – Iteration planning
  – Model storming
  – Test-driven executable model specification
 Knowledge crunching
 Stakeholders actively participate
 Requirements evolve troughout project
YAGNI also holds
  for modeling
Asks for agile development
 DDD based DSL development
  – Capture domain knowledge in a metamodel
  – Communicate using an ubiquitous language
  – Let the metamodel drive the implementation
  – Isolate the domain
  – Refactor continously
  – Maintain metamodel integrity
  – Use a people-oriented approach
Needs a standardized architecture
Needs a standardized architecture
 Functional principles
  – Guide function design
  – Are reflected in the DSLs
  – Condition the model validations
 Constructional principles
  – Guide construction design
  – Are reflected in the generator
  – Condition the domain framework implementation
MDD really enforces
  architecture
Asks for different tools
DSL tool
 Workbenches:                   Tool user activities:
   – DSL workbench                 –   DSL definitions
   – Transformation workbench      –   Transformation rules
 Input:                           –   Architecture definition
   – DSL definitions               –   (Domain) framework
   – Transformation rules              implementation
 Output:                        Examples:
   – Solution workbench            –   openArchitectureWare
   – Generator                     –   MetaEdit+
                                   –   Microsoft DSL Tools
 Tool vendor activities:
                                   –   JetBrains MPS
   – Meta language definition
   – Transformation language
     definition
   – Workbench
     implementations
Model-Driven Software Factory
 Workbenches:                   Tool user activities:
   – Solution workbench            – Application modeling
 Input:                         Examples:
   – Functional specification      – Mendix
 Output:                          – Mod4j
   – Working application
 Tool vendor activities:
   – DSL definitions
   – Transformation rules
   – Architecture definition
   – Domain framework
     implementation
   – Solution workbench
     implementation
Leads to a change in roles
 Meta team
  – Building the Model-Driven Software Factory
  – Using DSL tools
 Project team
  – Building end-user applciations
  – Using a Model-Driven Software Factory
Meta team:
domain expert
Meta team:
language engineer
Meta team:
transformation specialist
Meta team:
implementation / platform expert
Meta team:
software factory architect
Project team:
business engineer
Project team:
application / solution architect
Project team:
test engineer
Can lead to Business-IT alignment
 Specify software with domain-specific
  concepts
 Domain experts really involved in
  development process
 MDD makes software development more
  agile
 Explicit connection between organization
  models and models of the IT system?
Can lead to Business-IT alignment
Needs another business model
 Benefits
  – Faster time-to-market
  – Increased quality
  – Involving domain experts leads to fit-for-purpose
  – Follow fast changes in business requirements and
    technology
 Costs
  – Learn MDD
  – Develop MDD tool
  – Maintain MDD tool
Time = money?
Is not enough!!
Is not enough
   Integrating model and code
   More focus on changing applications
   Runtime flexibility
   Configuration vs. Model-Driven Development
   Adaptive modeling
Leads to resistance
Model-Driven Development
   Differs from model-based development
   Is still a software development approach
   Asks for agile development
   Needs a standardized architecture
   Asks for different tools
   Leads to a change in roles
   Can lead to business-IT alignment
   Needs another business model
   Is not enough
   Leads to resistance
10 things you should know about
  Model-Driven Development


                   Blog:
    http://www.theenterprisearchitect.eu

                Twitter:
             @JohanDenHaan
             @ModelDriven

More Related Content

What's hot

Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvp
Curtis Yanko
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
sliard
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
Chris F Carroll
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: TestingSpiffy
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_kIBM
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
FirmansyahIrma1
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
Martin Owen
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
WORPCLOUD LTD
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
Utrecht University
 
Vsts intro
Vsts introVsts intro
Vsts intro
Sevajothi Crafts
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App Lifecycle
Marc Hoppers
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentSpiffy
 
Converting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right toolsConverting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right tools
DevOps for Enterprise Systems
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
Scott Althouse
 
How Software Mind reduces costs & expands CoreLogic capabilities
How Software Mind reduces costs & expands CoreLogic capabilitiesHow Software Mind reduces costs & expands CoreLogic capabilities
How Software Mind reduces costs & expands CoreLogic capabilities
Software Mind
 
IBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z SystemsIBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z Systems
DevOps for Enterprise Systems
 
The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFDataNext Solutions
 

What's hot (20)

Juc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvpJuc deck 16x9_dev_ops_mvp
Juc deck 16x9_dev_ops_mvp
 
Hariprasad karanam
Hariprasad karanamHariprasad karanam
Hariprasad karanam
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k3 rad extensibility-srilakshmi_s_rajesh_k
3 rad extensibility-srilakshmi_s_rajesh_k
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
Application Migration & Enhancement
Application Migration & EnhancementApplication Migration & Enhancement
Application Migration & Enhancement
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
Legacy Migration
Legacy MigrationLegacy Migration
Legacy Migration
 
NISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide DeckNISI Agile Software Architecture Slide Deck
NISI Agile Software Architecture Slide Deck
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App Lifecycle
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
Converting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right toolsConverting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right tools
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
How Software Mind reduces costs & expands CoreLogic capabilities
How Software Mind reduces costs & expands CoreLogic capabilitiesHow Software Mind reduces costs & expands CoreLogic capabilities
How Software Mind reduces costs & expands CoreLogic capabilities
 
IBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z SystemsIBM Application Delivery Foundation for z Systems
IBM Application Delivery Foundation for z Systems
 
The Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADFThe Challenges Oracle Forms Migration to ADF
The Challenges Oracle Forms Migration to ADF
 

Similar to 10 Things You Should Know About MDD

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
 
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
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
ghodgkinson
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven Architectures
Lalit Kale
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
Ivano Malavolta
 
Building Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptxBuilding Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptx
davorminchorov1
 
MDA
MDAMDA
Agile MDD
Agile MDDAgile MDD
Agile MDD
fntnhd
 
.netcampus2015 office365dev
.netcampus2015 office365dev.netcampus2015 office365dev
.netcampus2015 office365dev
Giuliano De Luca
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
Ólafur Andri Ragnarsson
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
Arthur240715
 
Mdsd capable target architecture
Mdsd capable target architectureMdsd capable target architecture
Mdsd capable target architecture
rida mariam
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
 
The REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudThe REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloud
Marcos Almeida
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine Jones
Jisc RDM
 
Build, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the WorldBuild, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the World
CLMS UK Ltd
 
Lightweight Model-Driven Engineering
Lightweight Model-Driven EngineeringLightweight Model-Driven Engineering
Lightweight Model-Driven Engineering
Jordi Cabot
 

Similar to 10 Things You Should Know About MDD (20)

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)
 
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
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven Architectures
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Building Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptxBuilding Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptx
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
MDA
MDAMDA
MDA
 
Agile MDD
Agile MDDAgile MDD
Agile MDD
 
.netcampus2015 office365dev
.netcampus2015 office365dev.netcampus2015 office365dev
.netcampus2015 office365dev
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
WDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptxWDS trainer presentation - MLOps.pptx
WDS trainer presentation - MLOps.pptx
 
Mdsd capable target architecture
Mdsd capable target architectureMdsd capable target architecture
Mdsd capable target architecture
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
The REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudThe REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloud
 
Research software identification - Catherine Jones
Research software identification - Catherine JonesResearch software identification - Catherine Jones
Research software identification - Catherine Jones
 
Build, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the WorldBuild, upgrade and connect your applications to the World
Build, upgrade and connect your applications to the World
 
Lightweight Model-Driven Engineering
Lightweight Model-Driven EngineeringLightweight Model-Driven Engineering
Lightweight Model-Driven Engineering
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
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
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
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
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
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
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
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
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

10 Things You Should Know About MDD

  • 1. 10 things you should know about Model-Driven Development Johan den Haan Blog: http://www.theenterprisearchitect.eu Twitter: @JohanDenHaan @ModelDriven
  • 2. Model-Driven Development  Differs from model-based development  Is still a software development approach  Asks for agile development  Needs a standardized architecture  Asks for different tools  Leads to a change in roles  Can lead to business-IT alignment  Needs another business model  Is not enough  Leads to resistance
  • 6. Productivity  Short term: more functionality  Long term: less sensitive for changes in – Personnel – Business requirements – Development platforms – Deployment platforms
  • 7. It’s still software development  Experience with approach and tool?  Is the tool finished on time to start project?  Abstraction vs. Rigidity: know your limitations  Version control
  • 8. The law of leaky abstractions
  • 10. Asks for agile development  Iterative modeling – Iteration planning – Model storming – Test-driven executable model specification  Knowledge crunching  Stakeholders actively participate  Requirements evolve troughout project
  • 11. YAGNI also holds for modeling
  • 12. Asks for agile development  DDD based DSL development – Capture domain knowledge in a metamodel – Communicate using an ubiquitous language – Let the metamodel drive the implementation – Isolate the domain – Refactor continously – Maintain metamodel integrity – Use a people-oriented approach
  • 13. Needs a standardized architecture
  • 14. Needs a standardized architecture  Functional principles – Guide function design – Are reflected in the DSLs – Condition the model validations  Constructional principles – Guide construction design – Are reflected in the generator – Condition the domain framework implementation
  • 15. MDD really enforces architecture
  • 17. DSL tool  Workbenches:  Tool user activities: – DSL workbench – DSL definitions – Transformation workbench – Transformation rules  Input: – Architecture definition – DSL definitions – (Domain) framework – Transformation rules implementation  Output:  Examples: – Solution workbench – openArchitectureWare – Generator – MetaEdit+ – Microsoft DSL Tools  Tool vendor activities: – JetBrains MPS – Meta language definition – Transformation language definition – Workbench implementations
  • 18. Model-Driven Software Factory  Workbenches:  Tool user activities: – Solution workbench – Application modeling  Input:  Examples: – Functional specification – Mendix  Output: – Mod4j – Working application  Tool vendor activities: – DSL definitions – Transformation rules – Architecture definition – Domain framework implementation – Solution workbench implementation
  • 19. Leads to a change in roles  Meta team – Building the Model-Driven Software Factory – Using DSL tools  Project team – Building end-user applciations – Using a Model-Driven Software Factory
  • 23. Meta team: implementation / platform expert
  • 26. Project team: application / solution architect
  • 28. Can lead to Business-IT alignment  Specify software with domain-specific concepts  Domain experts really involved in development process  MDD makes software development more agile  Explicit connection between organization models and models of the IT system?
  • 29. Can lead to Business-IT alignment
  • 30. Needs another business model  Benefits – Faster time-to-market – Increased quality – Involving domain experts leads to fit-for-purpose – Follow fast changes in business requirements and technology  Costs – Learn MDD – Develop MDD tool – Maintain MDD tool
  • 33. Is not enough  Integrating model and code  More focus on changing applications  Runtime flexibility  Configuration vs. Model-Driven Development  Adaptive modeling
  • 35. Model-Driven Development  Differs from model-based development  Is still a software development approach  Asks for agile development  Needs a standardized architecture  Asks for different tools  Leads to a change in roles  Can lead to business-IT alignment  Needs another business model  Is not enough  Leads to resistance
  • 36. 10 things you should know about Model-Driven Development Blog: http://www.theenterprisearchitect.eu Twitter: @JohanDenHaan @ModelDriven