SlideShare une entreprise Scribd logo
1  sur  59
Università degli Studi dell’Aquila

Henry Muccini
DISIM, University of L’Aquila
henry.muccini@univaq.it, @muccinihenry, henrymuccini.com
@Gran Sasso Science Instutitue (GSSI) – Nov. 2013
The Software Architecture is the
earliest model of the whole software
system created along the software
lifecycle
 A set of components and connectors communicating
through interfaces
A set of architecture design decisions
Focus on set of views and viewpoints

Written according to architectural styles
Prescriptive vs descriptive use of an architectural
language
The Classical Style

The Californian Style
“A set of design rules that identify the kinds of components
and connectors that may be used to compose a system
or subsystem, together with local or global constraints on
the way the composition is done” (Shaw & Clements, 1996)

IMP

A set of constraints you put on your development to elicit desirable
properties from your software architecture.
Topological
Behavioral
Communication-oriented
etc. etc.
Architectural styles typically determine four kinds of
properties [AAG93]:

IMP
Many similarities between patterns and styles

But they have come from different communities

Differences

Architectural Styles

Design Patterns

Few

Many

Large-scale system
organization

Localized, small-scale
design solutions
ElevatorSynchronizer

ElevatorADT1

ElevatorPanel1

ElevatorSynchronizer

ElevatorADT2

ElevatorADT2

ElevatorADT1

ElevatorPanel2

ElevatorPanel1

ElevatorPanel2

Scheduler

Scheduler
C2 connector
C2 component

BuildingPanel

comm. channel
request
notification

BuildingPanel
1. The top of a component may be connected to the
bottom of a single connector.
2. The bottom of a component may be connected to
the top of a single connector.
3. There is no bound on the number of components
or connectors that may be attached to a single
connector.
4. When two connectors are attached to each other,
it must be from the bottom of one to the top of
the other.
5. Components can communicate only through
connectors
10
Application

Application

Presentation

Presentation

Session

Session

Transport

Transport

Network

Network

Network

Network

Data Link

Data Link

Data Link

Data Link

Physical

Physical

Physical

Physical
Advantages

Disadvantages
GLOBAL

XCONN

XCONN
SHELF
PERIPHE
RAL

XCONN1

XCONN1

1..1

1..1
1..2

1..1
1..2

XCONN2

1..1

XCONN2

1..1

1..1

XCONN3

1..1

1..1

1..1

…

1..1

1..1

1..1

…

1..1

XCONN3

1..1
Blackboad style

1..*

Controller

KS
1..*

Blackboard
The Blackboard Style
This style is characterized by a central data structure and a collection of
components operating on the central data store

The Blackboard is characterized by three main types of
components (Corkill, 1991):

Connector

Property
Advantages

Disadvantages
Distributed Peer-to-Peer Systems
Components
Connectors
Configurations
Computational model
3-Tier Client/Server Systems (example)
WHAT IS P2P?

3rd: SKYPE
Advantages

Disadvantages
Distributed state
Potential for deadlock, starvation, race conditions, service outages
Data marshalling and unmarshalling
Proxies and stubs for RPC
Legacy wrappers
22

[Garlan94] Exploiting Style in Architectural Design
Environments, David Garlan, Robert Allen and John Ockerbloom.
Proceedings of SIGSOFT '94 Symposium on the Foundations of
Software Engineering, December 1994.
[SC97] A Field Guide to Boxology: Preliminary Classification of
Architectural Styles for Software Systems, M. Shaw and P.
Clements, In Proc. COMPSAC97, 21st Int'l Computer Software
and Applications Conference, August 1997, pp. 6-13.
[Shaw96] Some Patterns for Software Architectures, M. Shaw,
In John Viissides, James O. Coplien, and Norman L. Kerth,
editors, Pattern Languages of Program Design 2. AddisonWesley, 1996.
The Software Architecture is the
earliest model of the whole software
system created along the software
lifecycle
 A brief Introduction to Product Lines

(i.e., families of products)
Product Lines and Product Families
Product Line:
→ This

term was introduced by the US community

Product Family:
→ This

