An Uncertainty-Aware Approach to Optimal Configuration of Stream Processing S...
A Framework for Classifying and Comparing Architecture-Centric Software Evolution Research
1. A Framework for Classifying and Comparing
Architecture-Centric Software Evolution Research
Pooyan Jamshidi, Mohammad Ghafari,
Aakash Ahmad, Claus Pahl
Lero - The Irish Software Engineering Research Centre,
School of Computing, Dublin City University
2. Architecture-Centric Software Evolution
Software Architecture represents the blue-print of a software as
topological configuration of computational components and connectors that
enable component-level interconnections. [ISO/IEC/IEEE 42010 Standard]
Software Evolution adapts a software to changing requirements and
operating environment by means of addition, removal and modification of
software artefacts. [ACM/IEEE Software Engineering Curriculum, 2004]
- Evolution @ Design-time
- Evolution @ Run-time
2
5. A Paradigm Change (II): executable models
Adaptation
System=Executable Model
Run-Time Environment
Executing the model makes sense
An engine is responsible for the execution
An interpreted DSL is needed
5
7. Motivations for this Study
Wide spectrum of approaches
Different paradigms and frameworks
Different problem and solution spaces
Different interpretation of concepts
No systematic insight into state-of-the-art
Such insight is crucial for practitioners and researchers
To that end, we performed an SLR
Taxonomic Scheme
Classification and Comparison
7
8. Agenda
• Research Methodology
• Research Questions
• Search Strategy & Quality Assessment
• Data Items
• Results
• Limitations
8
12. Project Scope
• 60 papers selected after exclusion process
• Protocol defined by 4 researchers
• Papers reviewed by 2 researchers
• Data analysis with 4 researchers
• ~30 discussion sessions to get an agreement on
data extraction
• Duration of the study ~ 9 months
• Special thanks to Excel and Dropbox!!!
12
13. Research Questions
RQ1: What types of evolution are supported in
ACSE?
RQ2: Which formalisms are required to enable an
ACSE approach?
RQ3: How architectural reasoning is adopted in
ACSE?
RQ4: Which execution environments and mechanisms
are needed to enable run-time evolution?
RQ5: What tool supports is available for ACSE?
13
14. Search Strings and Retrieved Papers
No Name Results
1 ACM 663
2 IEEE 1149
3 Science Direct 194
4 Web Of Science 480
5 Springer Link 445
6 Pro-Quest 231
7 Google Scholar 460
8 Wiley 516
Total 4138
14
15. Quality Assessment of Studies
General
1. Problem definition of the study (2)
2. Environment in which the study was carried out (1)
3. Research design of the study refers to the way the study was organized (2)
4. Contributions of the study refer to the study results (2)
5. Insights derived from the study (2)
6. Limitations of the study (2)
Specific
1. Main focus of the paper (2)
2. The architecture descriptions presented in the studies (2)
3. Architectural properties in terms of constraints (2)
4. Evaluation of the study (2)
G1+G2+G3+G4+G5+G6 (S1+S2+S3+S4)
Ranking formula= + ∗3
11 8
4= Quality papers; 3: Acceptable; 2, 1, 0: Excluded 15
26. Results, RQ2: formalisms (II)
Type of Formalism
Archface
Temporal logics
Process algebra
C. Automata
Z
State machine
CCL
OCL
Alloy
Prog. language
π-calculus
Description logic
Model-based
Petri-net
Graph
0 5 10 15 20 26
27. Results, RQ2: formalisms (II)
Description Language
SafArchie
Darwin
AO-ADL
Extended UML
UML
xAcme
ACME
0 5 10 15 20
27
28. Results, RQ2: formalisms (III)
UML Specification
Transition
Communication
Object
Component
Class
Sequence
State
Activity
0 5 10 15 20
28
41. Results: research method (I)
Application Domain
CBD
Event-based system
Distributed system
OO
SOA
0 10 20 30 40
41
42. Results: research method (II)
Evaluation Method
Example application
Mathematical proof
Case study
0 5 10 15 20 25 30
42
43. Main Results: Summary
Recent inclination towards
Runtime adaptation
Self-adaptive applications
Probabilistic modeling
Quantitative verification
“Reflective environments” and “Models @ run-
time” as the key drivers to enable adaptations
Lack of evidences for rigorous validation
Recent evidences of machine learning approaches
in ACSE
43
44. Study Limitations
Bias of the reviewers
Search strategies
Research protocol
Reliability
Consensus among researchers
Scheme
Pilot study
Open data
Results are valid, though not conclusive!!
44