SlideShare a Scribd company logo
1 of 39
Download to read offline
The road ahead for architectural languages
Ivano Malavolta
Gran Sasso Science Institute, L’Aquila, Italy
Roadmap
What industry needs from ALs?
Requirements for next-generation ALs
MDE as technological enabler
Conclusions
What industry needs from ALs?
INDUSTRIAL NEEDS
ON ALS
RQ1: Whatare the
architecturaldescription
needs of practitioners?
RQ2: Whatfeatures typically
supported by existing ALs
are useful (or not useful) for
the software industry?
4
ANALYSIS (IS A NEED)
Is analysis perceived as a need when architectinga software
system?
63%
37%
10%
Need	for	analysis
yes
no
blank
ANALYSIS (IS A PRACTICE)
Did you analyse your architecturedescriptionproduced with the
AL?
(why you analyse: 48%for extra functional)
(why not: no value, ADLs too limited/imprecise,...)
74%
26%
Analysis
Yes
No
ANALYSIS (IS FOR EXTRA FUNCTIONAL)
48%
4%
8%
24%
12%
Kind	of	analyzed	properties
Extra-functional	 properties
Functional	 properties
HW/SW	integration
Behavior
No	info
ANALYSIS (IS STILL CHALLENGING)
35%
20%
45%
Level	of	satisfaction
Satisfied
Neutral
Not	 satisfied
(One interviewed practitioner)
DESIRABLE FEATURES
Requirements for next-generation ALs
FRAMEWORK OF AL REQUIREMENTS
LANGUAGE DEFINITION
A.1 - Support to specify extra functional properties
• e.g.,data flow analysis,run-time dependencies analysis,performance,
scalability, security, requirements and change impact analysis
A.2 - Well-defined semantics
• Provide a precise and unambiguoussemantics to the language
• It is an important enabler for analysisand other automatic tasks
A.3 – Support for graphical and textual specification
• Graphical representations can be used for knowledge sharing and
discussion
• Textual representations might be used by experts for rapidlybuilding a
model
LANGUAGE FEATURES
B.1 – Multiview management
• Each viewgives a different perspectiveon the same architecture, addressing
different concerns
• Integration of different views
• Consistency across the views
B.2 – Extensibility and customization
• To betterexpress domain- and project-specificconcepts and constraints
• For enabling additional analysis capabilities
B.3 – Programmingframework
• Homogeneous representation of architecturemodels that can be
programmaticallyaccessed via dedicated APIs
• Expose APIs to manage, create,and modify models belonging to different
abstractions (from requirements, to architecture, to code) in a coordinated way
• These facilities play a key rolein the integration into developmentprocesses
TOOL SUPPORT (1)
C.1 – Automated analysis
• Specially against non-functionalproperties
• Mask the complexity of the analysis engine in order to reduce the demand
of specific skills andcompetencies
C.2 – Support for architecture-centric design
• SAs should be used as a high-level compassfor guiding system
development and for maintenance
C.3 – Large views management
• Architecture descriptions may encompassseveral large heterogeneous
and interrelated views
• Information relevantfor a specific stakeholder may be scattered across
different views
TOOL SUPPORT (2)
C.4 – Support for collaboration
• Synchronouscollaboration for real-time co-modeling
• Asynchronouscollaborationin which each stakeholder can collaborate athis
own convenience and schedule; this comes at the cost of possible delays of
interaction
C.5– Supportfor versioning
• special emphasis on keeping track of the various versionsof architectural
models throughoutthe project duration
C.6 – Support for knowledgement
• Leverage knowledge sharing tools (e.g.,wikis, semantic wikis, etc.) to record
and discuss architectural design decisions and their rationale
• Connected to the well-known problem of architectural knowledge
vaporization
MDE as technological enabler
MDE AS TECHNOLOGICAL ENABLER
By applying the MDE principlesaying that
“models are precise artifactsthatcanbe understood by
computersand can be automaticallymanipulated”
MDE techniques can be used to satisfy the AL requirements with a
focus on automationand reuse
Language definitionA
Language featuresB
Tool supportC
MDE can be used to define precise and unambiguous ALs
Language definitionA
Support to specify extra-functional propertiesA.1
M2
M1
metamodel
model
context SoftwareArchitectureinv:
self.components−>collect(name)
−>asSet().size() = self.components.size()
WHY METAMODELLING?
Apart from classical benefits of modeling…
1. Precisely define languages in a way that allows us to use tools to
manipulatethem
2. Straightforward creation of well-formed models thatconform to the
concepts and logic expressed in the metamodel
it distinguishes models thatcan be loaded into an editor (e.g., an Eclipse
editor) from those thatcannot
3. Standard languages for transformingmodels into other artifacts
no parser development(in principle)
4. Enable traceability use cases
links between machine-processableartifacts to each other and to
external artifacts (ie those withoutmetamodels)
5. Enable straightforward model comparison
The metamodel defines the static semantics of an AL
Static semantics can be further constrained by usingconstraintlanguages, like:
• OCL – the Object Constraint Language proposed by OMG
• EVL – the Epsilon Validation Languageproposed by Epsilon
• Topcased OCL tools
MDE can providetools for giving behavioral semantics to an AL by mappingthe
structure of a languageonto a semantic domain (e.g., via model transformations)
Language definitionA
FormalsemanticsA.2
EXAMPLE
ProCom model à finite state machine formalismàUPPAAL
Aneta Vulgarakis,JagadishSuryadevara,Jan Carlson,Cristina Cerschi Seceleanu, PaulPettersson:
Formal Semanticsof the ProCom Real-Time ComponentModel.EUROMICRO-SEAA 2009: 478-485
MDE provides a setof engines for different kinds of editor, like:
graphical
Eclipse GMF
Epsilon Eugenia
Eclipse Graphiti
textual
xText
emfText
tree-based
default EMF generic editor
Epsilon Exeed
Thanks to the unification power of models, various levels of automation are
supported
Language definitionA
Support for graphical & textual specificationA.3
AADL
Reuseware CSDL
Eclipse BPMN2
MDE promotes the useof multipleviews linked together by means of suitable
relationships
Why linkingmodels together?
• Tool interoperability
• Transformation to analysis notations
• Linkingentities across models
• Traceability
• Model merging
• Model annotation
• …
Language mechanismsB
Multi-view managementB.1
Main MDE techniques:
• model weaving
• model transformation
(see req C.1)
MODEL WEAVING
Model weaving is a generic operationthat establishes fine-grained links
between model elements
In general a dedicated weaving model contains the set of links among
models
As any kind of model, a weaving model can be
saved, stored, transformed, generated, etc.
Image courtesyof Jordi Cabot
Epsilon ModeLink
MDE provides different techniques to manage language and tools
extensibility
Example: UML profiling
However…
some languages maynot support extensibility by design
MDE also provides lightweight extension mechanisms (eg EMF Facet)
• withoutaffecting the original language
• withoutpollutingthe original models
• easily processableby humans and tools
Language mechanismsB
Extensibility andcustomizationB.2
MDE offers different facilities for building programmingframeworks
based on the structure of DSL metamodels
Two championimplementations:
Language mechanismsB
ProgrammingframeworkB.3
Eclipse Modeling Framework (EMF)
- full generation of Java domain classes
- XML model persistency
- models validation
- transactions
TEXO
EMFT Texo
- Generation of POJO classes
- Generation of ORM mappings
- Extensible code generation
Model transformationscan be used to automaticallygenerate analysis
models from architectural models
Tool supportC
AutomatedanalysisC.1
UML2LTSA
UML	model Finite	state	processes	
in	LTSA	tool
Model transformationscan be used to automaticallyobtain various types
of artifacts spanning throughoutthe development life-cycle
Weaving models can be used to define typed links between architectural
models, eg:
• for storing traceability information
eg, betweenSA elementsandrequirements, designdecisions,generated skeletoncode,
financialprospects,etc.
• for change impactanalysis whilemaintainingthesystem
• for managingarchitectural erosion
Tool supportC
Support for SA-centric designC.2
EXAMPLE
IvanoMalavolta,HenryMuccini,V.Smrithi Rekha(2011). SupportingArchitecturalDesignDecisions
EvolutionthroughModelDrivenEngineering.In Proceedings of the 3rd InternationalWorkshopon
Software Engineering for ResilientSystems (SERENE 2011), pp.63-77.
Tool supportC
Large views managementC.3
The activitiy of representing references to models and relationships
between them as a model called
The AM3 (AtlanMod MegaModel Management) project is a concrete
implementation of megamodeling
MEGAMODEL
MDE techniques provide means to support the managementof different
versions of any kind of model
Also, MDE provides means to effectively matchand merge different
versions of one model, and to identify andsolve possible conflicts
Champion implementation:
Tool supportC
Support for collaborationC.4 Support for versioningC.5
- Graphical editor to see and
merge model diffs
- Extensible: can integrate new
differencing policies
- Scalable (uses model gragments)
- Integrated with Eclipse Team
Apis: Git, CVS, SVN...
MDE can be an enabler for a seamless integration of all artifacts used throughout
the project (e.g., financial prospects, architecture models, stakeholder concerns)
and knowledge sharingtools
Tool supportC
Support for knowledge managementC.6
Software
architects
continuous
alignment
Wiki-based
knowledge base
m1 m2
mn
access and
record AK
reason on the
architecture design
create, access,
and tune models ...
Baroni, Muccini, Malavolta, Woods(2014). ArchitectureDescription LeveragingModelDriven Engineeringand
Semantic Wikis. In SoftwareArchitecture(WICSA), 2014 IEEE/IFIP Conferenceon, pp. 251–254.
LET’S CHALLENGE AADL
AL requirement Supported Notes
Specify extra functional properties ✓ Yes (mainly timing, safety, reliability, …)
Formal semantics ✓ Yes (mainly via semantic anchoring)
Graphical and textual specification ✓
Both graphical and textual (main), XML
for tools
Multiview management ✕ Notas first-class aspect
Extensibility andcustomization ✓ Ecosystemof AADL annexes
Programming framework ✓ Java-based,provided by EMF
Automated analysis ✓ Many tools available
Architecture-centric design ✕ Notas first-class aspect
Large view management ~ Only namespaces via AADL packages
Supportfor versioning
✓
Via any versioning system
(e.g., SVN plugin installable in OSATE)
Supportfor collaboration ~
Same as above, also no synchronous
collaboration
Knowledge management ✕ Notas first-class aspect
CONCLUSIONS
THE STUDY POPULATION
Participants= 48
25 interviews
23 on-line questionnaires
Localization:15 countries
USA (9), Sweden (6), Germany (5), Netherlands (5), Canada (4), Australia (4),
France (4), Argentina (2), UK (2), Austria (1), Belgium (1), Chile (1), Croatia
(1), India (1), Switzerland (1), unknown (1)
Number of employees
35
18%
34%23%
25%
A(0-99)
B(100-999)
C(1000-4999)
D(5000-above)
MDE LIGHTWEIGHT EXTENSION TOOL
Image courtesyof Hugo Bruneliere (http://goo.gl/TzA7k6)
AVAILABLEMODEL TRANSFORMATION
LANGUAGES
http://en.wikipedia.org/wiki/Model_transformation_language
OTHER INSTRUMENTS FORMODELINGIN THE LARGE
EMF views Wires*
Epsilon ANT tasks
INVOLVED STAKEHOLDERS
Metamodeling expert
creates modelinglanguages (see metamodeling later)
develops the modelingenvironmentfor a language
develops analysis tools for the models
creates transformations for, e.g., code generation
creates the infrastructure for managingsets of interconnected models
…
SoftwareArchitect
models a specific system
runs analytical tools on the models
runs the transformations for obtainingadditional artifacts
discusses languageupdates with the metamodeling expert
…
CREATESthe infrastructure
USES the infrastructure

More Related Content

What's hot

IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
gjuljo
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
Majong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Majong DevJfu
 
Architecture Description Languages: An Overview
Architecture Description Languages: An OverviewArchitecture Description Languages: An Overview
Architecture Description Languages: An Overview
elliando dias
 

What's hot (20)

Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGES
 
[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
 
MexADL
MexADLMexADL
MexADL
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NET
 
Uml3
Uml3Uml3
Uml3
 
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...
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
MexADL - HADAS Presentation
MexADL - HADAS PresentationMexADL - HADAS Presentation
MexADL - HADAS Presentation
 
Web2MexADL - CSMR Presentation
Web2MexADL - CSMR PresentationWeb2MexADL - CSMR Presentation
Web2MexADL - CSMR Presentation
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Architecture Description Languages: An Overview
Architecture Description Languages: An OverviewArchitecture Description Languages: An Overview
Architecture Description Languages: An Overview
 
MDA with Executable UML
MDA with Executable UMLMDA with Executable UML
MDA with Executable UML
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Hardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationHardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulation
 
Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.Design of accessibility framework for mobile devices.
Design of accessibility framework for mobile devices.
 
1
11
1
 
Presentation of the Instance Model Bus
Presentation of the Instance Model BusPresentation of the Instance Model Bus
Presentation of the Instance Model Bus
 

Viewers also liked

Viewers also liked (20)

[2015/2016] JavaScript
[2015/2016] JavaScript[2015/2016] JavaScript
[2015/2016] JavaScript
 
[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIs[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIs
 
[2015/2016] The REST architectural style
[2015/2016] The REST architectural style[2015/2016] The REST architectural style
[2015/2016] The REST architectural style
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
 
[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS[2015/2016] Require JS and Handlebars JS
[2015/2016] Require JS and Handlebars JS
 
[2015/2016] Backbone JS
[2015/2016] Backbone JS[2015/2016] Backbone JS
[2015/2016] Backbone JS
 
[2015/2016] User-centred design
[2015/2016] User-centred design[2015/2016] User-centred design
[2015/2016] User-centred design
 
[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mapping[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mapping
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache Cordova
 
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...
 
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] [...
 
How do You Feel Today? Buggy!
How do You Feel Today? Buggy!How do You Feel Today? Buggy!
How do You Feel Today? Buggy!
 
SKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to ConstructionSKA Systems Engineering: from PDR to Construction
SKA Systems Engineering: from PDR to Construction
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
EDF2014: Talk of Frank Kresin, Research Director, Waag Society, Netherlands: ...
EDF2014: Talk of Frank Kresin, Research Director, Waag Society, Netherlands: ...EDF2014: Talk of Frank Kresin, Research Director, Waag Society, Netherlands: ...
EDF2014: Talk of Frank Kresin, Research Director, Waag Society, Netherlands: ...
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering
 

Similar to The road ahead for architectural languages [ACVI 2016]

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)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
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
B.T.L.I.T
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)
STI International
 
SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17
Pieter Pauwels
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)
swethadln
 

Similar to The road ahead for architectural languages [ACVI 2016] (20)

xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
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)
 
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
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
 
ALT
ALTALT
ALT
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)
 
Open CAESAR Initiative
Open CAESAR InitiativeOpen CAESAR Initiative
Open CAESAR Initiative
 
SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
 
On the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsOn the Composition and Reuse of Viewpoints
On the Composition and Reuse of Viewpoints
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)
 
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
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
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
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patterns
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle Software
 

More from Ivano 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] 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
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
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
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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...
 
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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech 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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