term originated within a series of European
industrial-cooperation projects
Product Line
Definition:
A software product line is a set of software intensive
systems sharing a common, managed set of features that
satisfy the specific needs of a particular market segment

or mission and that are developed from a common set of
core assets in a prescribed way.

[P. Clements - L. M. Northrop, 2001]
(Software Engineering Institute, CMU)
The general idea…
The idea behind a system-family approach is to:
→ build

a new system or application from a common
set of assets…
─ A software asset might be a component, known

requirements or design elements, models, artifacts that
an engineer uses to build or modify a software
product…
→ in

the same line (i.e., domain)…
─ pertaining to a general production line of a company
27

An example
An example
• Car product line
Keywords > 1/3
Variability:
→

Variability is the ability to change or customize a software
system [Jan Bosch, 2002]

Variation point:
A variation point refers to a delayed design decision, i.e., it
indicates a specific point in the development or deployment
phase of a software system
→ The intention of designing a variation point into a system is
to insert a variant (alternative) at a later phase in the
lifecycle
→
Keywords > 2/3
Features:
Underlying def: a feature groups related requirements
→ Features are an abstraction mechanism to express variability
→ Cross-cutting features
→ FODA: Feature Oriented Domain Analysis
→
Keywords > 3/3
Levels:
→
→

Domain
Application
Why Product Lines?
33

Feature Model
Product Lines and Reuse
35

SPLC Conference
The Software Architecture is the
earliest model of the whole software
system created along the software
lifecycle
 Our current research on Architecture Description
Languages and Frameworks
37
38

ADL = Architecture Description Language = any mode
of expression used in an architecture description

Informal

UML-based

Formal
39

Pro:
 of immediate use
 perfect for sketching
 communicative
Cons:
 ambiguous
 non automated

Pro:
 not too difficult
 same notation for SA
and design modeling
Cons:
 not a 100% fit
 tool investment

Pro:
 formal semantics
 computable
Cons:
 difficult to learn
 general lack of tools
 prolifetarion

But.. What Industry needs from Architectural Languages?
I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, A. Tang. IEEE TSE 2012 (pre-print)

Main Finding: Introvert versus extrovert nature of architects role
ADLs should combine features supporting both communication
and disciplined development.
41
42

Medvidovic et al. [12]
Woods and Hilliard [17]
Woods [18]

Pandey [19]
Hilliard and Rice [20]
Clements [21]
The study population
Participants = 48
─ 25 interviews
─ 23 on-line questionnaires

Localization: 15 countries
→

USA (9), Sweden (6), Germany (5), Netherlands (5), Canada (4), Australia
(4), France (4), Argentina (2), UK (2), Austria (1), Belgium (1), Chile (1),
Croatia (1), India (1), Switzerland (1), unknown (1)

Number of employees

A(0-99)
25%
23%

18%
34%

B(100-999)
C(1000-4999)
D(5000-above)
usefulness of ADL features in past and future
projects
47

C1: need of models interoperability


multiple languages are used to describe the architecture of a
software system

C2: need of extending existing ALs

C3: need of creating, storing, re-using, views and
Architecture Frameworks
C4: need of communicative and analytic AL
S1. DUALLY (dually.di.univaq.it)
→An

MDE interoperability framework for existing ADLs

[TSE2010,SOSYM2012]

S2.ByADL (byadl.di.univaq.it)
48

DUALLY supports interoperability among
MDE framework for customizing existing ADLs ADLs. One
model written in an ADL, can be then automatically
[ICSE2010, ECSA2010]
transformed into another model conforming to a
S3.MEGAF (megaf.di.univaq.it) a change is applied to
different ADL. Moreover, if
one model in the transformation network, it is
→A repository and a framework for creating your architecture
descriptionpropagated to all the models.
based on different viewpoints/views/concerns
→An

[ASE2010, WICSA/ECSA2012]

S4.WIKI & AL
49

•Use of different ALs to model or analyze different
architectural aspects of a system

Bridging the different descriptions to be kept
consistent and coherent is of paramount relevance
DUALLY Motivating Example
Performance
Performance analysis
Model PM

