02291: System Integration Model-Driven Architecture (MDA) Hubert - - PowerPoint PPT Presentation
02291: System Integration Model-Driven Architecture (MDA) Hubert - - PowerPoint PPT Presentation
02291: System Integration Model-Driven Architecture (MDA) Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019 Traditional Development to MDA Traditional Development to MDA Traditional Development to MDA
SLIDE 1
SLIDE 2
Traditional Development to MDA
SLIDE 3
Traditional Development to MDA
SLIDE 4
Traditional Development to MDA
SLIDE 5
MDA
◮ Model Driven Architecture (MDA)
→ Derive code from models through transformations
◮ Literature
◮ Anneke Kleppe, Jos Warmer, Wim Bast ”MDA Explained”,
2003, Addison Wesley Professional
◮ MDA Website by OMG (http://www.omg.org/mda/)
SLIDE 6
Example I: Attributes
Platform Independent Model (PIM):
SLIDE 7
Example I: Attributes
Platform Specific Model (PSM) for Java: Transformation PIM → PSM
◮ Introduce getter and setter methods for each attribute
SLIDE 8
Example II: Associations
PIM:
SLIDE 9
Example II: Associations
PSM for Java Transformation PIM → PSM
◮ Introduce an attribute for a navigable association
SLIDE 10
PIM for Rosa’s Breakfast Service
SLIDE 11
MDA for Rosa’s Breakfast Service
◮ Three PSM’s
◮ Relational database model ◮ Enterprise Java Beans implementation ◮ Web interface
SLIDE 12
PSM Relational database model
SLIDE 13
PSM EJB
SLIDE 14
PSM Web Interface
SLIDE 15
Communication Bridge EJB relational DB
SLIDE 16
Principles of MDA: Models
SLIDE 17
Principles of MDA: Models
SLIDE 18
Principles of MDA: Transformations
SLIDE 19
Principles of MDA: Transformations
SLIDE 20
Transformations
◮ Standard transformations ◮ Customised transformations
SLIDE 21
Example Transformation
Transformation classes to DB schema (Pseudo Code)
if the association A to B is adorned by an association class
- r the multiplicity at both ends is more-than-one
then create a table representing the association class or the association and create foreign keys in both the table representing A and the table representing B referring this new table else if the multiplicity at one end is zero-or-one then create a foreign key in the table representing the class at that end, referencing the other end else // the multiplicity of the association is one-to-one create a foreign key in one of the tables, referencing the
- ther end
endif endif
SLIDE 22
MDA and Metamodels
SLIDE 23
MDA and Metamodels
Short notation for the previous diagram
SLIDE 24
MDA and Metamodels
◮ UML: Meta Object Facility
(MOF)
◮ EMF: Eclipse Modelling
Framework
◮ 02162 Software
Engineering II
SLIDE 25
The MDA/MDA promise
SLIDE 26
The MDA/MDA promise
SLIDE 27
MDA
◮ Benefits
◮ Higher productivity ◮ Portability ◮ Interoperability ◮ Maintenance and Documentation
◮ Issues
◮ Modelling is abstraction ◮ Transformations need to add things ◮ The interaction of multiple models ◮ Behavioural models