SlideShare a Scribd company logo
1 of 46
Download to read offline
Ivano Malavolta
ARCHITECTURAL
LANGUAGES
Roadmap
Architectural languages
Open research challenges
Some contents of this part of lecture extracted from Henry Muccini’s lecture on
architecturallanguages at the University of L’Aquila (Italy)
Architectural languages
Historical View
25+ years back
I have to share with
architects the
architecture
solution I have in
mind.
What shall I use?
software architect
Historical View
But architecting makes
sense if we can run some
automated
analysis (and more)!academia
“Aside from providing clear and precise
documentation, the primary purpose of
specifications is to provide automated
analysis of the document and to expose
various kinds of problems that would
otherwise go undetected” (PW1992)
“Fourth, an architectural system
representation is often essential
to the analysis and description of
the highl-level properties of a
complex system” (GS1994)
Historical View
core
concerns
Comp&
Con
Spec
Interco
nnectio
n
Compo
sition
Abstracti
on
Reusabil
ity
Configur
ation
Hetero
geneity
Analysi
s
Components and connectors
Distribution and configuration
Expected behaviour
Patterns, styles
HW/SW Deployment
1st generation ALs
Darwin FSP
ACME
Rapide
Wright
ACME
1st generation ALs
Support components and connectors specification, their overall
interconnection, composition, abstraction, reusability, configuration,
heterogeneity, and analysis.
Examples of 1st generation ALs
Nenad Medvidovic, Eric M. Dashofy, Richard N. Taylor: Moving
architectural description from under the technology lamppost.
Information & Software Technology 49(1): 12-31 (2007)
Basic example: C2
Designed for systems that have a GUI
• component-based
– written in any programming language
– easily reused and substituted
• scalability
– no assumption about how components communicate
– components may be running in a distributed, heterogeneous
environment
• flexibility
– architectures may be changed dynamically
The C2 communication rules
• The communication between components and
connectors is achieved solely exchanging messages
• The communication is based on notifications and
requests
• Both component top domain and bottom domain can
notify or request messages
Comp1
Comp2
Top
Top
Bottom
Bottom Comp1 receives a request
Comp1 sends a request
Comp2 receives a request Comp2 sends a notification
Comp1 receives a notification
Comp1 sends a notification
Requests Notifications
C2 composition rules
1. The top of a component may be connected to the
bottom of a single connector
Comp1 NOT Permitted
Comp1
Connector Bottom
Connector Top
Permitted
C2 composition rules
2. The bottom of a component may be connected to
the top of a single connector.
Comp1
NOT Permitted
Comp1
Connector Bottom
Connector Top
Permitted
C2 composition rules
3. There is no bound on the number of components or
connectors that may be attached to a single
connector.
Comp1 Comp2 Comp3
Permitted
C2 composition rules
4. When two connectors are attached to each other, it
must be from the bottom of one to the top of the
other.
Connector Bottom
Connector Top
Connector Bottom
Connector Top
Connector Bottom
Connector Top
Permitted
Connector Bottom
Connector Top
Connector Bottom
Connector Top
NOT Permitted
C2 composition rules
5. Components can communicate only through
connectors
Comp1
Comp2
NOT Permitted
Permitted:
Following rule 4
Example: elevator system
ElevatorADT1
ElevatorPanel1
Scheduler
BuildingPanel
ElevatorADT2
ElevatorPanel2
ElevatorSynchronizer
ElevatorADT1
ElevatorPanel1
Scheduler
BuildingPanel
ElevatorADT2
ElevatorPanel2
ElevatorSynchronizer
C2 connector
C2 component
request
notification
comm. channel
Issues of 1st generation ALs
• Focus exclusively on technology
• The broader context was completely missing
– Relation to system requirements
– Constraints imposed by implementation platforms
– Characteristics of application domains
– Organizational structure and politics
• Often targeted at research environments
– Awkward syntax and/or semantics
– Modeling rigidity
• Inadequate tool support
• UML
– Video killed the radio star...
Historical View
core
concerns
Config.
managem
ent
Distributi
on
Product
lines
Styles
Different
domains
…
…
2nd generation ALs
UML 2.0
AADL
Koala xADL 2.0
ACME
2nd generation ALs
Modeling support for: configuration management, distribution, and
product lines. Structural specifications integrated with behavior with
the introduction of many formalisms such as pre- and post-
conditions, process algebras, statecharts, POSets, CSP, π-calculus
Examples of 2nd generation ALs
Nenad Medvidovic, Eric M. Dashofy, Richard N. Taylor: Moving
architectural description from under the technology lamppost.
Information & Software Technology 49(1): 12-31 (2007)
• UML 2.0 ß UML 1.x
• AADL ß MetaH
– we will have a dedicated lecture about it
• Koala ß Darwin ß Conic
UML 2.0
• De facto standard software design language
– Developed by OMG
• A “Swiss Army Knife” of notations
• Has a number of architectural constructs
UML 2.0
Reasonably applicable to software architectures…
https://code.google.com/p/staff/wiki/SoaApplicationStruct
But…
• Meaningful Modeling:What’s the Semantics of “Semantics”? http://goo.gl/mbTloA
[HarelRumpe04]
“In its current form, the Object Management Group’s documents do not offer a
rigorous definition of UML’s true semantics, not
even of the semantic domain.Rather, they concentrate on the abstract
syntax, intermixed with informal natural language discussions of what the semantics should be.
These discussions certainly contain much interesting information on the semantics, but they are a
far cry from what developers, as well as tool vendors, really need. As recent research shows, they
still lack many clarifying details and contain many inconsistencies. ”
• The State of Practice in Model-Driven Engineering http://goo.gl/h5YRtv [WHR14]
“UML 2.0, for example, a major revision of the UML standard, didn’t reflect the literature on
empirical studies of software modeling or software design studies. Consequently, current
approaches force developers and organizations to
operate in a way that fits the approach instead of
making the approach fit the people.”
Less formal and much more
ambiguous than existing ALs
AADL
• Architecture Analysis and Design Language
• Primarily textual
• Very detailed
– An AADL component runs on a processor, which runs one or more
processes, each of which contains one or more threads of control,
all of which can receive instructions through in ports and send data
through out ports over a bus...
• Primary focus – real-time embedded systems
AADL model
Ivano Malavolta, Henry Muccini, Patrizio Pelliccione: Integrating AADL
within a Multi-domain Modeling Framework. ICECCS 2009: 341-346
Koala
• Developed at Philips
– in collaboration with Imperial College London
• Used in the consumer electronics domain
– allows to specify hierarchical architectures
– makes a distinction between component types and instances
– allows to construct configurations by instantiating components and
connectors and explicitly models optional interfaces
• Both graphical and textual
• Primary focus – management of product populations
– Modeling
– Analysis
– Implementation generation
– Deployment
Koala
model provides
interface
required
interface
Component type definition
Component instances
subcomponent
module switch
interface
Real Koala model
From a different perspective…
Formal
Pro:
.formal semantics
.computable
Cons:
.difficult to learn
.general lack of
industry-ready tools
UML-based
Pro:
.trained people
.same notation for SA
and design modeling
Cons:
.not a 100% fit
.complexity
Informal
Pro:
.of immediate use
.perfect for sketching
.communicative
Cons:
.Ambiguous
.not automated
Today
AL Name
AADL
ABC/ADL
ACME
ADAGE
ADLARS
ADML
AESOP
ArchJava
ArchWare
ArchiTRIO
ARTECH
C2
C2 AML
C2 SADEL
CommUnity
DAOP ADL
DARWIN
DICAM
EAST ADL
EXPRESSION
GEN VOCA
HMDES
ISDL
JACAL
KOALA
LILEANNA
AL Name
LISA
LITTLE JIL
MAE
MADL
MAFIIA
MAUDE
M(énage / xADL
META H
MIMOLA
MODE CHART
PALANTIR
PRISMA
RADL
RAPIDE
RESOLVE
SADL
SATURN
SKWYRL
UDL/i
UNICON
WEAVES
WRIGHT
WSDL
xArch / xAcme
xArch / xADL
xC2
100+ ALs
(better to say, languages that consider themselves to be ALs)
100+ ALs?
http://www.di.univaq.it/malavolta/al/
Why So Many ALs?
There are many reasons for having many ALs:
• Different ALs for different “stakeholder concerns”
– Different domains
– Different analysis
– Different viewpoints
• Some of them are really similar, with just small semantic or
syntactic differences
– Many are just prototipal languages, research-specific
Issues (1/2)
Proliferation of languages for (SA) description
§ without a clear understanding of their merits and limitations
Tens of ALs, characterized by slightly different conceptual
architectural elements, different syntax, or semantics
§ Focussing on a generic or a specific operational domain
Issues (2/2)
An IDEAL and general purpose AL is NOT likely to exist
§ Stakeholder concerns are various, ever evolving, and adapting to
changing system requirements
§ Difficult to capture all such concerns with a single, narrowly
focused notation.
Architectural languages must be able to focus on what is
needed by the stakeholders involved in the architecting
process
Open research challenges
on software architecture
Open research challenges
• Reconciling SA for analysis and communication
– how to manage formal specifications that can be also used for
communication?
Documents for
communications
Analytic artifactsvs
First prototype…
Software
architects
continuous
alignment
Wiki-based
knowledge
base
m1 m2
mn
access and
record AKs
reason on the
architecture design
create, access,
and tune
models
...
Open research challenges
• Flexible architectural frameworks
– support for combining different views, viewpoints, languages, etc.
Architectural Assets
Repository
Viewpoints
Stakeholders
Model Kinds
System Concerns Architectural languages
Correspondences
Architecture
Description
B
Architecture
Description
C
Architecture
Description
A
Architecture
Framework
Open research challenges
• Traceability between requirements, design decisions, and
architecture
Other main research challenges
• Fluid architectures
• for example, think about robot teams working together
– support (self-) adaptation and changes
– trade-off with qualities (e.g., safety and performance)
• End-user architecting
– in the future end-users will assemble components at wish
– which architectural environment to show them?
• Example: Yahoo! Pipes
– Task oriented interfaces?
• Example: FLYAQ (http://www.flyaq.it)
What this lecture means to you?
Software Architecture
what is essential about the system
w.r.t. some specific concern
Why software architecture?
Components and connectors
Distribution and configuration
Expected behaviour
Patterns, styles
HW/SW Deployment
Extra-functional properties
scalability, performance, testability,
security
Modern software architecture
Focus on views and viewpoints
looking at stakeholders and their concerns
Suggested readings
1. Patricia Lago, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione,
Antony Tang (2013). What Industry Needs from Architectural
Languages: A Survey. IEEE Transactions on Software Engineering,
39(6), pp. 869-891.
2. ISO/IEC/IEEE (2011). "ISO/IEC/IEEE 42010:2011 Systems and software
engineering -- Architecture description". Retrieved 2012-09-12.
3. Kruchten, Philippe (1995, November). Architectural Blueprints — The
“4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-
50.
4. Ivano Malavolta (2012). Software Architecture Modeling by Reuse,
Composition and Customization. PhD Thesis. University of L'Aquila,
Computer Science Department. http://goo.gl/iZEVbH
References
Contact
Ivano Malavolta |
Post-doc researcher
Gran Sasso Science Institute
iivanoo
ivano.malavolta@gssi.infn.it
www.ivanomalavolta.com

More Related Content

What's hot

Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
 
Model Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLModel Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLelliando dias
 
Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesHenry Muccini
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with MeaningEd Seidewitz
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETWaqas Tariq
 
Code Generation 2014 - ALF, the Standard Programming Language for UML
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UMLJürgen Mutschall
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfEd Seidewitz
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Ed Seidewitz
 
Software Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsJose Emilio Labra Gayo
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
Software Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularitySoftware Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularityJose Emilio Labra Gayo
 
ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)kvsrteja
 
Aspect-Oriented Programming and Depedency Injection
Aspect-Oriented Programming and Depedency InjectionAspect-Oriented Programming and Depedency Injection
Aspect-Oriented Programming and Depedency InjectionRobert Lemke
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with GitIvano Malavolta
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Architecture: where do you start?
 Architecture: where do you start? Architecture: where do you start?
Architecture: where do you start?Skills Matter
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!Ed Seidewitz
 

What's hot (20)

Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodels
 
Model Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLModel Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UML
 
MDA with Executable UML
MDA with Executable UMLMDA with Executable UML
MDA with Executable UML
 
Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description Languages
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with Meaning
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NET
 
Code Generation 2014 - ALF, the Standard Programming Language for UML
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UML
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and Alf
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Software Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & Connectors
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Software Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularitySoftware Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularity
 
ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)
 
