SlideShare uma empresa Scribd logo
1 de 43
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

W
E
E
L

O
C
M
The material in these slides may be freely reproduced
and distributed, partially or totally, as far as an explicit
reference or acknowledge to the authors is preserved.

Henry Muccini
4

Myself:


Main expertise: Software Architecture
Description, verification and validation
 Software Architecture:
 Guest member of the IFIP WG on Software Architecture
 Research on Architecture Description (with MDE)
 SA-based Testing:
 special Issue on “Software Architecture For Code Testing And
Analysis”
 PC co-chair of AST 2013 @ ICSE 2013
 Director of the TAROT 2013 software testing school
 Cooperation with some partner Universities in Spaign and China
 Resilience:
 SC chair of the SERENE workshop (http://serene.uni.lu/Workshops/)
 Co-founder of the ERCIM WG on Resilience



New interests:
 Architecting Wireless Sensor Networks
 Architecting Mobile-Enabled Systems
Research interests
on developing methods and tools for the
analysis and design of software architectures
→Architecture-driven Model-based Testing
→Model-checking Architectures
→Architecting Fault Tolerant Systems
→Interoperable and Multi-view Software Architecture

Descriptions

Other
→Global Software Engineering Education
→Architecting Wireless Sensor Network
→Model Driven Engineering
Software Engineering

Software System

Engineered Software System
Process: Architecture as an artefact
Requirements
Drives

Software
Architecture

Low Level Design

Implementation
Process: Architecture towards the process

Use Case
Model

Analysis
Model

Design
Model

Depl.
Model

Impl.
Model

Test
Model

Models

Views

• The architecture includes a collection of views
• The architecture is NOT a single fase in the software
development process
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
13

Let us reason about the
Gaudi’s Sagrada Familia
Software Architecture definitions
Perry and Wolf, ’92 (aspects):
→“Architecture

is concerned with the selection of architectural
elements, their interactions, and the constraints on those elements and
their interactions necessary to provide a framework in which to satisfy the
requirements and serve as a basis for the design.”
→Elements are divided into processing elements, data elements and
connection elements

Garlan and Shaw, ’93 (elements):
Architecture for a specific system may be captured as “a collection of
computational components - or simply components - together with a
description of the interactions between these components - the connectors
–”

→
15

The power of abstraction…
TELECOM ITALIA NETWORK ARCHITECTURE
WDM

ADM
ADM
ADM

ADM
ADM
ADM

STM-16 Ring
ADM
ADM
ADM

WL

WL

STM-16 Ring
ADM
ADM
ADM

ADM
ADM
ADM

National Level
ADM
STM-4/16

SXA

ADM

Regional level

ADM
ADM
ADM

ADM
SXC
SXA
4/1
ADM

STM-4/16

SXA

ADM

STM-4/16
STM-1/4

ADM
ADM
ADM STM-1/4 ADM

ADM

ADM STM-1/4 ADM

ADM

Urban Level

ADM

ADM

ADM
ADM
Plugin
Development
Environment

Core

Runtime

Workspace
User Interface
Workbench

Java
Development
Tools

SWT
JFace
standard

standard
standard
standard

laws

standard

p
r
o
c
e
s
s
Privacy e confidentiality
Autenticity
Need of Standards

Shared Process Management
Scalability
Docs digitalization
C2

Ideas

Software
Architecture
synthesis
Architectural constraints
and requirements

Constraints

Req1:..
Req2:..
Req3:..
………

Architectural
requirements
Evaluation and
Decisions making

C3

C1

C4
Software
Architecture
But which Architecture?

Implications on
privacy, confidentiality, performance, scalability, maintaina
But which Architecture?

Implications on
privacy, confidentiality, performance, scalability, maintaina
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
Architecture Design Decisions
Decisions about:
Selected components/interfaces/connectors
Distribution/Configuration of
components/connectors
Expected behavior
SA Styles, Patterns and Tactics
HW/SW/Deployment and other views
Components’ Nesting and sub-systems
NF attributes
25

Architecture as a set of design decisions
A set of architecture design decisions taken to generate
the architecture artifact
Design
problem
subproblem
(or issue)

sub-

problem
(or issue)
Decision =
best option
Design
option

Design
option

Alternative
solutions

Problem space

Design
option
Alternative
solutions

Design
option

Solution
space

Decision =
best option

Best, with respect
to some criterion

Jansen, A.; Bosch, J., "Software Architecture as a Set of Architectural Design
Decisions," Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP
Conference on , vol., no., pp.109,120, 2005. doi: 10.1109/WICSA.2005.61
26

But, which is the right abstraction!?!
27

the right abstraction…
“The practices of recording
software, system and
enterprise architectures so
that architectures can be
understood, documented, an
alysed and realized.”

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

and, which is the right architecture!?!
30

the right architecture…
The one that satisfies at best the
requirements and constraints

The “less” risky one

C2

Ideas

Software
Architecture
synthesis
Architectural constraints
and requirements

Constraints

Req1:..
Req2:..
Req3:..
………

Architectural
requirements
Evaluation and
Decisions making

C3

C1

C4
Software
Architecture
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
33

Architectural Views
AckRU1

AlarmUR1
User1

Check1
AlarmRS (c)

AlarmUR
Check

Router

Nofunc

3
Server

AlarmUR2
User2

Check2

AckSR (c)

2

0

Clock
AckRU2

Timer

5

1

4
ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural
Description, 2011
RUP 4+1 views
Logical View

Implementation (Development) View

Object Model
of Design

Static Organization
of the Software

End-user
Functionality

Programmers
Software management

Use Case View

Process View
Concurrency and
Synchronization

System integrators
Performance
Scalability
Throughput

Conceptual

Deployment View

System engineering
System topology
Delivery, installation
Communication

Software Mapping
To Hw

Physical
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)
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
The Classical Style

