on the composition and reuse of viewpoints

26
1 @WICSA/ECSA 2012, Helsinki, August 2012 Rich Hilliard Freelance software systems architect Ivano Malavolta, Henry Muccini , Patrizio Pelliccione Department of Engineering, Computer Science and Mathematics, University of L’Aquila, Italy www.henrymuccini.com, [email protected], @muccinihenry

Upload: henry-muccini

Post on 07-May-2015

872 views

Category:

Education


2 download

DESCRIPTION

This presentation is about MEGAF, a model driven engineering framework we built at the University of L'Aquila, for managing architectural description.

TRANSCRIPT

Page 1: On the Composition and Reuse of Viewpoints

1

@WICSA/ECSA 2012, Helsinki, August 2012

Rich HilliardFreelance software systems architect

Ivano Malavolta, Henry Muccini, Patrizio PelliccioneDepartment of Engineering, Computer Science and Mathematics, University of L’Aquila, Italy

www.henrymuccini.com, [email protected], @muccinihenry

Page 2: On the Composition and Reuse of Viewpoints

• the nature of the system• project-specific constraints• organizational constraints• the application domain • …

Page 3: On the Composition and Reuse of Viewpoints

Pictures taken from Google Images

Page 4: On the Composition and Reuse of Viewpoints

Using multiple views has become standard practice in industry • IEEE Std 1471 (2000) -> … -> ISO/IEC/IEEE 42010 (2011) • Based on a survey we conducted with 48 practitioners

[Survey2012], and about the usage of ALs in industry 85% uses multiple views

[Survey2012] “What Industry needs from Architectural Languages: A Survey”, I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, A. Tang (under review)

Henry_2
move later on....
Page 5: On the Composition and Reuse of Viewpoints

* 43% had to extend their ALs to add new views [Survey2012]** Also remarked in “Just Enough Software Architecture”, George Fairbanks, 2010

Page 6: On the Composition and Reuse of Viewpoints

ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural Description, 2011

Page 7: On the Composition and Reuse of Viewpoints

MEGAF is an MDE approach to create new architecture frameworks by means of mechanisms:i.to storestore, retrieveretrieve, and combinecombine existing viewpoints, by properly selecting and reusing models previously defined and resident in MEGAF;ii.to definedefine correspondencescorrespondences among views, viewpoints, stakeholders, system concerns and their elements; iii.to enforce consistencyenforce consistency and completeness checks completeness checks based on defined architectural relationships and rules among elements.

Page 8: On the Composition and Reuse of Viewpoints

MEGAF

Page 9: On the Composition and Reuse of Viewpoints

Architectural Assets Repository

Viewpoints

Stakeholders

Model Kinds System Concerns Architectural Languages

Correspondences

Architecture Description

B

Architecture Description

B

Architecture Description

C

Architecture Description

C

Architecture Description

A

Architecture Description

A

Architecture FrameworkArchitecture Framework

Page 10: On the Composition and Reuse of Viewpoints

c1c1

mkmkscsc

stkstk

Viewpoints

Stakeholders

Model Kinds System Concerns Architectural Languages

Correspondences

Architecture Description

B

Architecture Description

B

Architecture Description

C

Architecture Description

C

Architecture Description

A

Architecture Description

A

Architecture FrameworkArchitecture Framework

How to manage models that contains classes and other models?

vpvp

alal

adad

afaf

?

Page 11: On the Composition and Reuse of Viewpoints

A megamodelmegamodel is a kind of model in which elements could represent and/or refer to models or metamodels [Bézivin et al., OOPSLA/GPCE 2004]

A megamodel specifies properties and rules governing model construction, including multiple models and metamodels

→ Models and metamodels are first-class entities→ It offers also the possibility to specify relationships between

them and to navigate them.

Henry_2
This is fundamentalin MEGAF since architecture views generally haveimportant relations (correspondences) defined among them.
Page 12: On the Composition and Reuse of Viewpoints

GMM4SA meta megamodel(describing howto build 42010–conformant megamodels)

In MEGAF, a megamodel is amegamodel is arepository of AD repository of AD elementselements

Megamodels in combination with weaving models for coordinating sets of models;The navigability and traceability extension. [Jouault et. al, ACM SAC 2010]

Page 13: On the Composition and Reuse of Viewpoints

c1c1

mkmkscsc

stkstk

Viewpoints

Stakeholders

Model Kinds System Concerns Architectural Languages

Correspondences

vpvp

Page 14: On the Composition and Reuse of Viewpoints

CASE STUDY

Page 15: On the Composition and Reuse of Viewpoints

Viewpoints: structural, behaviour, web services ADLs: Diasuite, UMLExtensions: REST services metamodel, LTSStakeholders: sw architect, end-user, developer, sys eng.

Page 16: On the Composition and Reuse of Viewpoints

42010 AF definition

Henry_2
perche' l'AL (ADL) e' in questa figura, se questo e' un AF????
Page 17: On the Composition and Reuse of Viewpoints

Definition of the GMM4SA metamegamodel, fully compliant to the ISO/IEC/IEEE 42010

Each megamodel conforming to it must satisfy those relationships in order to be valid:

definition of conformance of an AF to the 42010 definition of conformance of an AD to an AF definition AF correspondence rules

Specification of the model weaving and composition mechanisms

Use of the AM3 megamodel management component (in the AMMA platform) to record all available resources, acting as an MDE repository.

Page 18: On the Composition and Reuse of Viewpoints

MD engineers define the domain megamodel (conforming to the GMM4SA)

and creates viewpoints define correspondence rule in OCL

Software architects create AFs by easily using elements in the megamodel create ADs conforming to the AFs

create new view and import its model (done with existing ADLs) into MEGAF

Page 19: On the Composition and Reuse of Viewpoints
Page 20: On the Composition and Reuse of Viewpoints

CONCLUSIONS

Page 21: On the Composition and Reuse of Viewpoints

Advanced searchesOverlapping viewpoints managementUsability and GUIExtension and customization of repository elementsAF extensions can create problems to the corresponding AD

Application to industrial projects

Page 22: On the Composition and Reuse of Viewpoints
Page 23: On the Composition and Reuse of Viewpoints

Darwin/FSP

ACME

AADL

xADL

SA UML profiles

other ADLs

pivotmetamodel

(A0)

Extended/customized ADL generated in byADL

BPMN

FTVP1

VP1

VP2

VP2St1St1

MK1MK1

Composed AF generated 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 24: On the Composition and Reuse of Viewpoints

MEGAF

DUALLy

EMF

AM3 AMW ATL

AMMA

byADL other engines

MEGAF

Page 25: On the Composition and Reuse of Viewpoints
Page 26: On the Composition and Reuse of Viewpoints

27

@WICSA/ECSA 2012, Helsinki, August 2012

Rich HilliardFreelance software systems architect

Ivano Malavolta, Henry Muccini, Patrizio PelliccioneDepartment of Engineering, Computer Science and Mathematics, University of L’Aquila, Italy

www.henrymuccini.com, [email protected], @muccinihenry