0% found this document useful (0 votes)
51 views9 pages

Advanced Software Engineering: Lecture 3: Model-Driven Engineering, UML Metamodel

The material in these slides may be freely reproduced as far as an explicit reference or acknowledgement to the material author is preserved. A given system may have plenty of different models. Each model may focus on certain aspects of the system (i.e. A certain view)

Uploaded by

Rati Ranjan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views9 pages

Advanced Software Engineering: Lecture 3: Model-Driven Engineering, UML Metamodel

The material in these slides may be freely reproduced as far as an explicit reference or acknowledgement to the material author is preserved. A given system may have plenty of different models. Each model may focus on certain aspects of the system (i.e. A certain view)

Uploaded by

Rati Ranjan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Course:

Advanced Software Engineering


academic year: 2010-2011

Lecture 3: Model-Driven Engineering, UML Metamodel


Lecturer: Vittorio Cortellessa Computer Science Department University of L'Aquila - Italy
[email protected] www.di.univaq.it/cortelle

Copyright Notice

The material in these slides may be freely reproduced


and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved.

SEA Group

2010 by V. Cortellessa

Software Architecture as a Model


Darwin Wright Aemilia other

Architecture Description Languages

ACME C2

Rapid

is expressed by
Software Model
SEA Group

is a

Software Architecture

2010 by V. Cortellessa

Software Architecture as a Model


Darwin Wright Aemilia other

Architecture Description Languages

ACME C2

Rapid

is expressed by
Software Model
SEA Group

is a

Software Architecture

2010 by V. Cortellessa

Lets go back to (software) modeling


A model (partial view)
is a representation of

A system

Respiratory model Other views: muscular, nervous, circulatory, digestive, endocrinous, etc.

Skeleton model

SEA Group

2010 by V. Cortellessa

Lets go back to (software) modeling


Vocabularies of different corporations may be different, however they allow talking about a common building.
Plumber's view Architect's view Landlord's view Renter's view Interior Designer's view Carpenter's view Electrician's view Tax Collector's view

Mason's view

Model
SEA Group

RepOf

System

2010 by V. Cortellessa

Lets go back to (software) modeling

M1

Ma Mb

Mc
A given system may have plenty of different models. Each model may focus on certain aspects of the system (i.e. a certain view).

isRepresentedBy

M0

S
SEA Group

2010 by V. Cortellessa

Lets go back to software modeling


1980 procedural technology object technology 1995 component technology 2000 model technology Models, Metamodels, UML, OCL, MOF, XMI, SPEM, CWM

Procedures, Pascal, C, ...

Objects, Classes, Smalltalk, C++, ...

Packages, Frameworks, Patterns,

model transformation

procedural refinement
SEA Group

object/component composition

2010 by V. Cortellessa

Lets go back to software modeling


How can a model be represented?

Architecture Description Languages

ACME C2

Darwin Wright Aemilia

Rapid

other can be expressed by

Software Model
SEA Group

is a

Software Architecture

2010 by V. Cortellessa

Metamodeling
A metamodel defines the first-class entities, relationships and constraints of a modeling language

M2 M1

UML Metamodel

Metamodel

ACME Metamodel

Aemilia Metamodel

conforms to
Model

SEA Group

10

2010 by V. Cortellessa

Metamodeling
A metamodel defines the first-class entities, relationships and constraints of a modeling language

M2 M1

UML Metamodel

Metamodel

ACME Metamodel

Aemilia Metamodel

conforms to
Model

Archi_Elem_Type Interaction
SEA Group

11

2010 by V. Cortellessa

Attachment

Metamodeling
A metamodel defines the first-class entities, relationships and constraints of a modeling language

M2 M1
Actor

UML Metamodel

Metamodel

ACME Metamodel

Aemilia Metamodel

conforms to
Model

Message
SEA Group

12

2010 by V. Cortellessa

State

Model hierarchy

M2 M1 M0
2010 by V. Cortellessa

Metamodel

The UML meta-model

conforms to
Model
An e-commerce UML Model

is represented by
System
An e-commerce (SW/HW) system

SEA Group

13

Model hierarchy M3 M2 M1 M0
2010 by V. Cortellessa

Metameta model

MOF

conforms to
Metamodel
The UML meta-model

conforms to
Model
An e-commerce UML Model

is represented by
System
An e-commerce (SW/HW) system

SEA Group

14

Model hierarchy M3 M2 M1 M0
2010 by V. Cortellessa

Metameta model

XSD

conforms to
Metamodel
An XML Schema

conforms to
Model
An XML document

is represented by
System
A birthdate certificate

SEA Group

15

Model hierarchy

M1, M2 & M3 spaces


M3

M2

M2

M2

M1
SEA Group

M1

M1

M1

M1

Universit de NANTES

16

2010 by V. Cortellessa

The UML Model hierarchy


the MOF

source

meta-meta model

M3

The MOF

Class destination

Association

M3

M2
metamodel

The UML metamodel

the UML MetaModel

1 Class

Attribute

M2

M1
model

Some UML Models

a UML Model

Client Name : String

M1

SEA Group

M0

"the real world"

17

2010 by V. Cortellessa

The UML Model hierarchy

SEA Group

18

2010 by V. Cortellessa

You might also like