System

?
Security
Model

Security
analysis

?
53

Tech Foundation: Model Transformations and
Weaving
Model 2 Model




From design to analysis models
From one view to another

ADLb

ADLa

Model 2 Code:



Executable code
Simulation code

Transformation
2) Star topology:

1) Full-mesh topology:
Other
ADLs
Darwin/
LTSA

ACME

AADL
SA UML
profiles

n notations  n (n-1)/2 weaving models

Other
ADLs
A0
Profile
SA UML
profiles

Darwin/
LTSA
ACME

AADL

n notations  n weav. models
Consistency of models may be
verified in A0
S1. DUALLY (dually.di.univaq.it)
→An

MDE interoperability framework for existing ADLs

[TSE2010,SOSYM2012]

S2. ByADL (byadl.di.univaq.it)
→An

MDE framework for customizing existing ADLs

[ICSE2010, ECSA2010]

MEGAF (megaf.di.univaq.it)

ByADL framework for creating your for
repository and a is Eclipse-based solution architecture
descriptionextending and customizing architecture
based on different viewpoints/views/concerns

→A

[ASE2010, WICSA/ECSA2012]
description

languages (or, more in
→S4.WIKI &general, domain specific modeling
AL
languages) to adapt an ADL to better fit
stakeholders’ concerns.
ByADL (byadl.di.univaq.it)
→An

MDE framework for customizing existing ADLs

[ICSE2010, ECSA2010]
PROBLEM
SOLUTION

current ADLs mostly fail to capture multiple
(and varying) stakeholders concerns
extending and customizing existing ADLs w.r.t.
to domain- & organization- specific concerns
59

Tech Foundation: Metamodel Composition
Metamodels (and models) can be “composed” so to
generate a new metamodel (model)
MM

MMext
composition
model

transformation
s

MMcomp
S1.DUALLY (dually.di.univaq.it)
→An

MDE interoperability allows software architects
MEGAF framework for existing ADLs

to
[TSE2010,SOSYM2012]
create new and re-usable architecture
S2.ByADL (byadl.di.univaq.it)
frameworks
→An

MDE framework for customizing existing ADLs

[ICSE2010, ECSA2010]

S3.MEGAF (megaf.di.univaq.it)
→A

repository and a framework for creating your architecture
description based on different viewpoints/views/concerns
[ASE2010, WICSA/ECSA2012]

S4.WIKI & AL
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.

ii.

iii.

to store, retrieve, and combine existing viewpoints, by properly
selecting and reusing models previously defined and resident in
MEGAF;
to define correspondences among
views, viewpoints, stakeholders, system concerns and their
elements;
to enforce consistency and completeness checks based on
defined architectural relationships and rules among elements.
Tech. Foundation: Megamodeling
A megamodel can be seen as a map to find and
link together all the involved models
A megamodel 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.
Composed AF

Extended/customized ADL
generated in byADL

generated in MEGAF
St1

VP
1

BPMN

VP
2

Darwin/FSP

FT

MK1

SA UML profiles

other ADLs

ACME

pivot
metamodel
(A0)

AADL

xADL

DUALLy: an automated approach for ADLs interoperability
byADL: an approach to adapt and customize existing ADLs
MEGAF: a model-driven infrastructure for building reusable
and extensible architecture frameworks
DUALLy

byADL
MEGAF

other
engines

MEGAF
AMMA
AM3

AMW
EMF

ATL
megaf.di.univaq.it
• Preliminary prototype in Eclipse, using
megamodeling techniques

dually.di.univaq.it
• Prototype in Eclipse, using model-driven
engineering techniques

byadl.di.univaq.it
• Prototype in Eclipse, using model-driven
engineering techniques

Contenu connexe

Tendances

[2015/2016] Architectural languages
[2015/2016] Architectural languages[2015/2016] Architectural languages
[2015/2016] Architectural languagesIvano Malavolta
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsdeep sharma
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigmsIvano Malavolta
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software designMr. Swapnil G. Thaware
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecturedrewz lin
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Atv Reddy
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 

