02291: System Integration Model-Driven Architecture (MDA) Hubert - - PowerPoint PPT Presentation

02291 system integration
SMART_READER_LITE
LIVE PREVIEW

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 1

02291: System Integration

Model-Driven Architecture (MDA) Hubert Baumeister

huba@dtu.dk

DTU Compute Technical University of Denmark

Spring 2019

slide-2
SLIDE 2

Traditional Development to MDA

slide-3
SLIDE 3

Traditional Development to MDA

slide-4
SLIDE 4

Traditional Development to MDA

slide-5
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
SLIDE 6

Example I: Attributes

Platform Independent Model (PIM):

slide-7
SLIDE 7

Example I: Attributes

Platform Specific Model (PSM) for Java: Transformation PIM → PSM

◮ Introduce getter and setter methods for each attribute

slide-8
SLIDE 8

Example II: Associations

PIM:

slide-9
SLIDE 9

Example II: Associations

PSM for Java Transformation PIM → PSM

◮ Introduce an attribute for a navigable association

slide-10
SLIDE 10

PIM for Rosa’s Breakfast Service

slide-11
SLIDE 11

MDA for Rosa’s Breakfast Service

◮ Three PSM’s

◮ Relational database model ◮ Enterprise Java Beans implementation ◮ Web interface

slide-12
SLIDE 12

PSM Relational database model

slide-13
SLIDE 13

PSM EJB

slide-14
SLIDE 14

PSM Web Interface

slide-15
SLIDE 15

Communication Bridge EJB relational DB

slide-16
SLIDE 16

Principles of MDA: Models

slide-17
SLIDE 17

Principles of MDA: Models

slide-18
SLIDE 18

Principles of MDA: Transformations

slide-19
SLIDE 19

Principles of MDA: Transformations

slide-20
SLIDE 20

Transformations

◮ Standard transformations ◮ Customised transformations

slide-21
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
SLIDE 22

MDA and Metamodels

slide-23
SLIDE 23

MDA and Metamodels

Short notation for the previous diagram

slide-24
SLIDE 24

MDA and Metamodels

◮ UML: Meta Object Facility

(MOF)

◮ EMF: Eclipse Modelling

Framework

◮ 02162 Software

Engineering II

slide-25
SLIDE 25

The MDA/MDA promise

slide-26
SLIDE 26

The MDA/MDA promise

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