The Californian Style
39

but... why to care?
Why to care?
All the software systems have an architecture


All the critical/complex systems must have it carefully and
explicitly specified

Architecture-level decisions impact the
scalability, performance, testability, functioning of the
produced system
Even if the code is perfectly written, a wrong
architecture produces a wrong system
Why to care?
A wrong architecture produces a wrong system



Electronic Voting Systems
Bad architecting of FT software:
 Tens of thousands of people around the large cities weren’t able to travel by

train Thursday morning. No trains from and to Amsterdam and Airport
Schiphol from early morning until after the morning rush hour. A failure in
the back-up system was the cause. The system therefore didn’t start. And
then the signals and switches could not be operated. Both primary and
backup failed, hence no operations. (april 2012)

 the Interim Report on Causes of the August 14th 2003 Blackout in the US

and Canada clearly shows that the problem was mostly caused by badly
designed fault tolerance, including various architectural issues: poor
diagnostics of component failures, longer-than-estimated time for
component recovery, failure to involve all necessary components in
recovery, inconsistent system state after recovery, failures of alarm
systems. (2003)



Denver Airport
Why to care?
A bad architecture can imply a spaghetti code
system
44

Perry, D. E.; Wolf, A. L. (1992). "Foundations for the study of software
architecture". ACM SIGSOFT Software Engineering Notes 17 (4):
40.doi:10.1145/141874.141884.
Garlan & Shaw (1994). "An Introduction to Software Architecture".
Retrieved 2012-09-13.
ISO/IEC/IEEE (2011). "ISO/IEC/IEEE 42010:2011 Systems and software
engineering -- Architecture description". Retrieved 2012-09-12.
Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1”
View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50.
Len Bass, Paul Clements, Rick Kazman: Software Architecture in
Practice, Third Edition. Addison Wesley, 2012, ISBN 0-321-81573-4 (This
book, now in third edition, eloquently covers the fundamental concepts of
the discipline. The theme is centered around achieving quality attributes of a
system.)

Mais conteúdo relacionado

Mais procurados

Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
stanbridge
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
05 architectural styles
05 architectural styles05 architectural styles
05 architectural styles
Majong DevJfu
 

Mais procurados (20)

A Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical SystemsA Preliminary Study on Architecting Cyber-Physical Systems
A Preliminary Study on Architecting Cyber-Physical Systems
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
01 (software) design an analogy with my closet
01 (software) design an analogy with my closet01 (software) design an analogy with my closet
01 (software) design an analogy with my closet
 
Architecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision MakingArchitecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision Making
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
What a Good Software Architect Does
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect Does
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Looking Forwards to Going Backwards
Looking Forwards to Going BackwardsLooking Forwards to Going Backwards
Looking Forwards to Going Backwards
 
software architecture
software architecturesoftware architecture
software architecture
 
03 basic concepts
03 basic concepts03 basic concepts
03 basic concepts
 
Workshop8 18 12 09 Ingles
Workshop8   18 12 09 InglesWorkshop8   18 12 09 Ingles
Workshop8 18 12 09 Ingles
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Basics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET Developers
 