Tendances (20)

[2015/2016] Architectural languages
[2015/2016] Architectural languages[2015/2016] Architectural languages
[2015/2016] Architectural languages
 
Layering and Architecture
Layering and ArchitectureLayering and Architecture
Layering and Architecture
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Sda 7
Sda   7Sda   7
Sda 7
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Ch10
Ch10Ch10
Ch10
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
Software design
Software designSoftware design
Software design
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
Arch java
Arch javaArch java
Arch java
 
software design
software designsoftware design
software design
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 

En vedette

Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture StylesJorgen Thelin
 
Software testing part
Software testing partSoftware testing part
Software testing partPreeti Mishra
 
A Software Product Line for Modular Robots
A Software Product Line for Modular RobotsA Software Product Line for Modular Robots
A Software Product Line for Modular RobotsUlrik Schultz
 
Software Product Line
Software Product LineSoftware Product Line
Software Product LineHimanshu
 
Software Product Lines
Software Product LinesSoftware Product Lines
Software Product LinesJason Baragry
 
Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIvano Malavolta
 
CONTEMPORARY ARCHITECTURE - FOREIGN
CONTEMPORARY ARCHITECTURE - FOREIGN  CONTEMPORARY ARCHITECTURE - FOREIGN
CONTEMPORARY ARCHITECTURE - FOREIGN Kaushal joshi
 
Software product line
Software product lineSoftware product line
Software product lineHimanshu
 
James Law Cybertecture
James Law CybertectureJames Law Cybertecture
James Law CybertectureRohan Pinto
 
Virtual machines and their architecture
Virtual machines and their architectureVirtual machines and their architecture
Virtual machines and their architectureMrinmoy Dalal
 
Blackboard Pattern
Blackboard PatternBlackboard Pattern
Blackboard Patterntcab22
 
Blackboard architecture pattern
Blackboard architecture patternBlackboard architecture pattern
Blackboard architecture patternaish006
 
Conservation and revitalization of historic buildings
Conservation and revitalization of historic buildingsConservation and revitalization of historic buildings
Conservation and revitalization of historic buildingsALI HYDER GADHI
 
blackboard architecture
blackboard architectureblackboard architecture
blackboard architectureNguyễn Ngân
 
contemporary architecture
contemporary architecturecontemporary architecture
contemporary architecturePalvi Kadam
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsHimanshu
 
Software Architecture: Styles
Software Architecture: StylesSoftware Architecture: Styles
Software Architecture: StylesHenry Muccini
 
Contemporary Architecture
Contemporary ArchitectureContemporary Architecture
Contemporary ArchitectureFullCollege
 
Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...
Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...
Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...Dipesh Pradhan
 

En vedette (20)

ARCHITECTURAL STYLES
ARCHITECTURAL STYLESARCHITECTURAL STYLES
ARCHITECTURAL STYLES
 
Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture Styles
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
A Software Product Line for Modular Robots
A Software Product Line for Modular RobotsA Software Product Line for Modular Robots
A Software Product Line for Modular Robots
 
Software Product Line
Software Product LineSoftware Product Line
Software Product Line
 
Software Product Lines
Software Product LinesSoftware Product Lines
Software Product Lines
 
Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGES
 
CONTEMPORARY ARCHITECTURE - FOREIGN
CONTEMPORARY ARCHITECTURE - FOREIGN  CONTEMPORARY ARCHITECTURE - FOREIGN
CONTEMPORARY ARCHITECTURE - FOREIGN
 
Software product line
Software product lineSoftware product line
Software product line
 
James Law Cybertecture
James Law CybertectureJames Law Cybertecture
James Law Cybertecture
 
Virtual machines and their architecture
Virtual machines and their architectureVirtual machines and their architecture
Virtual machines and their architecture
 
Blackboard Pattern
Blackboard PatternBlackboard Pattern
Blackboard Pattern
 
Blackboard architecture pattern
Blackboard architecture patternBlackboard architecture pattern
Blackboard architecture pattern
 