The road ahead for architectural languages [ACVI 2016]

  • 1. The road ahead for architectural languages Ivano Malavolta Gran Sasso Science Institute, L’Aquila, Italy
  • 2. Roadmap What industry needs from ALs? Requirements for next-generation ALs MDE as technological enabler Conclusions
  • 4. INDUSTRIAL NEEDS ON ALS RQ1: Whatare the architecturaldescription needs of practitioners? RQ2: Whatfeatures typically supported by existing ALs are useful (or not useful) for the software industry? 4
  • 5. ANALYSIS (IS A NEED) Is analysis perceived as a need when architectinga software system? 63% 37% 10% Need for analysis yes no blank
  • 6. ANALYSIS (IS A PRACTICE) Did you analyse your architecturedescriptionproduced with the AL? (why you analyse: 48%for extra functional) (why not: no value, ADLs too limited/imprecise,...) 74% 26% Analysis Yes No
  • 7. ANALYSIS (IS FOR EXTRA FUNCTIONAL) 48% 4% 8% 24% 12% Kind of analyzed properties Extra-functional properties Functional properties HW/SW integration Behavior No info
  • 8. ANALYSIS (IS STILL CHALLENGING) 35% 20% 45% Level of satisfaction Satisfied Neutral Not satisfied
  • 11. FRAMEWORK OF AL REQUIREMENTS
  • 12. LANGUAGE DEFINITION A.1 - Support to specify extra functional properties • e.g.,data flow analysis,run-time dependencies analysis,performance, scalability, security, requirements and change impact analysis A.2 - Well-defined semantics • Provide a precise and unambiguoussemantics to the language • It is an important enabler for analysisand other automatic tasks A.3 – Support for graphical and textual specification • Graphical representations can be used for knowledge sharing and discussion • Textual representations might be used by experts for rapidlybuilding a model
  • 13. LANGUAGE FEATURES B.1 – Multiview management • Each viewgives a different perspectiveon the same architecture, addressing different concerns • Integration of different views • Consistency across the views B.2 – Extensibility and customization • To betterexpress domain- and project-specificconcepts and constraints • For enabling additional analysis capabilities B.3 – Programmingframework • Homogeneous representation of architecturemodels that can be programmaticallyaccessed via dedicated APIs • Expose APIs to manage, create,and modify models belonging to different abstractions (from requirements, to architecture, to code) in a coordinated way • These facilities play a key rolein the integration into developmentprocesses
  • 14. TOOL SUPPORT (1) C.1 – Automated analysis • Specially against non-functionalproperties • Mask the complexity of the analysis engine in order to reduce the demand of specific skills andcompetencies C.2 – Support for architecture-centric design • SAs should be used as a high-level compassfor guiding system development and for maintenance C.3 – Large views management • Architecture descriptions may encompassseveral large heterogeneous and interrelated views • Information relevantfor a specific stakeholder may be scattered across different views
  • 15. TOOL SUPPORT (2) C.4 – Support for collaboration • Synchronouscollaboration for real-time co-modeling • Asynchronouscollaborationin which each stakeholder can collaborate athis own convenience and schedule; this comes at the cost of possible delays of interaction C.5– Supportfor versioning • special emphasis on keeping track of the various versionsof architectural models throughoutthe project duration C.6 – Support for knowledgement • Leverage knowledge sharing tools (e.g.,wikis, semantic wikis, etc.) to record and discuss architectural design decisions and their rationale • Connected to the well-known problem of architectural knowledge vaporization
  • 17. MDE AS TECHNOLOGICAL ENABLER By applying the MDE principlesaying that “models are precise artifactsthatcanbe understood by computersand can be automaticallymanipulated” MDE techniques can be used to satisfy the AL requirements with a focus on automationand reuse Language definitionA Language featuresB Tool supportC
  • 18. MDE can be used to define precise and unambiguous ALs Language definitionA Support to specify extra-functional propertiesA.1 M2 M1 metamodel model context SoftwareArchitectureinv: self.components−>collect(name) −>asSet().size() = self.components.size()
  • 19. WHY METAMODELLING? Apart from classical benefits of modeling… 1. Precisely define languages in a way that allows us to use tools to manipulatethem 2. Straightforward creation of well-formed models thatconform to the concepts and logic expressed in the metamodel it distinguishes models thatcan be loaded into an editor (e.g., an Eclipse editor) from those thatcannot 3. Standard languages for transformingmodels into other artifacts no parser development(in principle) 4. Enable traceability use cases links between machine-processableartifacts to each other and to external artifacts (ie those withoutmetamodels) 5. Enable straightforward model comparison
  • 20. The metamodel defines the static semantics of an AL Static semantics can be further constrained by usingconstraintlanguages, like: • OCL – the Object Constraint Language proposed by OMG • EVL – the Epsilon Validation Languageproposed by Epsilon • Topcased OCL tools MDE can providetools for giving behavioral semantics to an AL by mappingthe structure of a languageonto a semantic domain (e.g., via model transformations) Language definitionA FormalsemanticsA.2
  • 21. EXAMPLE ProCom model à finite state machine formalismàUPPAAL Aneta Vulgarakis,JagadishSuryadevara,Jan Carlson,Cristina Cerschi Seceleanu, PaulPettersson: Formal Semanticsof the ProCom Real-Time ComponentModel.EUROMICRO-SEAA 2009: 478-485
  • 22. MDE provides a setof engines for different kinds of editor, like: graphical Eclipse GMF Epsilon Eugenia Eclipse Graphiti textual xText emfText tree-based default EMF generic editor Epsilon Exeed Thanks to the unification power of models, various levels of automation are supported Language definitionA Support for graphical & textual specificationA.3 AADL Reuseware CSDL Eclipse BPMN2
  • 23. MDE promotes the useof multipleviews linked together by means of suitable relationships Why linkingmodels together? • Tool interoperability • Transformation to analysis notations • Linkingentities across models • Traceability • Model merging • Model annotation • … Language mechanismsB Multi-view managementB.1 Main MDE techniques: • model weaving • model transformation (see req C.1)
  • 24. MODEL WEAVING Model weaving is a generic operationthat establishes fine-grained links between model elements In general a dedicated weaving model contains the set of links among models As any kind of model, a weaving model can be saved, stored, transformed, generated, etc. Image courtesyof Jordi Cabot Epsilon ModeLink
  • 25. MDE provides different techniques to manage language and tools extensibility Example: UML profiling However… some languages maynot support extensibility by design MDE also provides lightweight extension mechanisms (eg EMF Facet) • withoutaffecting the original language • withoutpollutingthe original models • easily processableby humans and tools Language mechanismsB Extensibility andcustomizationB.2
  • 26. MDE offers different facilities for building programmingframeworks based on the structure of DSL metamodels Two championimplementations: Language mechanismsB ProgrammingframeworkB.3 Eclipse Modeling Framework (EMF) - full generation of Java domain classes - XML model persistency - models validation - transactions TEXO EMFT Texo - Generation of POJO classes - Generation of ORM mappings - Extensible code generation
  • 27. Model transformationscan be used to automaticallygenerate analysis models from architectural models Tool supportC AutomatedanalysisC.1 UML2LTSA UML model Finite state processes in LTSA tool
  • 28. Model transformationscan be used to automaticallyobtain various types of artifacts spanning throughoutthe development life-cycle Weaving models can be used to define typed links between architectural models, eg: • for storing traceability information eg, betweenSA elementsandrequirements, designdecisions,generated skeletoncode, financialprospects,etc. • for change impactanalysis whilemaintainingthesystem • for managingarchitectural erosion Tool supportC Support for SA-centric designC.2
  • 29. EXAMPLE IvanoMalavolta,HenryMuccini,V.Smrithi Rekha(2011). SupportingArchitecturalDesignDecisions EvolutionthroughModelDrivenEngineering.In Proceedings of the 3rd InternationalWorkshopon Software Engineering for ResilientSystems (SERENE 2011), pp.63-77.
  • 30. Tool supportC Large views managementC.3 The activitiy of representing references to models and relationships between them as a model called The AM3 (AtlanMod MegaModel Management) project is a concrete implementation of megamodeling MEGAMODEL
  • 31. MDE techniques provide means to support the managementof different versions of any kind of model Also, MDE provides means to effectively matchand merge different versions of one model, and to identify andsolve possible conflicts Champion implementation: Tool supportC Support for collaborationC.4 Support for versioningC.5 - Graphical editor to see and merge model diffs - Extensible: can integrate new differencing policies - Scalable (uses model gragments) - Integrated with Eclipse Team Apis: Git, CVS, SVN...
  • 32. MDE can be an enabler for a seamless integration of all artifacts used throughout the project (e.g., financial prospects, architecture models, stakeholder concerns) and knowledge sharingtools Tool supportC Support for knowledge managementC.6 Software architects continuous alignment Wiki-based knowledge base m1 m2 mn access and record AK reason on the architecture design create, access, and tune models ... Baroni, Muccini, Malavolta, Woods(2014). ArchitectureDescription LeveragingModelDriven Engineeringand Semantic Wikis. In SoftwareArchitecture(WICSA), 2014 IEEE/IFIP Conferenceon, pp. 251–254.
  • 33. LET’S CHALLENGE AADL AL requirement Supported Notes Specify extra functional properties ✓ Yes (mainly timing, safety, reliability, …) Formal semantics ✓ Yes (mainly via semantic anchoring) Graphical and textual specification ✓ Both graphical and textual (main), XML for tools Multiview management ✕ Notas first-class aspect Extensibility andcustomization ✓ Ecosystemof AADL annexes Programming framework ✓ Java-based,provided by EMF Automated analysis ✓ Many tools available Architecture-centric design ✕ Notas first-class aspect Large view management ~ Only namespaces via AADL packages Supportfor versioning ✓ Via any versioning system (e.g., SVN plugin installable in OSATE) Supportfor collaboration ~ Same as above, also no synchronous collaboration Knowledge management ✕ Notas first-class aspect
  • 35. THE STUDY POPULATION Participants= 48 25 interviews 23 on-line questionnaires Localization:15 countries USA (9), Sweden (6), Germany (5), Netherlands (5), Canada (4), Australia (4), France (4), Argentina (2), UK (2), Austria (1), Belgium (1), Chile (1), Croatia (1), India (1), Switzerland (1), unknown (1) Number of employees 35 18% 34%23% 25% A(0-99) B(100-999) C(1000-4999) D(5000-above)
  • 36. MDE LIGHTWEIGHT EXTENSION TOOL Image courtesyof Hugo Bruneliere (http://goo.gl/TzA7k6)
  • 38. OTHER INSTRUMENTS FORMODELINGIN THE LARGE EMF views Wires* Epsilon ANT tasks
  • 39. INVOLVED STAKEHOLDERS Metamodeling expert creates modelinglanguages (see metamodeling later) develops the modelingenvironmentfor a language develops analysis tools for the models creates transformations for, e.g., code generation creates the infrastructure for managingsets of interconnected models … SoftwareArchitect models a specific system runs analytical tools on the models runs the transformations for obtainingadditional artifacts discusses languageupdates with the metamodeling expert … CREATESthe infrastructure USES the infrastructure