• Ingen resultater fundet

02291: System Integration Model-Driven Architecture (MDA) Hubert Baumeister

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "02291: System Integration Model-Driven Architecture (MDA) Hubert Baumeister"

Copied!
25
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

02291: System Integration

Model-Driven Architecture (MDA)

Hubert Baumeister huba@dtu.dk

DTU Compute Technical University of Denmark

Spring 2020

(2)

Traditional Development to MDA

(3)

Traditional Development to MDA

(4)

Traditional Development to MDA

(5)

MDA

I Model Driven Architecture (MDA)

Derive code from models through transformations I Literature

I Anneke Kleppe, Jos Warmer, Wim Bast ”MDA Explained”, 2003, Addison Wesley Professional

I MDA Website by OMG (http://www.omg.org/mda/)

(6)

Example I: Attributes

Platform Independent Model (PIM):

(7)

Example I: Attributes

Platform Specific Model (PSM) for Java:

Transformation PIM→PSM

I Introduce getter and setter methods for each attribute

(8)

Example II: Associations

PIM:

(9)

Example II: Associations

PSM for Java

Transformation PIM→PSM

I Introduce an attribute for a navigable association

(10)

PIM for Rosa’s Breakfast Service

(11)

MDA for Rosa’s Breakfast Service

(12)

PSM Relational database model

(13)

PSM EJB

(14)

PSM Web Interface

(15)

Communication Bridge EJB relational DB

(16)

Principles of MDA: Models

(17)

Principles of MDA: Transformations

(18)

Example Transformation

Transformation of associations to DB schema (Pseudo Code)

if the association A to B has multiplicity at both ends more-than-one

then create a table representing the association and create foreign keys in the new table referring to table A and to table B else ....

endif

Transformation from UML

To Relational Databases

(19)

Example Transformation

Transformation of associations to DB schema (Pseudo Code)

if the association A to B has multiplicity at both ends more-than-one

then create a table representing the association and create foreign keys in the new table referring to table A and to table B else ....

endif

Transformation from UML

To Relational Databases

(20)

MDA and Metamodels

Short notation for the previous diagram

(21)

MDA and Metamodels

Short notation for the previous diagram

(22)

MDA and Metamodels

I UML: Meta Object Facility (MOF)

→ OMG MDA

(http://www.omg.org/mda) I EMF: Eclipse Modelling Framework I 02162 Software Engineering II

(23)

The MDA/MDA promise

(24)

The MDA/MDA promise

(25)

MDA

I Benefits

I Higher productivity I Portability

I Interoperability

I Maintenance and Documentation I Issues

I Modelling is abstraction

I Transformations need to add things I The interaction of multiple models I Behavioural models

Referencer

RELATEREDE DOKUMENTER

In this regard, the Institute sug- gests that the Ministry of Foreign Affairs include an annex to the draft national report containing a thematically clustered table of the latest

The environmental performance in the five impact categories considered per kg Danish pork for both the base case and alternative scenario is presented in Table 13. The table shows

The Danish Technologi- cal Institute acquired a nationally and internationally leading com- petence centre within innovation, development and research in the meat industry, and

cally much smaller than in table 2 (full sample) and table 4 (excluding the smaller cases), and b) the  number  of  significant  control  variables  entering 

Scenarios to be used in a security analysis for long-term capacity calculation time frames associated with AC grid of adjacent CCRs shall be considered by applying in CCMs of

This study sets out to evaluate TB control programme in Khartoum state, Sudan for the year 2006 and to study, prevalence of stigma, population awareness and illness perceptions

The Danish Energy Agency has approved the transfer of the operatorship in licence 1/08 from Danica Resources ApS to New World Operations ApS. Møller - Mærsk Sole Concession of

Table 2.2: Example of a mapping table from a system model containing the best- and worst case execution time for the processes on the different processing elements.. The