Post on 18-Dec-2015
Model Driven ArchitectureEfficiently react to Changing Architectural and Functional RequirementsStainless Steel Models for Red Rusting Technologies
Wim BastChief Architect OptimalJOctober 18th, 2006
CompuwareCorporation Page 2
Agenda
Software Production: Applying IT Patterns to Domain Requirements
Model Driven Architecture: Separation of Domain and Platform Concern
Model Driven Architecture: Raising the Level of Abstraction
Conclusions
CompuwareCorporation Page 3
Software Production:
Applying IT Patterns toDomain Requirements
CompuwareCorporation Page 4
Software = Domain * IT
When we develop software we apply IT patterns to Domain requirements
Many different technologies and IT patterns are used to build one application
– Spring, Hibernate, JSP, Struts, EJB 2.0, EJB 3.0, SOA, POJO’s, data-access components, etc…
Each aspect of the domain is implemented using many technologies and many patterns
CompuwareCorporation Page 5
What is a Pattern?
A pattern is a solution to a common problem– Capture best practices, good designs and experience
– Transfer knowledge, share experience
A pattern is a matter of discovery and experience– Abstraction of a specific solution
Using, improving and extending patterns– This makes us IT experts
CompuwareCorporation Page 6
Business Delegate PatternAn Example
Problem– Remote communication between clients and business service
components is too complex
Solution– Use a Business Delegate to encapsulate access to a business
service
CustomerCustomerCustomer
* Core J2EE Patterns, Best Practices and Design Strategies Alur, Crupi, Malks; ISBN 0-13-142246-4
SupplierSupplierSupplier Stock
StockStock SalesOrderSalesOrderSalesOrdr
ProductProductProduct
CompuwareCorporation Page 7
Small window of opportunity
The number of different technologies used to develop an application is growing
The number of domain aspects to be automated is growing
The frequency of changes to both the Domain and the Technologies is growing
The window of opportunity to deliver a successful application is getting smaller
CompuwareCorporation Page 8
Model Driven Architecture:
Separation Of Domain and Platform Concern
CompuwareCorporation Page 9
Classic Modeling and Development
Applications
UsersDesigners &Developers
Classic Tools
Domain Knowledge
Platform Knowledge
Domain XTechnology
CompuwareCorporation Page 10
MDA Goal
Applications
UsersDomain Models
Domain Experts
Technology Solutions
Platform Experts
MDATools
Application Developers
Technology Selectionand Tuning
CompuwareCorporation Page 11
Application
TechnologyPatterns
MDA’s PIM, PSM and Refinement
Domain Model PIM
Application
TechnologySolution
refinement
PSM
CompuwareCorporation Page 12
Model Driven Architecture:
Raising the Level of Abstraction
CompuwareCorporation Page 13
Coding Language Evolution
Abstraction level increased from 1GL to 4GL but fell back again to 3GL
A 4GL is productive but isn’t addressing standard technologies and lacks fine-grained control
A current 3GL is mainly a set of standard libraries and frameworks, the coding syntax is less important
CompuwareCorporation Page 14
Abstraction Levels of Modeling
In practice UML models exist on different levels of abstraction– From analyze -via design- to
implementation
Can model refinement be automated or is it a creative process?
CompuwareCorporation Page 15
The elaborational MDA versus translational MDA ‘battle’
AbstractionLevel PIM
Percentage Automated Refinement
elaborational
translational
incremental refinement
CompuwareCorporation Page 16
Productivity and Control
Black-box automated refinement and hiding the detailed specification increases productivity but decreases fine-grained control
Creative refinement and exposing the detailed specification increases fine-grained control but decreases productivity
Law of Preservation of Misery?
CompuwareCorporation Page 17
Incremental Refinement
All models are changeable
High Level Domain Model
Maintainable Technology Solutions
Customizable ApplicationApplication
TechnologyPatterns
Domain Model
Application
TechnologySolutions
refinement
CompuwareCorporation Page 18
3 Different Abstraction Levels
Applications
Application models
Domain Model
Coding languages
Application Modelling Languages
Business Modelling language
Coding patterns
Technology patterns
CompuwareCorporation Page 19
Applying OMG Modeling Standards
Applications
Application models
Domain Model
Coding languages
Application Modelling Languages
Business Modelling language
Coding rules
Technology rules
MOF
MOF
QVT
M2T
UML
UML
CompuwareCorporation Page 20
Conclusions
CompuwareCorporation Page 21
Conclusions
MDA separates Domain and Technology concerns
MDA Automates the Multiplication of the Domain and Technology aspects
MDA gives you Development Productivity without losing Control
MDA let’s you quickly react to changing domains and technologies
CompuwareCorporation Page 22