What Industry Needs from Architectural Languages
The following slides report on some of the findings of a study we conducted with practitioners on the needs they do have with architectural languages.
The full results have been published at: Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, Antony Tang: What Industry Needs from Architectural Languages: A Survey. IEEE Trans. Software Eng. 39(6): 869-891 (2013)
1. WHAT INDUSTRY NEEDS
FROM ARCHITECTURAL
LANGUAGES: A SURVEY
Ivano Malavolta, Patricia Lago, Antony
Tang, Henry Muccini, Patrizio
Pelliccione
IEEE Trans. Software Eng. 39(6): 869-891
(2013)
2. Purpose of this presentation
The following slides report on some of the findings
of a study we conducted with practitioners on the
needs they do have with architectural languages.
The full results have been published at:
Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio
Pelliccione, Antony Tang: What Industry Needs from
Architectural Languages: A Survey. IEEE Trans. Software
Eng. 39(6): 869-891 (2013)
We wish to warmly thank all the practitioners who invested
some of their time to make this study possible.
3. Goal and Work Plan
Goals of this study:
To investigate the use of notations and languages for
architecture descriptions in practice.
Our goal: to better understand the real needs about using
ADLs for software architecture modeling in industry
ADL: It may be a formal language (like Acme, Darwin, AADL), a
UML-based notation, as well as any other means you may have
used to describe a software architecture.
Work plan:
A. Questionnaire
B. The study population
C. (Preliminary) Results
4. A. Questionnaire
Questionnaire
51 questions:
42 open ended questions
Parts:
a. Company info (a1-a3)
b. Personal info (b1-b5)
c. Generic questions on the current use of software architecture
descriptions (c1-c5)
d. Have you ever used an ADL in a project? (d1-d27)
General questions on your architecting practice with ADLs (d1-d4)
ADL-specific questions, in a selected project (d5-d14)
Technical questions (d15-d17)
Tool-related questions (d18-d24)
Questions for architects using ADLs only in the Past (d25-d26)
Questions for architects never using ADL (d27)
e. Usefulness of ADL features (in past and future projects) (e)
f.-g. Concluding questions
6. B. The study population
Systematic selection of potential participants from industry
120 ADLs
Contact authors to ask them:
Industrial contacts
Others: mailing lists (IASA Chile, IEEE1471), newsletters, etc.
People contacted/participating:
To participate (if they are industrial)
To point out some industrial partners to be contacted
From the papers =
371/ 13
Our industrial contacts =
63 / 14
Others
/ 21
Participants = 48
25 interviews
23 on-line questionnaires
7. B. 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
25%
18%
A(0-99)
B(100-999)
23%
34%
C(1000-4999)
D(5000-above)
9. B. The study population
Software Architects
Average
of 27 architects per company
One
with 5.000 architects (not counted in the average
above)
58%
recognize “software architect” as a distinct
professional figure
Skills of people interviewed:
In
software development since 19 years (in average)
Current role (see chart in next slide)
10. List of Research Questions (1/2)
RQ1: What are the most popular notations used by
the interviewed companies?
RQ2: Is analysis perceived as a need when
architecting a software system?
RQ3: Which is the role of Viewpoints when
architecting a software system?
RQ4 : Extra Functional
Needs and Features
11. List of Research Questions (2/2)
ADLs and architectural styles
ADL support for Testing
ADLs and Requirements
ADL and Implementation
ADL customization
Knowledge sharing & communication
…
Those RQs, while included in our
publication, are not reported in this
12. RQ1: most popular notations
RQ1: What are the most popular notations used by
Standard notation types
the interviewed companies?
45
40
35
UML
vs formal ADL
Standard
notation types
Do you use UML?
How?
Which UML diagrams?
30
25
20
15
10
5
0
Used ADL
About
21% of the respondents use multiple ADLs
Free sketching is advocated as useful
13. RQ1: most popular notations
RQ1: What are the most popular notations used by
the interviewed companies?
UML
vs formal ADL
AS IS (73%)
Standard
notation types
Do you use UML?
How?
Which UML diagrams?
PROFILED
(25%)
Used ADL
About
21% of the respondents use multiple ADLs
Free sketching is advocated as useful
NO
USAGE
(19%)
14. RQ1: most popular notations
RQ1: What are the most popular notations used by
the interviewed companies?
Kind of UML diagrams
UML
vs formal ADL
notation types
Do you use UML?
38%
Standard
How?
Which UML diagrams?
Structural
57%
Behavioral
5%
Used ADL
About
21% of the respondents use multiple ADLs
Free sketching is advocated as useful
Mixed(Structural/Behavioral)
15. RQ1: most popular notations
RQ1: What are the most popular notations used by
the interviewed companies?
UML
vs formal ADL
Standard
notation types
Do you use UML?
How?
Which UML diagrams?
Used ADL
(see next slide)
About 21% of the respondents use multiple ADLs
Free sketching is advocated as useful
17. RQ1: most popular notations
RQ1: What are the most popular notations used by
the interviewed companies?
Use of multiple ADLs
UML
vs formal ADL
21%
Standard
notation types
Do you use UML?
How?
Which UML diagrams?
Used ADL
Yes
No
79%
(see next slide)
About 21% of the respondents use multiple ADLs
Free sketching is advocated as useful
18. RQ1 - Summary
Summary:
UML
very used (86%)
Formal ADL: only rarely and produced by industry
(AADL, Archimate, ad hoc, Rapide)
need
s
19. RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when
architecting a software system?
Need for analysis
10%
Need to analyze an architecture
37%
63%
yes
no
Most important needs
blank
need: 30%
Dissadisfaction with ADL: 45% of those needing analysis
(the second most important unsatisfactory need was about analysis )
Did you analyse your architecture description produced with the
ADL?
(did you analyse: 74% is yes, but 32% is manual)
(why you analyse: 48% for extra functional)
(why not: no value, ADLs too limited/imprecise, ...)
20. RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when
Type of needs
architecting a software system?
25
20
Need to analyze an architecture
15
Analysis
+1
10
Most important needs
Implementation
Communication
5
-1
-1
Design
Process
+1
need: 30%
0
Documentation
Dissadisfaction with ADL: 45% of those needing it
(the second most important unsatisfactory need was about analysis )
????????
Did you analyse your architecture description produced with the
ADL?
(did you analyse: 74% is yes, but 32% is manual)
(why you analyse: 48% for extra functional)
21. RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when
level of satisfaction
architecting a software system?
Need to analyze an architecture
35%
45%
Satisfied
Neutral
Most important needs
20%
Not satisfied
need: 30%
Dissadisfaction with ADL: 45% of those needing analysis
(the second most important unsatisfactory need was about analysis )
Did you analyse your architecture description produced with the
ADL?
(did you analyse: 74% is yes, but 32% is manual)
(why you analyse: 48% for extra functional)
(why not: no value, ADLs too limited/imprecise, ...)
22. RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when
Analysis
architecting a software system?
26%
Need to analyze an architecture
Yes
74%
Most important needs
need: 30%
Dissadisfaction with ADL: 45% of those needing analysis
(the second most important unsatisfactory need was about analysis )
Did you analyse your architecture description produced with the
ADL?
(did you analyse: 74% is yes, but 32% is manual)
(why you analyse: 48% for extra functional)
(why not: no value, ADLs too limited/imprecise, ...)
No
23. RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when
architecting a software system? Kind of analyzed properties
Need to analyze an architecture
Extra-functional
properties
12%
Functional properties
24%
48%
HW/SW integration
Needs but unsatisfaction with current ADLs
8%
4%
Behavior
need: 30%
No info
Dissadisfaction with ADL: 45% of those needing it
(the second most important unsatisfactory need was about analysis )
Did you analyse your architecture description produced with the
ADL?
(did you analyse: 74% is yes, but 32% is manual)
(why you analyse: 48% for extra functional)
(why not: no value, ADLs too limited/imprecise, ...)
24. RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when
architecting a software system?
Need to analyze an architecture
Needs but unsatisfaction with current ADLs
need: 30%
Dissadisfaction with ADL: 45% of those needing it
(the second most important unsatisfactory need was about analysis )
Did you analyse your architecture description produced with the
ADL?
(did you analyse: 74% is yes, but 32% is manual)
(why you analyse: 48% for extra functional)
(why not: 26%. no value, ADLs too limited/imprecise, ...)
25. RQ2 : analysis (2/2)
22%
extended (or customized) the ADL for analysis
(extended ADL:
Analysis
22% for analysis)
and tools
(tool feature missing: 17% analysis)
45
40
35
30
25
20
15
10
Summary:
5
0
With analysis-oriented information
Informally
With new viewpoints additional constraints language adaptation
With
Minimally,
Practitioners do analyze software architecture
descriptions, but they are unsatisfied with current ADLs
and tools
26. RQ2 : analysis (2/2)
22%
extended (or customized) the ADL for analysis
(extended ADL:
Analysis
(tool
22% for analysis)
and tools
feature missing: 17% analysis) (see next slide)
Summary:
Practitioners do analyze software architecture
descriptions, but they are unsatisfied with current ADLs
and tools
27. Tool feature missing: 17% analysis
Features missing from the tools
45
40
35
30
25
20
15
10
5
0
Features missing from the tools
need
s
28. RQ3: Viewpoints (1/2)
RQ3: Which is the role of Viewpoints when
architecting a software system?
85%
uses multiple views
Use
of multiple views for
architectural description.
Types
of views
50%
of multi view users apply consistency check
Why not using multiple views
(lack
of tool, no benefits today but use in the future)
29. RQ3: Viewpoints (1/2)
RQ3: Which is the role of Viewpoints when
architecting a software system? Type of views
Use
of multiple views for
architectural description.
Types
45
40
35
30
25
20
15
10
5
0
of views
50%
of multi view users apply consistency check
Why not using multiple views
(lack
of tool, no benefits today but use in the future)
Type of views
30. RQ3: Viewpoints (1/2)
RQ3: Which is the role of Viewpoints when
Views
architecting a software system? consistency mechanism
45
40
35
30
25
20
Views consistency
mechanism
15
10
5
Use
of multiple views for
architectural description.
0
Types
Used, but without The SA description
providing any further is stored into a
info
single model
Syntactic checks
(e.g., naming
conventions)
of views
50%
of multi view users apply consistency check
Why not using multiple views
(lack
of tool, no benefits today but use in the future)
31. RQ3: Viewpoints (1/2)
RQ3: Which is the role of Viewpoints when
architecting a software system?
Use
of multiple views for
architectural description.
Types
of views
50%
of multi view users apply consistency check
Why not using multiple views [only 5 respondents]
(lack
of tool, no benefits today but use in the future)
32. RQ3 : Viewpoints (2/2)
About
33% model/focus on relevant system concerns
Is the focus on modeling the entire
system?
43%
extended ADLs
for adding new views
Tool support
(tool feature missing: 14% viewpoint)
Additional feature required
(cross-view consistency)
45
40
35
30
25
20
15
10
5
0
Yes, but at a very abstract
level
Yes in detail
Just for some specific
viewpoint
No, it is too complex
Yes, but
at a very
abstract
level
Yes in
detail
to ADLs
Just for No, it is No, the
some
too
used
specific complex notation
viewpoint
does not
allow it
No, the used notation does
not allow it
Summary:
Practitioners
use multiple views and others would like to do
so. They also apply consistency checking. Better Tool
support is required
33. RQ3 : Viewpoints (2/2)
About
33% model/focus on relevant system concerns
extended ADLs
for adding new views
Extension/customization: how?
43%
45
40
35
30
25
20
15
10
5
0
Tool support
(tool feature missing: 14% viewpoint)
Additional feature required
(cross-view consistency)
Extension/customization: how?
to ADLs
Summary:
Practitioners
use multiple views and others would like to do
so. They also apply consistency checking. Better Tool
support is required
34. RQ3 : Viewpoints (2/2)
About
33% model/focus on relevant system concerns
43%
extended ADLs
for adding new views
Tool support
(tool feature missing: 14% viewpoint) (see next slide)
Additional feature required
(cross-view consistency)
to ADLs
Summary:
Practitioners
use multiple views and others would like to do
so. They also apply consistency checking. Better Tool
support is required
35. Tool support: missing features
Features missing from the tools
45
40
35
30
25
20
15
10
5
0
36. RQ3 : Viewpoints (2/2)
About
33% model/focus on relevant system concerns
43%
extended ADLs
for adding new views
Tool support
(tool feature missing: 14% viewpoint)[see next slide]
Additional feature required to ADLs
(cross-view consistency) [only 4 respondents]
Summary:
Practitioners
need
s
use multiple views and others would like to do
so. They also apply consistency checking. Better Tool
support is required
37. RQ4 : Extra Functional
RQ4: How ADLs support Extra Functional properties?
Kind of analyzed properties
Analysis
of E. F. properties
Extra-functional
properties
12%
Functional properties
Insufficient
expressiveness
for extra-functional properties
24%
48%
HW/SW integration
8%
4%
Behavior
No info
Interaction
with verification engines
for performance and dependability
(24%
interact with verific. engines for performance and
dependability analysis, most with external tools)
38. RQ4 : Extra Functional
RQ4: How ADLs support Extra Functional properties?
Limitations
Analysis
of E. F. properties
Insufficient
45
40
35
30
25
20
15
10
5
0
expressiveness
for extra-functional properties
Interaction
with verification engines
for performance and dependability
(24%
interact with verific. engines for performance and
dependability analysis, most with external tools)
39. RQ4 : Extra Functional
RQ4: How ADLs support Extra Functional properties?
Kind of engine
of E. F. properties
Insufficient
expressiveness
for extra-functional properties
Internal verification engine
Performance
3 (37,5%)
Analysis
Kind of analysis
4 (50%)
External verification engine
Dependability
5 (62,5%)
3 (37,5%)
Generic constraints
4 (50%)
blank
Interaction
blank
41 (85,5%)
40 (85%)
with verification engines
for performance and dependability [only 8 respondents]
(24%
interact with verific. engines for performance and
dependability analysis, most with external tools)
40. Needs and Limitations of existing
ADLs
Needs and Limitations of existing ADLs
Needs:
design, communicate, analyze
Type of needs
How
ADLs satisfy25 needs
the
Design
is satisfied, 20 others are not!
the
15
94%
10
use ADL in the design phase
5
0
Limitations of existing ADLs:
extra func, communic, analysis)
extensions to ADL to cope with new views, constraints, analysis
Tool limitations
(limitations:
41. Needs and Limitations of existing
ADLs
Needs and Limitations of existing ADLs
Needs:
design, communicate, analyze
How ADLs satisfy
Type of needs
the needs
25
Design
is satisfied, 20
the others are not! 15
94%
use ADL in the design phase
Limitations of existing ADLs:
10
5
Analysis
Implementation
Communication
Design
Process
extra func, communic, analysis)
Documentation
0
extensions to ADL to cope with new views, constraints, analysis
Tool limitations
(limitations:
42. Needs and Limitations of existing
ADLs
Needs and Limitations of existing ADLs
Life-cycle phases
Needs:
How
45
40
35
30
25
20
15
10
5
0
design, communicate, analyze
ADLs satisfy the needs
Design is satisfied, the others are not!
94% use ADL in the design
phase
Limitations of existing ADLs:
(limitations: extra func, communic, analysis)
extensions to ADL to cope with new views, constraints, analysis
Tool limitations
43. Needs and Limitations of existing
ADLs
Needs and Limitations of existing ADLs
Limitations
Needs:
How
45
40
35
30
25
20
15
10
5
0
design, communicate, analyze
ADLs satisfy the needs
Design
is satisfied, the others are not!
94%
use ADL in the design phase
Limitations of existing ADLs:
extra func, communic, analysis)
extensions to ADL to cope with new views, constraints, analysis
Tool limitations
(limitations:
44. Needs and Limitations of existing
ADLs
Needs and Limitations of existing ADLs
Extended/customized an
architectural notation?
Needs:
Extension/customization: how?
design, communicate, analyze
32%
How
45
40
35
30
25
20
15
10
5
0
ADLs satisfy the needs
Design
yes
68%
No
is satisfied, the others are not!
94%
use ADL in the design phase
Limitations of existing ADLs:
extra func, communic, analysis)
extensions to ADL to cope with new views, constraints, analysis
Tool limitations
(limitations:
45. Needs and Limitations of existing
ADLs
Needs and Limitations of existing ADLs
Tool satisfaction
Needs:
How
design, communicate, analyze
12%
ADLs satisfy the needs
Design
21%
46%
is satisfied, the others are not!
94%
9%
12%
use ADL in the design phase
Limitations of existing ADLs:
Very
satisfied
Satisfied
Neutral
extra func, communic, analysis)
extensions to ADL to cope with new views, constraints, analysis
Tool limitations
(limitations:
46. Features: missing, required, useful
(1/2)
Features: missing, required, useful
Missing:
Tool
features missing
86% find missing tool features (see next slide)
(additional feature: flexibility 40%, capture conceptual
features 16%)
Multi-view consistency missing feature
(versioning: 82% yes, only 3% built in the ADL)
Required
Additional
feature required to use an ADL: cross-view
consistency
47. 86% find missing tool features
Features missing from the tools
45
40
35
30
25
20
15
10
5
0
48. Features: missing, required, useful
(1/2)
Features: missing, required, useful
Missing:
Tool
features missing
86% find missing tool features (see next slide)
(additional feature: flexibility 40%, capture conceptual
features 16%) (see next slide)
Multi-view consistency missing feature
(versioning: 82% yes, only 3% built in the ADL)
Required
Additional
feature required to use an ADL: cross-view
consistency
50. Features: missing, required, useful
(1/2)
Features: missing, required, useful
Missing:
Tool
features missing
86% find missing tool features (see next slide)
(additional feature: flexibility 40%, capture conceptual
features 16%) (see next slide)
Multi-view consistency missing feature
(versioning: 82% yes, only 3% built in the ADL) (see next slide)
Required
Additional
feature required to use an ADL: cross-view
consistency
51. Versioning
SA descriptions versioning
50
45
40
35
Yes
30
Yes, configuration management
Yes,project management tools
25
Yes,built-in into the architectural tool
Yes, manually
20
Yes, CMS
15
No
10
5
0
Yes, configuration management
Yes
Yes,project management toolsarchitectural tool
Yes,built-in into the
Yes, manually Yes, CMS
No