the role of mde in software architecture descriptions

21
Henry Muccini - [email protected] DISIM Dept. of Information Engineering, Computer Science and Mathematics Universityof L’Aquila, Italy The role of MDE in Software Architecture Descriptions slides available at http://www.slideshare.net/henry.muccini

Upload: henry-muccini

Post on 23-Jan-2017

209 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: The role of MDE in Software Architecture Descriptions

Henry Muccini - [email protected]

DISIM

Dept. of Information Engineering, Computer Science and Mathematics

University of L’Aquila, Italy

The role of MDE in Software

Architecture Descriptions

slides available at

http://www.slideshare.net/henry.muccini

Page 2: The role of MDE in Software Architecture Descriptions

On the On the On the On the managingmanagingmanagingmanaging of of of of

Software Architecture Software Architecture Software Architecture Software Architecture

descriptionsdescriptionsdescriptionsdescriptions needsneedsneedsneeds and and and and

challengeschallengeschallengeschallenges by by by by customizingcustomizingcustomizingcustomizing

and and and and extendingextendingextendingextending MDE MDE MDE MDE

technologiestechnologiestechnologiestechnologies

Page 3: The role of MDE in Software Architecture Descriptions

SEA Group

Which architectural styles?

RQ1: How Software Architecture are being

described?

RQ2: which is the role plaid by MDE in SA

Descriptions?

Keywords:

• Architecture Description

Languages

• Industrial practices

• UML vs formal ADLs

• Needs

• Our solutions:

Interoperability,

megamodeling, DLSs

for domain-specific SA

Page 4: The role of MDE in Software Architecture Descriptions

SEA Group

5

Darwin

FSP

Rapide

AADL

ACME

box-and-line

UML

Page 5: The role of MDE in Software Architecture Descriptions

SEA Group

6

Darwin

FSP

Rapide

AADL

ACME

box-and-line

UML

Type of spec.

Language

today1990 2000

Formal

Box and Line

UML

MDE

Page 6: The role of MDE in Software Architecture Descriptions

SEA Group

7

Darwin

FSP

Rapide

AADL

ACME

box-and-line

UML

100+ ALs

(better to say, languages that consider themselves to be ALs)

http://www.di.univaq.it/malavolta/al/

Page 7: The role of MDE in Software Architecture Descriptions

ButButButBut, , , , whatwhatwhatwhat industryindustryindustryindustry needsneedsneedsneeds

from from from from ArchitecturalArchitecturalArchitecturalArchitectural

LanguagesLanguagesLanguagesLanguages????

Page 8: The role of MDE in Software Architecture Descriptions

RQ1: What are the

architectural

description needs of

practitioners?

RQ2: What features

typically supported by

existing ALs are useful

(or not useful) for the

software industry?

9TSE 2013

Page 9: The role of MDE in Software Architecture Descriptions

SEA Group

Page 10: The role of MDE in Software Architecture Descriptions

and, and, and, and, howhowhowhow to to to to buildbuildbuildbuild nextnextnextnext

generationgenerationgenerationgeneration ArchitecturalArchitecturalArchitecturalArchitectural

LanguagesLanguagesLanguagesLanguages????

Page 11: The role of MDE in Software Architecture Descriptions

SEA Group

RQ1: What are the main

requirements needed to

build an industrially-

relevant AL?

RQ2: How MDE can

support those

requirements

IEEE Software 2014

Page 12: The role of MDE in Software Architecture Descriptions

SEA Group

Framework of AL requirements

D. Harel and B. Rumpe, “Meaningful. Modeling: What’s the Semantics of ‘Semantics’?,” Computer, vol. 37, no. 10, 2004, pp. 64–72.

Page 13: The role of MDE in Software Architecture Descriptions

SEA Group

Page 14: The role of MDE in Software Architecture Descriptions

SEA Group

interoperability

Use of different ALs to model or analyze

different architectural aspects of a system

Bridging the different descriptions to

paramount relevance

Bridging the different descriptions to

be kept consistent and coherent is of

paramount relevance

DUALLY supports interoperability among ADLs.

One model conforming to an ADL, can be automatically transformed into another model conforming to a different ADL. [TSE2010,SOSYM2012]

FACT

PROBLEM

OUR SOLUTION

Page 15: The role of MDE in Software Architecture Descriptions

SEA Group

ByADL (byadl.di.univaq.it)

→An MDE framework for customizing existing ADLs[ICSE2010, ECSA2010]

current ADLs mostly fail to capture multiple

(and varying) stakeholders concernsPROBLEM

SOLUTION extending and customizing existing ADLs w.r.t.

to domain- & organization- specific concerns

Page 16: The role of MDE in Software Architecture Descriptions

SEA Group

Darwin/FSP

ACME

AADL

xADL

SA UML profiles

other ADLs

pivot

metamodel

(A0)

Extended/customized ADLgenerated in byADL

BPMN

FTVP

1

VP

1

VP

2

VP

2St1

MK1

Composed AFgenerated in MEGAF

MEGAF: a model-driven infrastructure for building reusable

and extensible architecture frameworks

MEGAF: a model-driven infrastructure for building reusable

and extensible architecture frameworks

DUALLy: an automated approach for ADLs interoperabilityDUALLy: an automated approach for ADLs interoperability

byADL: an approach to adapt and customize existing ADLsbyADL: an approach to adapt and customize existing ADLs

Page 17: The role of MDE in Software Architecture Descriptions

SEA Group

megaf.di.univaq.it

• Preliminary prototype in Eclipse, usingmegamodeling techniques

dually.di.univaq.it

• Prototype in Eclipse, using model-drivenengineering techniques

byadl.di.univaq.it

• Prototype in Eclipse, using model-driven engineering techniques

Page 18: The role of MDE in Software Architecture Descriptions

MDE Limitations

http://www.cse.chalmers.se/~burden/ppts/AreToolsTheProblem.pdf

MODELS 2013

“MDE can be very“MDE can be very“MDE can be very“MDE can be veryeffective but it takes effort to effective but it takes effort to effective but it takes effort to effective but it takes effort to make it workmake it workmake it workmake it work””””

� immaturity of tooltooltooltool support,

� its complexity and lack of usabilitylack of usabilitylack of usabilitylack of usability.

� lack of consideration for how people

think and work.

� MDE requires investment devoted to

training, process change, and cultural

shift.

Page 19: The role of MDE in Software Architecture Descriptions

MDE limitations: Organizational factors

SCP journal 2013

Extensive results from a

survey of MDE practices in

industry

• barriers that hamper the industrial

adoption of MDE are not only

technical and tool-related but also

socialsocialsocialsocial or organizationalorganizationalorganizationalorganizational.

• successful adoption of MDE needs a

– progressive and iterative

approach,

– integration with existing

organizational commitments,

– a clear business focus

Page 20: The role of MDE in Software Architecture Descriptions

AMUSE museum project

A4WSN

Page 21: The role of MDE in Software Architecture Descriptions

22