05 architectural styles
05 architectural styles05 architectural styles
05 architectural styles
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Innoslate for Academia
Innoslate for AcademiaInnoslate for Academia
Innoslate for Academia
 
Se handbookv3
Se handbookv3Se handbookv3
Se handbookv3
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysis
 

Semelhante a Software architecture introduction to the abstraction gssi_nov2013

Analysis and assessment software for multi-user collaborative cognitive radi...
Analysis and assessment software for multi-user collaborative  cognitive radi...Analysis and assessment software for multi-user collaborative  cognitive radi...
Analysis and assessment software for multi-user collaborative cognitive radi...
IJECEIAES
 
Qiang Yu Resume
Qiang Yu Resume Qiang Yu Resume
Qiang Yu Resume
Qiang Yu
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge
 
Chi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic SparklinesChi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic Sparklines
Leo Frishberg
 

Semelhante a Software architecture introduction to the abstraction 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)
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTP
 
L06 The Architecting Process
L06 The Architecting ProcessL06 The Architecting Process
L06 The Architecting Process
 
Analysis and assessment software for multi-user collaborative cognitive radi...
Analysis and assessment software for multi-user collaborative  cognitive radi...Analysis and assessment software for multi-user collaborative  cognitive radi...
Analysis and assessment software for multi-user collaborative cognitive radi...
 
Network Analyzer and Report Generation Tool for NS-2 using TCL Script
Network Analyzer and Report Generation Tool for NS-2 using TCL ScriptNetwork Analyzer and Report Generation Tool for NS-2 using TCL Script
Network Analyzer and Report Generation Tool for NS-2 using TCL Script
 
3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura
 
Qiang Yu CV
Qiang Yu CVQiang Yu CV
Qiang Yu CV
 
System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J Greaves
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languages
 
A Practical Introduction To Hardware Software Codesign
A Practical Introduction To Hardware Software CodesignA Practical Introduction To Hardware Software Codesign
A Practical Introduction To Hardware Software Codesign
 
Qiang Yu Resume
Qiang Yu Resume Qiang Yu Resume
Qiang Yu Resume
 
Penglun_Li
Penglun_LiPenglun_Li
Penglun_Li
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 
Chi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic SparklinesChi2011 Case Study: Interactive, Dynamic Sparklines
Chi2011 Case Study: Interactive, Dynamic Sparklines
 

Mais de Henry Muccini

Mais 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
 