Conservation and revitalization of historic buildings
Conservation and revitalization of historic buildingsConservation and revitalization of historic buildings
Conservation and revitalization of historic buildings
 
blackboard architecture
blackboard architectureblackboard architecture
blackboard architecture
 
contemporary architecture
contemporary architecturecontemporary architecture
contemporary architecture
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Software Architecture: Styles
Software Architecture: StylesSoftware Architecture: Styles
Software Architecture: Styles
 
Contemporary Architecture
Contemporary ArchitectureContemporary Architecture
Contemporary Architecture
 
Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...
Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...
Expressionism Modernism Sustainable Architecture Rookery Walt Disney Concert ...
 

Similaire à Software architecture styles families_research_gssi_nov2013

Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Henry Muccini
 
15 implementing architectures
15 implementing architectures15 implementing architectures
15 implementing architecturesMajong DevJfu
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and ViewpointsHenry Muccini
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESA COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESijfcstjournal
 
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESA COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESADEIJ Journal
 
Systems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature conceptsSystems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature conceptsijcsit
 
Mit3033 software architecture
Mit3033  software architectureMit3033  software architecture
Mit3033 software architecturesmumbahelp
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADSayyada Ayesha
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfB.T.L.I.T
 

Similaire à Software architecture styles families_research_gssi_nov2013 (20)

Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
 
15 implementing architectures
15 implementing architectures15 implementing architectures
15 implementing architectures
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Modest Formalization of Software Design Patterns
Modest Formalization of Software Design PatternsModest Formalization of Software Design Patterns
Modest Formalization of Software Design Patterns
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESA COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
 
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLESA COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
A COMPARATIVE ANALYSIS ON SOFTWARE ARCHITECTURE STYLES
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 
Systems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature conceptsSystems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature concepts
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
Lecture-7.ppt
Lecture-7.pptLecture-7.ppt
Lecture-7.ppt
 
Mit3033 software architecture
Mit3033  software architectureMit3033  software architecture
Mit3033 software architecture
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOAD
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Articulo acm
Articulo acmArticulo acm
Articulo acm
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 

Plus de Henry Muccini

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design Henry Muccini
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieHenry Muccini
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileHenry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementHenry Muccini
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsHenry Muccini
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureHenry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical SpacesHenry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISHenry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
 

Plus de Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 

Dernier

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 

Dernier (20)

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 

