SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Ivano Malavolta
ARCHITECTURAL
LANGUAGES
VRIJE
UNIVERSITEIT
AMSTERDAM
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...
A return…
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…
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
http://www.di.univaq.it/malavolta/al/
100+ ALs
(better to say, languages that consider themselves to be ALs)
What this lecture means to you?
Software architecture
what is essential about the system
w.r.t. some specific concern
Readings
1. Bagheri, Hamid, et al. "Software architectural principles in
contemporary mobile software: from conception to practice." Journal
of Systems and Software 119 (2016): 31-44.
2. 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.
References
Acknowledgement
Some contents of this part of lecture extracted from Henry Muccini’s
lecture on architectural languages at the University of L’Aquila (Italy)
Contact
Ivano Malavolta |
Assistant professor
Vrije Universiteit Amsterdam
iivanoo
i.malavolta@vu.nl
www.ivanomalavolta.com

Contenu connexe

Tendances

Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIvano Malavolta
 
AADL Overview: Brief and Pointless
AADL Overview: Brief and PointlessAADL Overview: Brief and Pointless
AADL Overview: Brief and PointlessIvan Ruchkin
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigmsIvano Malavolta
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms Ivano Malavolta
 
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...Luca Berardinelli
 
Architecture Description Languages: An Overview
Architecture Description Languages: An OverviewArchitecture Description Languages: An Overview
Architecture Description Languages: An Overviewelliando dias
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
Architecture Description Languages
Architecture Description LanguagesArchitecture Description Languages
Architecture Description LanguagesHenry Muccini
 
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
 
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
 
Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)Xi Qiu
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queriesIstvan Rath
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

Tendances (20)

Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGES
 
AADL Overview: Brief and Pointless
AADL Overview: Brief and PointlessAADL Overview: Brief and Pointless
AADL Overview: Brief and Pointless
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms
 
