SlideShare uma empresa Scribd logo
1 de 54
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:







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
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)
Current role

Current role or interviewed people
45
40
35
30
25
20
15
10

5
0

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
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
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%)
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)
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
Used Architectural Notations
40
35
30
25
20
15
10
5
0
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
RQ1 - Summary
 Summary:
 UML

very used (86%)
 Formal ADL: only rarely and produced by industry
(AADL, Archimate, ad hoc, Rapide)

need
s
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, ...)

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)

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, ...)

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
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, ...)

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:

 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
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
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
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? 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
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)
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
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
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
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
Tool support: missing features
Features missing from the tools
45
40
35
30
25
20
15
10
5
0
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
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)
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)
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)
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:
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:
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

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:
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:
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:
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
Features missing from the tools
45
40
35
30

25
20
15
10
5
0
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
Additional needed features for architectural notations
45
40
35
30
25
20
15
10
5
0
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
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
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: henry.muccini@univaq.it

Mais conteúdo relacionado

Mais de Henry Muccini

Mais de Henry Muccini (20)

Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 
EasyLine: call4ideas_2016
EasyLine: call4ideas_2016EasyLine: call4ideas_2016
EasyLine: call4ideas_2016
 
The role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture DescriptionsThe role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture Descriptions
 
Euroweb+ meeting at the University of L'Aquila, Italy
Euroweb+ meeting at the University of L'Aquila, ItalyEuroweb+ meeting at the University of L'Aquila, Italy
Euroweb+ meeting at the University of L'Aquila, Italy
 
On the Use of Component-Based Principles and Practices for Architecting Cyber...
On the Use of Component-Based Principles and Practices for Architecting Cyber...On the Use of Component-Based Principles and Practices for Architecting Cyber...
On the Use of Component-Based Principles and Practices for Architecting Cyber...
 
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
1ST DISIM WORKSHOP ON ENGINEERING CYBER-PHYSICAL SYSTEMS
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the Abstraction
 
01 (software) design an analogy with my closet
01 (software) design an analogy with my closet01 (software) design an analogy with my closet
01 (software) design an analogy with my closet
 

Último

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Último (20)

Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 

What Industry Needs from Architectural Languages

  • 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
  • 5. A. Questionnaire (available at http://goo.gl/J4C0x4)
  • 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)
  • 8. Current role Current role or interviewed people 45 40 35 30 25 20 15 10 5 0 Current role
  • 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
  • 16. RQ1: Used ADLs Used Architectural Notations 40 35 30 25 20 15 10 5 0
  • 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
  • 49. Additional Features Additional needed features for architectural notations 45 40 35 30 25 20 15 10 5 0
  • 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
  • 52.
  • 53. usefulness of ADL features in past and future projects
  • 54. Contact information  For any further information, feel free to contact us at any time.  Henry Muccini: henry.muccini@univaq.it