Software architecture styles families_research_gssi_nov2013

  • 1. Università degli Studi dell’Aquila Henry Muccini DISIM, University of L’Aquila henry.muccini@univaq.it, @muccinihenry, henrymuccini.com @Gran Sasso Science Instutitue (GSSI) – Nov. 2013
  • 2. The Software Architecture is the earliest model of the whole software system created along the software lifecycle  A set of components and connectors communicating through interfaces A set of architecture design decisions Focus on set of views and viewpoints Written according to architectural styles
  • 3. Prescriptive vs descriptive use of an architectural language
  • 4. The Classical Style The Californian Style
  • 5. “A set of design rules that identify the kinds of components and connectors that may be used to compose a system or subsystem, together with local or global constraints on the way the composition is done” (Shaw & Clements, 1996) IMP A set of constraints you put on your development to elicit desirable properties from your software architecture. Topological Behavioral Communication-oriented etc. etc.
  • 6. Architectural styles typically determine four kinds of properties [AAG93]: IMP
  • 7. Many similarities between patterns and styles But they have come from different communities Differences Architectural Styles Design Patterns Few Many Large-scale system organization Localized, small-scale design solutions
  • 9. 1. The top of a component may be connected to the bottom of a single connector. 2. The bottom of a component may be connected to the top of a single connector. 3. There is no bound on the number of components or connectors that may be attached to a single connector. 4. When two connectors are attached to each other, it must be from the bottom of one to the top of the other. 5. Components can communicate only through connectors
  • 10. 10
  • 15. The Blackboard Style This style is characterized by a central data structure and a collection of components operating on the central data store The Blackboard is characterized by three main types of components (Corkill, 1991): Connector Property
  • 17.
  • 21. Advantages Disadvantages Distributed state Potential for deadlock, starvation, race conditions, service outages Data marshalling and unmarshalling Proxies and stubs for RPC Legacy wrappers
  • 22. 22 [Garlan94] Exploiting Style in Architectural Design Environments, David Garlan, Robert Allen and John Ockerbloom. Proceedings of SIGSOFT '94 Symposium on the Foundations of Software Engineering, December 1994. [SC97] A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems, M. Shaw and P. Clements, In Proc. COMPSAC97, 21st Int'l Computer Software and Applications Conference, August 1997, pp. 6-13. [Shaw96] Some Patterns for Software Architectures, M. Shaw, In John Viissides, James O. Coplien, and Norman L. Kerth, editors, Pattern Languages of Program Design 2. AddisonWesley, 1996.
  • 23. The Software Architecture is the earliest model of the whole software system created along the software lifecycle  A brief Introduction to Product Lines (i.e., families of products)
  • 24. Product Lines and Product Families Product Line: → This term was introduced by the US community Product Family: → This term originated within a series of European industrial-cooperation projects
  • 25. Product Line Definition: A software product line is a set of software intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. [P. Clements - L. M. Northrop, 2001] (Software Engineering Institute, CMU)
  • 26. The general idea… The idea behind a system-family approach is to: → build a new system or application from a common set of assets… ─ A software asset might be a component, known requirements or design elements, models, artifacts that an engineer uses to build or modify a software product… → in the same line (i.e., domain)… ─ pertaining to a general production line of a company
  • 28. An example • Car product line
  • 29. Keywords > 1/3 Variability: → Variability is the ability to change or customize a software system [Jan Bosch, 2002] Variation point: A variation point refers to a delayed design decision, i.e., it indicates a specific point in the development or deployment phase of a software system → The intention of designing a variation point into a system is to insert a variant (alternative) at a later phase in the lifecycle →
  • 30. Keywords > 2/3 Features: Underlying def: a feature groups related requirements → Features are an abstraction mechanism to express variability → Cross-cutting features → FODA: Feature Oriented Domain Analysis →
  • 36. The Software Architecture is the earliest model of the whole software system created along the software lifecycle  Our current research on Architecture Description Languages and Frameworks
  • 37. 37
  • 38. 38 ADL = Architecture Description Language = any mode of expression used in an architecture description Informal UML-based Formal
  • 39. 39 Pro:  of immediate use  perfect for sketching  communicative Cons:  ambiguous  non automated Pro:  not too difficult  same notation for SA and design modeling Cons:  not a 100% fit  tool investment Pro:  formal semantics  computable Cons:  difficult to learn  general lack of tools  prolifetarion But.. What Industry needs from Architectural Languages? I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, A. Tang. IEEE TSE 2012 (pre-print) Main Finding: Introvert versus extrovert nature of architects role ADLs should combine features supporting both communication and disciplined development.
  • 40. 41
  • 41. 42 Medvidovic et al. [12] Woods and Hilliard [17] Woods [18] Pandey [19] Hilliard and Rice [20] Clements [21]
  • 42. The study population Participants = 48 ─ 25 interviews ─ 23 on-line questionnaires Localization: 15 countries → USA (9), Sweden (6), Germany (5), Netherlands (5), Canada (4), Australia (4), France (4), Argentina (2), UK (2), Austria (1), Belgium (1), Chile (1), Croatia (1), India (1), Switzerland (1), unknown (1) Number of employees A(0-99) 25% 23% 18% 34% B(100-999) C(1000-4999) D(5000-above)
  • 43.
  • 44. usefulness of ADL features in past and future projects
  • 45. 47 C1: need of models interoperability  multiple languages are used to describe the architecture of a software system C2: need of extending existing ALs C3: need of creating, storing, re-using, views and Architecture Frameworks C4: need of communicative and analytic AL
  • 46. S1. DUALLY (dually.di.univaq.it) →An MDE interoperability framework for existing ADLs [TSE2010,SOSYM2012] S2.ByADL (byadl.di.univaq.it) 48 DUALLY supports interoperability among MDE framework for customizing existing ADLs ADLs. One model written in an ADL, can be then automatically [ICSE2010, ECSA2010] transformed into another model conforming to a S3.MEGAF (megaf.di.univaq.it) a change is applied to different ADL. Moreover, if one model in the transformation network, it is →A repository and a framework for creating your architecture descriptionpropagated to all the models. based on different viewpoints/views/concerns →An [ASE2010, WICSA/ECSA2012] S4.WIKI & AL
  • 47. 49 •Use of different ALs to model or analyze different architectural aspects of a system Bridging the different descriptions to be kept consistent and coherent is of paramount relevance
  • 48. DUALLY Motivating Example Performance Performance analysis Model PM System ? Security Model Security analysis ?
  • 49. 53 Tech Foundation: Model Transformations and Weaving Model 2 Model   From design to analysis models From one view to another ADLb ADLa Model 2 Code:   Executable code Simulation code Transformation
  • 50. 2) Star topology: 1) Full-mesh topology: Other ADLs Darwin/ LTSA ACME AADL SA UML profiles n notations  n (n-1)/2 weaving models Other ADLs A0 Profile SA UML profiles Darwin/ LTSA ACME AADL n notations  n weav. models Consistency of models may be verified in A0
  • 51. S1. DUALLY (dually.di.univaq.it) →An MDE interoperability framework for existing ADLs [TSE2010,SOSYM2012] S2. ByADL (byadl.di.univaq.it) →An MDE framework for customizing existing ADLs [ICSE2010, ECSA2010] MEGAF (megaf.di.univaq.it) ByADL framework for creating your for repository and a is Eclipse-based solution architecture descriptionextending and customizing architecture based on different viewpoints/views/concerns →A [ASE2010, WICSA/ECSA2012] description languages (or, more in →S4.WIKI &general, domain specific modeling AL languages) to adapt an ADL to better fit stakeholders’ concerns.
  • 52. ByADL (byadl.di.univaq.it) →An MDE framework for customizing existing ADLs [ICSE2010, ECSA2010] PROBLEM SOLUTION current ADLs mostly fail to capture multiple (and varying) stakeholders concerns extending and customizing existing ADLs w.r.t. to domain- & organization- specific concerns
  • 53. 59 Tech Foundation: Metamodel Composition Metamodels (and models) can be “composed” so to generate a new metamodel (model) MM MMext composition model transformation s MMcomp
  • 54. S1.DUALLY (dually.di.univaq.it) →An MDE interoperability allows software architects MEGAF framework for existing ADLs to [TSE2010,SOSYM2012] create new and re-usable architecture S2.ByADL (byadl.di.univaq.it) frameworks →An MDE framework for customizing existing ADLs [ICSE2010, ECSA2010] S3.MEGAF (megaf.di.univaq.it) →A repository and a framework for creating your architecture description based on different viewpoints/views/concerns [ASE2010, WICSA/ECSA2012] S4.WIKI & AL
  • 55. 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. ii. iii. to store, retrieve, and combine existing viewpoints, by properly selecting and reusing models previously defined and resident in MEGAF; to define correspondences among views, viewpoints, stakeholders, system concerns and their elements; to enforce consistency and completeness checks based on defined architectural relationships and rules among elements.
  • 56. Tech. Foundation: Megamodeling A megamodel can be seen as a map to find and link together all the involved models A megamodel 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.
  • 57. Composed AF Extended/customized ADL generated in byADL generated in MEGAF St1 VP 1 BPMN VP 2 Darwin/FSP FT MK1 SA UML profiles other ADLs ACME pivot metamodel (A0) AADL xADL DUALLy: an automated approach for ADLs interoperability byADL: an approach to adapt and customize existing ADLs MEGAF: a model-driven infrastructure for building reusable and extensible architecture frameworks
  • 59. megaf.di.univaq.it • Preliminary prototype in Eclipse, using megamodeling techniques dually.di.univaq.it • Prototype in Eclipse, using model-driven engineering techniques byadl.di.univaq.it • Prototype in Eclipse, using model-driven engineering techniques