Aspect-Oriented Programming and Depedency Injection
Aspect-Oriented Programming and Depedency InjectionAspect-Oriented Programming and Depedency Injection
Aspect-Oriented Programming and Depedency Injection
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Architecture: where do you start?
 Architecture: where do you start? Architecture: where do you start?
Architecture: where do you start?
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!
 

Viewers also liked

Principal of architecture
Principal of architecturePrincipal of architecture
Principal of architecturermeena99
 
Emphasis : Principles of design
Emphasis : Principles of designEmphasis : Principles of design
Emphasis : Principles of designNiranjana Madan
 
Unity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & Rhythm
Unity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & RhythmUnity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & Rhythm
Unity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & Rhythmtanyalangford
 
Greek and Roman Architecture
Greek and Roman ArchitectureGreek and Roman Architecture
Greek and Roman ArchitectureOwl Black
 
Greek Art and Architecture
Greek Art and ArchitectureGreek Art and Architecture
Greek Art and ArchitectureGreg Sill
 
Industrial Revolution Powerpoint
Industrial Revolution PowerpointIndustrial Revolution Powerpoint
Industrial Revolution Powerpointtheironegoodson
 

Viewers also liked (6)

Principal of architecture
Principal of architecturePrincipal of architecture
Principal of architecture
 