Último

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Software architecture introduction to the abstraction 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
  • 3. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the authors is preserved. Henry Muccini
  • 4. 4 Myself:  Main expertise: Software Architecture Description, verification and validation  Software Architecture:  Guest member of the IFIP WG on Software Architecture  Research on Architecture Description (with MDE)  SA-based Testing:  special Issue on “Software Architecture For Code Testing And Analysis”  PC co-chair of AST 2013 @ ICSE 2013  Director of the TAROT 2013 software testing school  Cooperation with some partner Universities in Spaign and China  Resilience:  SC chair of the SERENE workshop (http://serene.uni.lu/Workshops/)  Co-founder of the ERCIM WG on Resilience  New interests:  Architecting Wireless Sensor Networks  Architecting Mobile-Enabled Systems
  • 5. Research interests on developing methods and tools for the analysis and design of software architectures →Architecture-driven Model-based Testing →Model-checking Architectures →Architecting Fault Tolerant Systems →Interoperable and Multi-view Software Architecture Descriptions Other →Global Software Engineering Education →Architecting Wireless Sensor Network →Model Driven Engineering
  • 6.
  • 8. Process: Architecture as an artefact Requirements Drives Software Architecture Low Level Design Implementation
  • 9. Process: Architecture towards the process Use Case Model Analysis Model Design Model Depl. Model Impl. Model Test Model Models Views • The architecture includes a collection of views • The architecture is NOT a single fase in the software development process
  • 10.
  • 11. 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
  • 12. 13 Let us reason about the Gaudi’s Sagrada Familia
  • 13. Software Architecture definitions Perry and Wolf, ’92 (aspects): →“Architecture is concerned with the selection of architectural elements, their interactions, and the constraints on those elements and their interactions necessary to provide a framework in which to satisfy the requirements and serve as a basis for the design.” →Elements are divided into processing elements, data elements and connection elements Garlan and Shaw, ’93 (elements): Architecture for a specific system may be captured as “a collection of computational components - or simply components - together with a description of the interactions between these components - the connectors –” →
  • 14. 15 The power of abstraction…
  • 15. TELECOM ITALIA NETWORK ARCHITECTURE WDM ADM ADM ADM ADM ADM ADM STM-16 Ring ADM ADM ADM WL WL STM-16 Ring ADM ADM ADM ADM ADM ADM National Level ADM STM-4/16 SXA ADM Regional level ADM ADM ADM ADM SXC SXA 4/1 ADM STM-4/16 SXA ADM STM-4/16 STM-1/4 ADM ADM ADM STM-1/4 ADM ADM ADM STM-1/4 ADM ADM Urban Level ADM ADM ADM ADM
  • 18. Privacy e confidentiality Autenticity Need of Standards Shared Process Management Scalability Docs digitalization
  • 20. But which Architecture? Implications on privacy, confidentiality, performance, scalability, maintaina
  • 21. But which Architecture? Implications on privacy, confidentiality, performance, scalability, maintaina
  • 22. 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
  • 23. Architecture Design Decisions Decisions about: Selected components/interfaces/connectors Distribution/Configuration of components/connectors Expected behavior SA Styles, Patterns and Tactics HW/SW/Deployment and other views Components’ Nesting and sub-systems NF attributes
  • 24. 25 Architecture as a set of design decisions A set of architecture design decisions taken to generate the architecture artifact Design problem subproblem (or issue) sub- problem (or issue) Decision = best option Design option Design option Alternative solutions Problem space Design option Alternative solutions Design option Solution space Decision = best option Best, with respect to some criterion Jansen, A.; Bosch, J., "Software Architecture as a Set of Architectural Design Decisions," Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP Conference on , vol., no., pp.109,120, 2005. doi: 10.1109/WICSA.2005.61
  • 25. 26 But, which is the right abstraction!?!
  • 27. “The practices of recording software, system and enterprise architectures so that architectures can be understood, documented, an alysed and realized.” ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural Description, 2011
  • 28. 29 and, which is the right architecture!?!
  • 29. 30 the right architecture… The one that satisfies at best the requirements and constraints The “less” risky one C2 Ideas Software Architecture synthesis Architectural constraints and requirements Constraints Req1:.. Req2:.. Req3:.. ……… Architectural requirements Evaluation and Decisions making C3 C1 C4 Software Architecture
  • 30. 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
  • 31.
  • 33. ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural Description, 2011
  • 34. RUP 4+1 views Logical View Implementation (Development) View Object Model of Design Static Organization of the Software End-user Functionality Programmers Software management Use Case View Process View Concurrency and Synchronization System integrators Performance Scalability Throughput Conceptual Deployment View System engineering System topology Delivery, installation Communication Software Mapping To Hw Physical
  • 35. 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)
  • 36. 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
  • 37. The Classical Style The Californian Style
  • 39. Why to care? All the software systems have an architecture  All the critical/complex systems must have it carefully and explicitly specified Architecture-level decisions impact the scalability, performance, testability, functioning of the produced system Even if the code is perfectly written, a wrong architecture produces a wrong system
  • 40. Why to care? A wrong architecture produces a wrong system   Electronic Voting Systems Bad architecting of FT software:  Tens of thousands of people around the large cities weren’t able to travel by train Thursday morning. No trains from and to Amsterdam and Airport Schiphol from early morning until after the morning rush hour. A failure in the back-up system was the cause. The system therefore didn’t start. And then the signals and switches could not be operated. Both primary and backup failed, hence no operations. (april 2012)  the Interim Report on Causes of the August 14th 2003 Blackout in the US and Canada clearly shows that the problem was mostly caused by badly designed fault tolerance, including various architectural issues: poor diagnostics of component failures, longer-than-estimated time for component recovery, failure to involve all necessary components in recovery, inconsistent system state after recovery, failures of alarm systems. (2003)  Denver Airport
  • 42. A bad architecture can imply a spaghetti code system
  • 43. 44 Perry, D. E.; Wolf, A. L. (1992). "Foundations for the study of software architecture". ACM SIGSOFT Software Engineering Notes 17 (4): 40.doi:10.1145/141874.141884. Garlan & Shaw (1994). "An Introduction to Software Architecture". Retrieved 2012-09-13. ISO/IEC/IEEE (2011). "ISO/IEC/IEEE 42010:2011 Systems and software engineering -- Architecture description". Retrieved 2012-09-12. Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50. Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, Third Edition. Addison Wesley, 2012, ISBN 0-321-81573-4 (This book, now in third edition, eloquently covers the fundamental concepts of the discipline. The theme is centered around achieving quality attributes of a system.)