[2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms [2016/2017] Modern development paradigms
[2016/2017] Modern development paradigms
 
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
 
Architecture Description Languages: An Overview
Architecture Description Languages: An OverviewArchitecture Description Languages: An Overview
Architecture Description Languages: An Overview
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Architecture Description Languages
Architecture Description LanguagesArchitecture Description Languages
Architecture Description Languages
 
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
 
EC302-Introduction
EC302-IntroductionEC302-Introduction
EC302-Introduction
 
MexADL
MexADLMexADL
MexADL
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
CIO EC302
CIO EC302CIO EC302
CIO EC302
 
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...
 
Introduction to SysML af Finn Overgaard Hansen, AU
Introduction to SysML af Finn Overgaard Hansen, AUIntroduction to SysML af Finn Overgaard Hansen, AU
Introduction to SysML af Finn Overgaard Hansen, AU
 
Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queries
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 

En vedette

Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...Ivano Malavolta
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineeringIvano Malavolta
 
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
Object-oriented design patterns  in UML [Software Modeling] [Computer Science...Object-oriented design patterns  in UML [Software Modeling] [Computer Science...
Object-oriented design patterns in UML [Software Modeling] [Computer Science...Ivano Malavolta
 
Mission planning of autonomous quadrotors
Mission planning of autonomous quadrotorsMission planning of autonomous quadrotors
Mission planning of autonomous quadrotorsIvano Malavolta
 
Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Ivano Malavolta
 
The Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesThe Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesIvano Malavolta
 
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...Ivano Malavolta
 
The Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect sizeThe Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect sizeIvano Malavolta
 
AADL Module Analysis by means of Graphical Representation
AADL Module Analysis by means of Graphical RepresentationAADL Module Analysis by means of Graphical Representation
AADL Module Analysis by means of Graphical RepresentationIosif Itkin
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsSpace Codesign
 
Giving a great user experience in a mobile app
Giving a great user experience in a mobile appGiving a great user experience in a mobile app
Giving a great user experience in a mobile appmattanderson496
 
Google Analytic for Mobile Applications
Google Analytic for Mobile ApplicationsGoogle Analytic for Mobile Applications
Google Analytic for Mobile ApplicationsRajith Rajan
 
Evaluating Mobile Usability Guidelines: Mobile Usability Guidelines
Evaluating Mobile Usability Guidelines: Mobile Usability GuidelinesEvaluating Mobile Usability Guidelines: Mobile Usability Guidelines
Evaluating Mobile Usability Guidelines: Mobile Usability GuidelinesElementive
 
Mobile Usability Testing
Mobile Usability TestingMobile Usability Testing
Mobile Usability TestingGeneXus
 
Usabilidad en Dispositivos Móviles (UNSIS 2014)
Usabilidad en Dispositivos Móviles (UNSIS 2014)Usabilidad en Dispositivos Móviles (UNSIS 2014)
Usabilidad en Dispositivos Móviles (UNSIS 2014)Mario A Moreno Rocha
 
Mobile App Analytics
Mobile App AnalyticsMobile App Analytics
Mobile App Analyticspragativbora
 
Presentacion Taller Usabilidad / UX
Presentacion Taller Usabilidad / UX Presentacion Taller Usabilidad / UX
Presentacion Taller Usabilidad / UX Mario A Moreno Rocha
 
Web analytics como herramienta de Diseño
Web analytics como herramienta de DiseñoWeb analytics como herramienta de Diseño
Web analytics como herramienta de DiseñoSol Mesz
 

En vedette (20)

Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...Modeling behaviour via  UML state machines [Software Modeling] [Computer Scie...
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...
 
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...Modeling objects interaction via UML sequence diagrams  [Software Modeling] [...
Modeling objects interaction via UML sequence diagrams [Software Modeling] [...
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering
 
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
Structure modeling with UML [Software Modeling] [Computer Science] [Vrije Uni...
 
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
Object-oriented design patterns  in UML [Software Modeling] [Computer Science...Object-oriented design patterns  in UML [Software Modeling] [Computer Science...
Object-oriented design patterns in UML [Software Modeling] [Computer Science...
 
Mission planning of autonomous quadrotors
Mission planning of autonomous quadrotorsMission planning of autonomous quadrotors
Mission planning of autonomous quadrotors
 
Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...Modeling and abstraction, software development process [Software Modeling] [C...
Modeling and abstraction, software development process [Software Modeling] [C...
 
The Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesThe Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challenges
 
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
Requirements engineering with UML [Software Modeling] [Computer Science] [Vri...
 
The Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect sizeThe Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect size
 
AADL Module Analysis by means of Graphical Representation
AADL Module Analysis by means of Graphical RepresentationAADL Module Analysis by means of Graphical Representation
AADL Module Analysis by means of Graphical Representation
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL Models
 
Giving a great user experience in a mobile app
Giving a great user experience in a mobile appGiving a great user experience in a mobile app
Giving a great user experience in a mobile app
 
Google Analytic for Mobile Applications
Google Analytic for Mobile ApplicationsGoogle Analytic for Mobile Applications
Google Analytic for Mobile Applications
 
Evaluating Mobile Usability Guidelines: Mobile Usability Guidelines
Evaluating Mobile Usability Guidelines: Mobile Usability GuidelinesEvaluating Mobile Usability Guidelines: Mobile Usability Guidelines
Evaluating Mobile Usability Guidelines: Mobile Usability Guidelines
 
Mobile Usability Testing
Mobile Usability TestingMobile Usability Testing
Mobile Usability Testing
 
Usabilidad en Dispositivos Móviles (UNSIS 2014)
Usabilidad en Dispositivos Móviles (UNSIS 2014)Usabilidad en Dispositivos Móviles (UNSIS 2014)
Usabilidad en Dispositivos Móviles (UNSIS 2014)
 
Mobile App Analytics
Mobile App AnalyticsMobile App Analytics
Mobile App Analytics
 
Presentacion Taller Usabilidad / UX
Presentacion Taller Usabilidad / UX Presentacion Taller Usabilidad / UX
Presentacion Taller Usabilidad / UX
 
Web analytics como herramienta de Diseño
Web analytics como herramienta de DiseñoWeb analytics como herramienta de Diseño
Web analytics como herramienta de Diseño
 

Similaire à [2016/2017] Architectural languages

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
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisiMarco Lisi
 
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 GreavesSatya Harish
 
[ 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
 
Koala component model (1)
Koala component model (1)Koala component model (1)
Koala component model (1)Saransh Garg
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
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
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture StylesHenry Muccini
 
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...Nic Plum
 
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
 
Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...
Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...
Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...OPEN DEI
 
Advantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdfAdvantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdfakshay1213
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case eProsima
 
Presentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemCPresentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemCMukit Ahmed Chowdhury
 

Similaire à [2016/2017] Architectural languages (20)

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
 
Presentation
PresentationPresentation
Presentation
 
Interface management incose2014_lisi
Interface management incose2014_lisiInterface management incose2014_lisi
Interface management incose2014_lisi
 
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
 
[ 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...
 
Clean sw 3_architecture
Clean sw 3_architectureClean sw 3_architecture
Clean sw 3_architecture
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Koala component model (1)
Koala component model (1)Koala component model (1)
Koala component model (1)
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
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
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture Styles
 
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
 
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)
 
Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...
Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...
Accelerating the Digital Transformation – Building a 3D IoT Reference Archite...
 
Advantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdfAdvantages of UML1) The UML can be used to model just on any type .pdf
Advantages of UML1) The UML can be used to model just on any type .pdf
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
 
Presentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemCPresentation on Behavioral Synthesis & SystemC
Presentation on Behavioral Synthesis & SystemC
 

Plus de 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
 
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] 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
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reportingIvano Malavolta
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validityIvano Malavolta
 

Plus de 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...
 
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] 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
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reporting
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validity
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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 BusinessPixlogix Infotech
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 Scriptwesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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 Processorsdebabhi2
 

Dernier (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 

[2016/2017] Architectural languages

  • 2. Historical View 25+ years back I have to share with architects the architecture solution I have in mind. What shall I use? software architect
  • 3. 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)
  • 5. 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.
  • 6. 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)
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. C2 composition rules 5. Components can communicate only through connectors Comp1 Comp2 NOT Permitted Permitted: Following rule 4
  • 15. 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...
  • 18. 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
  • 19. 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
  • 20. UML 2.0 • De facto standard software design language – Developed by OMG • A “Swiss Army Knife” of notations • Has a number of architectural constructs
  • 21. UML 2.0 Reasonably applicable to software architectures…
  • 22. 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
  • 23. 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
  • 24. AADL model Ivano Malavolta, Henry Muccini, Patrizio Pelliccione: Integrating AADL within a Multi-domain Modeling Framework. ICECCS 2009: 341-346
  • 25. 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
  • 26. Koala model provides interface required interface Component type definition Component instances subcomponent module switch interface
  • 28. 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
  • 29. Today http://www.di.univaq.it/malavolta/al/ 100+ ALs (better to say, languages that consider themselves to be ALs)
  • 30. What this lecture means to you? Software architecture what is essential about the system w.r.t. some specific concern
  • 31. Readings 1. Bagheri, Hamid, et al. "Software architectural principles in contemporary mobile software: from conception to practice." Journal of Systems and Software 119 (2016): 31-44. 2. 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.
  • 33. Acknowledgement Some contents of this part of lecture extracted from Henry Muccini’s lecture on architectural languages at the University of L’Aquila (Italy)
  • 34. Contact Ivano Malavolta | Assistant professor Vrije Universiteit Amsterdam iivanoo i.malavolta@vu.nl www.ivanomalavolta.com