Emphasis : Principles of design
Emphasis : Principles of designEmphasis : Principles of design
Emphasis : Principles of design
 
Unity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & Rhythm
Unity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & RhythmUnity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & Rhythm
Unity, Balance, Scale & Proportion, Contrast, Emphasis & Repetition & Rhythm
 
Greek and Roman Architecture
Greek and Roman ArchitectureGreek and Roman Architecture
Greek and Roman Architecture
 
Greek Art and Architecture
Greek Art and ArchitectureGreek Art and Architecture
Greek Art and Architecture
 
Industrial Revolution Powerpoint
Industrial Revolution PowerpointIndustrial Revolution Powerpoint
Industrial Revolution Powerpoint
 

Similar to [2015/2016] Architectural languages

[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
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_nov2013Henry Muccini
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...Aman Mishra
 
[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...
[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...
[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...Obeo
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Henry 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
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
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
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System AnalysisLaura Torres
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Henry Muccini
 
Technical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfTechnical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfSakthivelPeriyasamy6
 
Uml introduction
Uml introductionUml introduction
Uml introductionbdemchak
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisiMarco Lisi
 
INCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion Paper
INCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion PaperINCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion Paper
INCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion PaperNic Plum
 
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARERESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWAREcscpconf
 

Similar to [2015/2016] Architectural languages (20)

[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
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)
 
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
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...
 
[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...
[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...
[ Capella Day 2019 ] Augmenting requirements with models to improve the artic...
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 
ALT
ALTALT
ALT
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
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
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
 
Technical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfTechnical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdf
 
Uml introduction
Uml introductionUml introduction
Uml introduction
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisi
 
INCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion Paper
INCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion PaperINCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion Paper
INCOSE ASEC 2010. Human Factors - On the Right TRAK? Companion Paper
 
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARERESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
 

More from Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionIvano Malavolta
 

More from Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perception
 

Recently uploaded

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

[2015/2016] Architectural languages

  • 3. Some contents of this part of lecture extracted from Henry Muccini’s lecture on architecturallanguages at the University of L’Aquila (Italy) Architectural languages
  • 4. Historical View 25+ years back I have to share with architects the architecture solution I have in mind. What shall I use? software architect
  • 5. Historical View But architecting makes sense if we can run some automated analysis (and more)!academia “Aside from providing clear and precise documentation, the primary purpose of specifications is to provide automated analysis of the document and to expose various kinds of problems that would otherwise go undetected” (PW1992) “Fourth, an architectural system representation is often essential to the analysis and description of the highl-level properties of a complex system” (GS1994)
  • 7. 1st generation ALs Darwin FSP ACME Rapide Wright ACME 1st generation ALs Support components and connectors specification, their overall interconnection, composition, abstraction, reusability, configuration, heterogeneity, and analysis.
  • 8. Examples of 1st generation ALs Nenad Medvidovic, Eric M. Dashofy, Richard N. Taylor: Moving architectural description from under the technology lamppost. Information & Software Technology 49(1): 12-31 (2007)
  • 9. Basic example: C2 Designed for systems that have a GUI • component-based – written in any programming language – easily reused and substituted • scalability – no assumption about how components communicate – components may be running in a distributed, heterogeneous environment • flexibility – architectures may be changed dynamically
  • 10. The C2 communication rules • The communication between components and connectors is achieved solely exchanging messages • The communication is based on notifications and requests • Both component top domain and bottom domain can notify or request messages Comp1 Comp2 Top Top Bottom Bottom Comp1 receives a request Comp1 sends a request Comp2 receives a request Comp2 sends a notification Comp1 receives a notification Comp1 sends a notification Requests Notifications
  • 11. C2 composition rules 1. The top of a component may be connected to the bottom of a single connector Comp1 NOT Permitted Comp1 Connector Bottom Connector Top Permitted
  • 12. C2 composition rules 2. The bottom of a component may be connected to the top of a single connector. Comp1 NOT Permitted Comp1 Connector Bottom Connector Top Permitted
  • 13. C2 composition rules 3. There is no bound on the number of components or connectors that may be attached to a single connector. Comp1 Comp2 Comp3 Permitted
  • 14. C2 composition rules 4. When two connectors are attached to each other, it must be from the bottom of one to the top of the other. Connector Bottom Connector Top Connector Bottom Connector Top Connector Bottom Connector Top Permitted Connector Bottom Connector Top Connector Bottom Connector Top NOT Permitted
  • 15. C2 composition rules 5. Components can communicate only through connectors Comp1 Comp2 NOT Permitted Permitted: Following rule 4
  • 17. Issues of 1st generation ALs • Focus exclusively on technology • The broader context was completely missing – Relation to system requirements – Constraints imposed by implementation platforms – Characteristics of application domains – Organizational structure and politics • Often targeted at research environments – Awkward syntax and/or semantics – Modeling rigidity • Inadequate tool support • UML – Video killed the radio star...
  • 19. 2nd generation ALs UML 2.0 AADL Koala xADL 2.0 ACME 2nd generation ALs Modeling support for: configuration management, distribution, and product lines. Structural specifications integrated with behavior with the introduction of many formalisms such as pre- and post- conditions, process algebras, statecharts, POSets, CSP, π-calculus
  • 20. Examples of 2nd generation ALs Nenad Medvidovic, Eric M. Dashofy, Richard N. Taylor: Moving architectural description from under the technology lamppost. Information & Software Technology 49(1): 12-31 (2007) • UML 2.0 ß UML 1.x • AADL ß MetaH – we will have a dedicated lecture about it • Koala ß Darwin ß Conic
  • 21. UML 2.0 • De facto standard software design language – Developed by OMG • A “Swiss Army Knife” of notations • Has a number of architectural constructs
  • 22. UML 2.0 Reasonably applicable to software architectures… https://code.google.com/p/staff/wiki/SoaApplicationStruct
  • 23. But… • Meaningful Modeling:What’s the Semantics of “Semantics”? http://goo.gl/mbTloA [HarelRumpe04] “In its current form, the Object Management Group’s documents do not offer a rigorous definition of UML’s true semantics, not even of the semantic domain.Rather, they concentrate on the abstract syntax, intermixed with informal natural language discussions of what the semantics should be. These discussions certainly contain much interesting information on the semantics, but they are a far cry from what developers, as well as tool vendors, really need. As recent research shows, they still lack many clarifying details and contain many inconsistencies. ” • The State of Practice in Model-Driven Engineering http://goo.gl/h5YRtv [WHR14] “UML 2.0, for example, a major revision of the UML standard, didn’t reflect the literature on empirical studies of software modeling or software design studies. Consequently, current approaches force developers and organizations to operate in a way that fits the approach instead of making the approach fit the people.” Less formal and much more ambiguous than existing ALs
  • 24. AADL • Architecture Analysis and Design Language • Primarily textual • Very detailed – An AADL component runs on a processor, which runs one or more processes, each of which contains one or more threads of control, all of which can receive instructions through in ports and send data through out ports over a bus... • Primary focus – real-time embedded systems
  • 25. AADL model Ivano Malavolta, Henry Muccini, Patrizio Pelliccione: Integrating AADL within a Multi-domain Modeling Framework. ICECCS 2009: 341-346
  • 26. Koala • Developed at Philips – in collaboration with Imperial College London • Used in the consumer electronics domain – allows to specify hierarchical architectures – makes a distinction between component types and instances – allows to construct configurations by instantiating components and connectors and explicitly models optional interfaces • Both graphical and textual • Primary focus – management of product populations – Modeling – Analysis – Implementation generation – Deployment
  • 27. Koala model provides interface required interface Component type definition Component instances subcomponent module switch interface
  • 29. From a different perspective… Formal Pro: .formal semantics .computable Cons: .difficult to learn .general lack of industry-ready tools UML-based Pro: .trained people .same notation for SA and design modeling Cons: .not a 100% fit .complexity Informal Pro: .of immediate use .perfect for sketching .communicative Cons: .Ambiguous .not automated
  • 30. Today AL Name AADL ABC/ADL ACME ADAGE ADLARS ADML AESOP ArchJava ArchWare ArchiTRIO ARTECH C2 C2 AML C2 SADEL CommUnity DAOP ADL DARWIN DICAM EAST ADL EXPRESSION GEN VOCA HMDES ISDL JACAL KOALA LILEANNA AL Name LISA LITTLE JIL MAE MADL MAFIIA MAUDE M(énage / xADL META H MIMOLA MODE CHART PALANTIR PRISMA RADL RAPIDE RESOLVE SADL SATURN SKWYRL UDL/i UNICON WEAVES WRIGHT WSDL xArch / xAcme xArch / xADL xC2 100+ ALs (better to say, languages that consider themselves to be ALs)
  • 32. Why So Many ALs? There are many reasons for having many ALs: • Different ALs for different “stakeholder concerns” – Different domains – Different analysis – Different viewpoints • Some of them are really similar, with just small semantic or syntactic differences – Many are just prototipal languages, research-specific
  • 33. Issues (1/2) Proliferation of languages for (SA) description § without a clear understanding of their merits and limitations Tens of ALs, characterized by slightly different conceptual architectural elements, different syntax, or semantics § Focussing on a generic or a specific operational domain
  • 34. Issues (2/2) An IDEAL and general purpose AL is NOT likely to exist § Stakeholder concerns are various, ever evolving, and adapting to changing system requirements § Difficult to capture all such concerns with a single, narrowly focused notation. Architectural languages must be able to focus on what is needed by the stakeholders involved in the architecting process
  • 35. Open research challenges on software architecture
  • 36. Open research challenges • Reconciling SA for analysis and communication – how to manage formal specifications that can be also used for communication? Documents for communications Analytic artifactsvs
  • 37. First prototype… Software architects continuous alignment Wiki-based knowledge base m1 m2 mn access and record AKs reason on the architecture design create, access, and tune models ...
  • 38. Open research challenges • Flexible architectural frameworks – support for combining different views, viewpoints, languages, etc. Architectural Assets Repository Viewpoints Stakeholders Model Kinds System Concerns Architectural languages Correspondences Architecture Description B Architecture Description C Architecture Description A Architecture Framework
  • 39. Open research challenges • Traceability between requirements, design decisions, and architecture
  • 40. Other main research challenges • Fluid architectures • for example, think about robot teams working together – support (self-) adaptation and changes – trade-off with qualities (e.g., safety and performance) • End-user architecting – in the future end-users will assemble components at wish – which architectural environment to show them? • Example: Yahoo! Pipes – Task oriented interfaces? • Example: FLYAQ (http://www.flyaq.it)
  • 41. What this lecture means to you? Software Architecture what is essential about the system w.r.t. some specific concern
  • 42. Why software architecture? Components and connectors Distribution and configuration Expected behaviour Patterns, styles HW/SW Deployment Extra-functional properties scalability, performance, testability, security
  • 43. Modern software architecture Focus on views and viewpoints looking at stakeholders and their concerns
  • 44. Suggested readings 1. Patricia Lago, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, Antony Tang (2013). What Industry Needs from Architectural Languages: A Survey. IEEE Transactions on Software Engineering, 39(6), pp. 869-891. 2. ISO/IEC/IEEE (2011). "ISO/IEC/IEEE 42010:2011 Systems and software engineering -- Architecture description". Retrieved 2012-09-12. 3. Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42- 50. 4. Ivano Malavolta (2012). Software Architecture Modeling by Reuse, Composition and Customization. PhD Thesis. University of L'Aquila, Computer Science Department. http://goo.gl/iZEVbH
  • 46. Contact Ivano Malavolta | Post-doc researcher Gran Sasso Science Institute iivanoo ivano.malavolta@gssi.infn.it www.ivanomalavolta.com