software architecture: views and viewpoints

Post on 09-May-2015

7.343 Views

Category:

Education

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

This is an introductory lecture to Software Architecture Views and Viewpoints, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)

TRANSCRIPT

Università degli Studi dell’Aquila

L07: Views and Viewpoints

Henry Muccini

DISIM Department, University of L’Aquila, Italy

henry.muccini@univaq.it

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.

Henry Muccini

Intro to Software Testing

Structural Testing

Model-based Testing

Architecture-based Testing

Lab

Intro to SA

SA Case study

SA style

ADLs

Design Decisions

Views/Viewpoints

Non Functional S.E.

Performance modeling

Performance analysis

UML

UML Profiling

Lab

Views/Viewpoints

Software Architecture

The Software Architecture is the earliest model of the whole software system created along the software lifecycle

“Traditional” definition:

→A set of components and connectors communicating through →A set of components and connectors communicating through interfaces

“Recent/Future” understanding:

→A set of architecture design decisions taken to generate the architecture artifact

→Focus on set of Views and Viewpoints, looking at stakeholders and their concern

Architecture as a set of ViewpointsArchitecture as a set of Viewpoints

Structure

Behavior

Hw/Sw

Real-timeReal-time

Two important views

3

Structural Spec. Behavioral Spec.

0 12 4

5

-Formal ADLs

-UML notations

- Posets, pre-post conditions

- Process Algebras

- Labeled Transition Systems,

IO Automata, IOLTS

- Statechart, UML state machine

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

Description, 2011

Architecture Description:

�Architecture Description is the practice of expressing

architectures (ISO/IEC 42010)

�“The practices of recording software, system and

enterprise architectures so that architectures can be enterprise architectures so that architectures can be

understood, documented, analysed and realized.”

�“Architecture descriptions are created by architects

and used by architects and other stakeholders

throughout all stages of a system’s life cycle, from

development through operation and maintenance.”

1) Architecture Viewpoints:

define the contents of each architecture view;

2) Architecture Frameworks (AFs):

coordinated set of viewpoints for use within a

particular stakeholder community or domain of

coordinated set of viewpoints for use within a

particular stakeholder community or domain of

application (e.g., GERAM, TOGAF, MODAF);

3) Architecture Description Languages (ADLs): any

mode of expression used in an architecture

description.

ADL provides model kinds selected to frame one

or more concerns.

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

Description, 2011

[…] “a viewpoint is a way of looking at a system; a view is what you see”

“A viewpoint defines the conventions (such as notations, languages and

types of models) for constructing a certain kind of view”

[…]”viewpoint refers to the conventions for representing an architecture

relative to one set of concerns.”

“A view is the result of applying a viewpoint to a particular system of “A view is the result of applying a viewpoint to a particular system of

interest”

[…] “viewpoints as first-class entities of architecture descriptions.”

view : viewpoint :: program : programming language

From the ISO/IEC/IEEE 42010

Software Architect

Software Developer

Financial manager

Business manager

Logical View

End-user

Functionality

Implementation (Development) View

Programmers

Software management

Object Model

of Design

Static Organization

of the Software

RUP 4+1 views

Functionality Software management

Process View

Performance

Scalability

Throughput

System integrators

Deployment View

Conceptual Physical

Use Case View

Concurrency and

Synchronization

Software Mapping

To HwSystem engineering

System topology

Delivery, installation

Communication

Models

Use CaseModel

DesignModel

Depl.Model

Impl.Model

TestModel

AnalysisModel

Views

[Applied]

Still based on Architectural views…

→Conceptual

→Module

→Execution

[Applied] C. Hofmeister, R. Nord

and D. Soni. Applied Software

Architecture. Addison-Wesley.

1998.

Architectural views: Applied SA [Applied] & UML Process [UMLProcess]

→Execution

→Code

… but more Diagrams for each view

[UMLProcess][UMLProcess] I. Jacobson, G.

Booch and J. Rumbaugh.

The Unified Software Development

Process. Addison Wesley,

Object Technology Series, 1999.

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• 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)

MEGAF is an MDE approach to create new architecture

To provide an infrastructure that enables to build reusable architecture frameworks

by treating views, viewpoints,

concerns as first-class entities.

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.

ArchitecturalViewpoints

Stakeholders

Model KindsSystem Concerns Architectural Languages

Correspondences

Architectural

Assets

Repository

Architecture

Description

B

Architecture

Description

C

Architecture

Description

A

Architecture

Framework

c1c1

mkmksc

stk

Viewpoints

Stakeholders

Model KindsSystem Concerns Architectural Languages

CorrespondencesArchitecture

Framework

alal

afafc1c1Viewpoints

Architecture

Description

B

Architecture

Description

C

Architecture

Description

A

How to manage models that contains classes

and other models?

vp adad

Technological solution

A megamodelmegamodel is a kind of model in which elements could

represent and/or refer to models or metamodels [Bézivin et al.,

MEGAF is realized via megamodelingmegamodeling techniques

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.

MEGAF meta megamodel

GMM4SA meta megamodel

(describing howto build 42010–conformantmegamodels)

In MEGAF, a In MEGAF, a megamodelmegamodel isis aarepositoryrepository of AD 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]

c1c1

mkmksc

stk

Viewpoints

Stakeholders

Model KindsSystem Concerns Architectural Languages

Correspondences

c1c1Viewpoints

vp

CASE STUDY

Viewpoints: structural, behaviour, web services

ADLs: Diasuite, UML

Extensions: REST services metamodel, LTS

Stakeholders: sw architect, end-user, developer, sys eng.

42010 AF definition

Work Done…

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� 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.

CONCLUSIONS

Future Work

�Advanced searches

�Overlapping viewpoints management

�Usability and GUI

�Extension and customization of repository elements�Extension and customization of repository elements

�AF extensions can create problems to the

corresponding AD

�Application to industrial projects

Our vision

Reuse, compose, and extend ADLs and AFs insteadof creating new onesof creating new ones

Our solution

Darwin/FSP

ACME

AADL

SA UML profiles pivot

metamodel

(A0)

Extended/customized ADLgenerated in byADL

BPMN

FTVP

1

VP

1

VP

2

VP

2St1

MK1

Composed AFgenerated in MEGAF

AADL

xADLother ADLs

(A0)

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

MEGAFDUALLy byADL

other

engines

MEGAF

EMF

AM3 AMW ATL

AMMA

megaf.di.univaq.it

• Preliminary prototype in Eclipse, usingmegamodeling techniques

dually.di.univaq.itdually.di.univaq.it

• Prototype in Eclipse, using model-drivenengineering techniques

byadl.di.univaq.it

• Prototype in Eclipse, using model-driven engineering techniques

top related