SlideShare a Scribd company logo
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

Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIvano Malavolta
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with GitIvano Malavolta
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETWaqas Tariq
 
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
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulinkgjuljo
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
MexADL - HADAS Presentation
MexADL - HADAS PresentationMexADL - HADAS Presentation
MexADL - HADAS Presentationjccastrejon
 
Web2MexADL - CSMR Presentation
Web2MexADL - CSMR PresentationWeb2MexADL - CSMR Presentation
Web2MexADL - CSMR Presentationjccastrejon
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
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 ArchitectureMajong DevJfu
 
Architecture Description Languages: An Overview
Architecture Description Languages: An OverviewArchitecture Description Languages: An Overview
Architecture Description Languages: An Overviewelliando dias
 
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Ákos Horváth
 
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.AEGIS-ACCESSIBLE Projects
 
Presentation of the Instance Model Bus
Presentation of the Instance Model BusPresentation of the Instance Model Bus
Presentation of the Instance Model Busjccastrejon
 

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

[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIs[2015/2016] Apache Cordova APIs
[2015/2016] Apache Cordova APIsIvano Malavolta
 
[2015/2016] The REST architectural style
[2015/2016] The REST architectural style[2015/2016] The REST architectural style
[2015/2016] The REST architectural styleIvano Malavolta
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinkingIvano Malavolta
 
[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 JSIvano Malavolta
 
[2015/2016] User-centred design
[2015/2016] User-centred design[2015/2016] User-centred design
[2015/2016] User-centred designIvano Malavolta
 
[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mapping[2015/2016] Geolocation and mapping
[2015/2016] Geolocation and mappingIvano Malavolta
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache CordovaIvano 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
 
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
 
How do You Feel Today? Buggy!
How do You Feel Today? Buggy!How do You Feel Today? Buggy!
How do You Feel Today? Buggy!Ivano Malavolta
 
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 ConstructionJoint ALMA Observatory
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
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: ...European Data Forum
 
[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
 

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]

xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 
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
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 
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 ECLIPSEAnže Vodovnik
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)STI International
 
Open CAESAR Initiative
Open CAESAR InitiativeOpen CAESAR Initiative
Open CAESAR InitiativeMaged Elaasar
 
SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17Pieter Pauwels
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedElizabeth Steiner
 
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 ViewpointsHenry Muccini
 
Batch 21(14,64,66)
Batch 21(14,64,66)Batch 21(14,64,66)
Batch 21(14,64,66)swethadln
 
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
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Henry Muccini
 
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-oplbergmans
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patternssukumarraju6
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
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 SoftwareAlessio Bucaioni
 

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

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

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

Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 

Recently uploaded (20)

Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 

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