what industry needs from architectural languages
DESCRIPTION
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)TRANSCRIPT
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)
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.
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
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
A. Questionnaire (available at http://goo.gl/J4C0x4)
B. The study population
Systematic selection of potential participants from industry 120 ADLs
Contact authors to ask them: To participate (if they are industrial) To point out some industrial partners to be contacted
Industrial contacts Others: mailing lists (IASA Chile, IEEE1471), newsletters, etc.
People contacted/participating: From the papers = 371/ 13 Our industrial contacts = 63 / 14 Others / 21
Participants = 48 25 interviews 23 on-line questionnaires
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
18%
34%23%
25%
A(0-99)B(100-999)C(1000-4999)D(5000-above)
Current role or interviewed people
Indu
stria
l res
earc
her (
IR)
Consu
ltant
(CO)
Acade
mic
rese
arch
er (A
R)
Softw
are
arch
itect
(SA)
Syst
em a
rchi
tect
(Sys
A)
Ente
rpris
e ar
chite
ct (E
A)
Softw
are
engi
neer
(SE)
Proj
ect m
anag
er (P
M)
Model
er/d
esig
ner (
MD)
Requi
rem
ents
eng
inee
r (RE)
Devel
oper
(DEV
)0
5
10
15
20
25
30
35
40
45
Current role
Current role
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)
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
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
presentation
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 About 21% of the respondents use multiple ADLs Free sketching is advocated as useful
Gener
ic n
otat
ion
Dom
ain-
spec
ific no
tatio
n
Info
rmal
not
atio
n (V
isio,
Pow
erpo
int,
etc.)
Sim
ulat
ion-
orie
nted
not
atio
n (E
.g.,
Sim
ulin
k, S
DL)
Ent
erpr
ise
nota
tion
UML
05
1015202530354045
Standard notation types
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 About 21% of the respondents use multiple ADLs Free sketching is advocated as useful
AS IS (73%)
NO USAGE (19%)
PROFILED (25%)
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 About 21% of the respondents use multiple ADLs Free sketching is advocated as useful
38%
5%
57%
Kind of UML diagrams
Structural Behavioral Mixed(Structural/Behav-ioral)
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
RQ1: Used ADLs
MIND
UML in
cludi
ng U
ML pr
ofile
sSD
OAADL
ACME
RAPIDE
EAST
-ADL
MODELIC
APC
M
SAMM
CCLSL
X
ARCHIMATE
HOODSD
L
OLAN IA
F
ADHOC = in
-hou
se la
ngua
ge
KOALAKIS
S
ABACUS
YOURDON
DARWIN
XADL0
5
10
15
20
25
30
35
40
Used Architectural Notations
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
21%
79%
Use of multiple ADLs
YesNo
RQ1 - Summary
Summary: UML very used (86%) Formal ADL: only rarely and produced by industry
(AADL, Archimate, ad hoc, Rapide)
needs
RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when architecting a software system?
Need to analyze an architecture
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, ...)
63%
37%
10%
Need for analysis
yesnoblank
RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when architecting a software system?
Need to analyze an architecture
Most important needs 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: no value, ADLs too limited/imprecise, ...)
Analy
sis
Impl
emen
tatio
n
Com
mun
icatio
n
Des
ign
Pro
cess
Docum
enta
tion
0
5
10
15
20
25
-1
+1
-1
+1
Type of needs
Type of needs
RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when architecting a software system?
Need to analyze an architecture
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, ...)
35%
20%
45%
level of satisfaction
Satisfied Neutral Not satisfied
RQ2 : analysis (1/2)
RQ2: Is analysis perceived as a need when architecting a software system?
Need to analyze an architecture
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, ...)
74%
26%
Analysis
Yes No
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: no value, ADLs too limited/imprecise, ...)
48%
4%
8%
24%
12%
Kind of analyzed properties
Extra-functional propertiesFunctional propertiesHW/SW integrationBehaviorNo info
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, ...)
RQ2 : analysis (2/2)
22% extended (or customized) the ADL for analysis (extended ADL: 22% for analysis)
Analysis and tools (tool feature missing: 17% analysis)
Summary: Practitioners do analyze software architecture
descriptions, but they are unsatisfied with current ADLs and tools
010203040
RQ2 : analysis (2/2)
22% extended (or customized) the ADL for analysis (extended ADL: 22% for analysis)
Analysis and tools (tool feature missing: 17% analysis) (see next slide)
Summary: Practitioners do analyze software architecture
descriptions, but they are unsatisfied with current ADLs and tools
Tool feature missing: 17% analysis
Poor
link
to im
plem
enta
tion/
code
Poo
r doc
umen
tatio
n ge
nera
tion
Poo
r tra
ceab
ility
to/fr
om re
quire
men
ts
Hard
to syn
c with
info
out
side
the
tool
Poo
r sup
port
for m
ultip
le v
iewpo
ints
No
reve
rse
arch
itect
ing
supp
ort
Bet
ter s
uppo
rt fo
r ana
lysis
Poo
r gra
phical
repr
esen
tatio
ns
Poo
r usa
bilit
y
Not p
erm
issiv
e
Inco
mpl
ete
No
inte
rope
rabi
lity
with
oth
er to
ols
Too
l/ven
dor l
ocki
n
poo
r sup
port
for m
anag
ing
chan
ges i
n th
e SA
No
miss
ing
feat
ures
0
5
10
15
20
25
30
35
40
45
Features missing from the tools
Features missing from the tools
needs
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)
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
(lack of tool, no benefits today but use in the future)
Stru
ctur
al
Beh
avio
ral
Phy
sica
l
Req
uire
men
ts
Con
cept
ual
Impl
emen
tatio
n
Act
or in
tera
ctio
n
Bus
ines
s
Pro
perty
-rela
ted
05
1015202530354045
Type of views
Type of views
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
(lack of tool, no benefits today but use in the future)
010203040
Views consistency mechanism
Views consistency mechanism
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)
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)
Additional feature required to ADLs (cross-view consistency)
Summary: Practitioners use multiple views and others would like to
do so. They also apply consistency checking. Better Tool support is required
010203040
Is the focus on modeling the entire system?
Is the focus on modeling the entire system?
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)
Additional feature required to ADLs (cross-view consistency)
Summary: Practitioners use multiple views and others would like to
do so. They also apply consistency checking. Better Tool support is required
010203040
Extension/customization: how?
Extension/customization: how?
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)
Summary: Practitioners use multiple views and others would like to
do so. They also apply consistency checking. Better Tool support is required
Tool support: missing features
Poor
link
to im
plem
enta
tion/
code
Poo
r doc
umen
tatio
n ge
nera
tion
Poo
r tra
ceab
ility
to/fr
om re
quire
men
ts
Hard
to syn
c with
info
out
side
the
tool
Poo
r sup
port
for m
ultip
le v
iewpo
ints
No
reve
rse
arch
itect
ing
supp
ort
Bet
ter s
uppo
rt fo
r ana
lysis
Poo
r gra
phical
repr
esen
tatio
ns
Poo
r usa
bilit
y
Not p
erm
issiv
e
Inco
mpl
ete
No
inte
rope
rabi
lity
with
oth
er to
ols
Too
l/ven
dor l
ocki
n
poo
r sup
port
for m
anag
ing
chan
ges i
n th
e SA
No
miss
ing
feat
ures
0
5
10
15
20
25
30
35
40
45
Features missing from the tools
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 use multiple views and others would like to
do so. They also apply consistency checking. Better Tool support is required
needs
RQ4 : Extra Functional
RQ4: How ADLs support Extra Functional properties?
Analysis of E. F. properties
Insufficient 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)
48%
4%
8%
24%
12%
Kind of analyzed properties
Extra-functional propertiesFunctional propertiesHW/SW integrationBehaviorNo info
RQ4 : Extra Functional
RQ4: How ADLs support Extra Functional properties?
Analysis of E. F. properties
Insufficient 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)
0
10
20
30
40
Limitations
RQ4 : Extra Functional
RQ4: How ADLs support Extra Functional properties?
Analysis of E. F. properties
Insufficient expressiveness for extra-functional properties
Interaction with verification engines for performance and dependability [only 8 respondents] (24% interact with verific. engines for performance and
dependability analysis, most with external tools)
Kind of engine Kind of analysis
Internal verification engine Performance
3 (37,5%) 4 (50%)
External verification engine Dependability
5 (62,5%) 3 (37,5%)
Generic constraints
4 (50%)
blank blank
41 (85,5%) 40 (85%)
Needs and Limitations of existing ADLs
Needs and Limitations of existing ADLs
Needs: design, communicate, analyze
How 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
Anal
ysis
Impl
emen
tatio
n
Com
mun
icat
ion
Des
ign
Pro
cess
Docum
enta
tion
0
10
20
Type of needs
Needs and Limitations of existing ADLs
Needs and Limitations of existing ADLs
Needs: design, communicate, analyze How 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
Analy
sis
Impl
emen
tatio
n
Com
mun
icatio
n
Des
ign
Pro
cess
Docum
enta
tion
0
5
10
15
20
25
Type of needs
Type of needs
Needs and Limitations of existing ADLs
Needs and Limitations of existing ADLs
Needs: design, communicate, analyze
How 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
Proj
ect d
efini
tion
Req
uire
men
ts
Des
ign
Ver
ifica
tion
Impl
emen
tatio
n
Tes
ting
Dep
loym
ent
Mai
ntai
nanc
e05
1015202530354045
Life-cycle phases
Needs and Limitations of existing ADLs
Needs and Limitations of existing ADLs
Needs: design, communicate, analyze
How 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
010203040
Limitations
Needs and Limitations of existing ADLs
Needs and Limitations of existing ADLs
Needs: design, communicate, analyze
How 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
0
15
30
45
Extension/customization: how?
68%
32%
Extended/customized an architectural notation?
yesNo
Needs and Limitations of existing ADLs
Needs and Limitations of existing ADLs
Needs: design, communicate, analyze
How 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
9%46%
12%
21%
12%
Tool satisfaction
Very satis-fied
Satisfied Neutral
Not satis-fied
Absolutely not satis-fied
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
86% find missing tool features
Poor
link
to im
plem
enta
tion/
code
Poo
r doc
umen
tatio
n ge
nera
tion
Poo
r tra
ceab
ility
to/fr
om re
quire
men
ts
Hard
to syn
c with
info
out
side
the
tool
Poo
r sup
port
for m
ultip
le v
iewpo
ints
No
reve
rse
arch
itect
ing
supp
ort
Bet
ter s
uppo
rt fo
r ana
lysis
Poo
r gra
phical
repr
esen
tatio
ns
Poo
r usa
bilit
y
Not p
erm
issiv
e
Inco
mpl
ete
No
inte
rope
rabi
lity
with
oth
er to
ols
Too
l/ven
dor l
ocki
n
poo
r sup
port
for m
anag
ing
chan
ges i
n th
e SA
No
miss
ing
feat
ures
0
5
10
15
20
25
30
35
40
45
Features missing from the tools
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
Additional Features
Bette
r lin
k to
code
Flexi
bilit
y/ex
tens
ibili
ty
Usabi
lity
Bette
r sup
port
for d
omai
n-sp
ecifi
c con
cept
s
Bette
r lin
k to
arti
fact
s in
othe
r life
-cyc
le p
hase
s
Stan
dard
conc
epts
Bette
r sup
port
for c
omm
unicat
ion
Bet
ter l
ink
to th
e who
le d
evel
opm
ent p
roce
ss
Bette
r sup
port
for c
ompa
ring
solu
tions
Bette
r sup
port
for m
ultip
le v
iewpo
ints
Bet
ter/n
ew a
naly
sis t
echn
ique
s
Bette
r tra
inin
g pr
ogra
mm
es0
5
10
15
20
25
30
35
40
45
Additional needed features for architectural notations
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
Versioning
Yes
Yes
, con
figur
atio
n m
anag
emen
t
Yes
,pro
ject
man
agem
ent t
ools
Yes,b
uilt-
in in
to th
e ar
chite
ctur
al to
ol
Yes
, man
ually
Yes
, CMS No
0
5
10
15
20
25
30
35
40
45
50
SA descriptions versioning
SA descriptions versioning
usefulness of ADL features in past and future projects
Contact information
For any further information, feel free to contact us at any time.
Henry Muccini: [email protected]