What Industry Needs from Architectural Languages

935 views

Published on

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)

Published in: Education, Technology

What Industry Needs from Architectural Languages

  1. 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. 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. 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. 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. 5. A. Questionnaire (available at http://goo.gl/J4C0x4)
  6. 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. 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. 8. Current role Current role or interviewed people 45 40 35 30 25 20 15 10 5 0 Current role
  9. 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. 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. 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. 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. 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. 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. 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. 16. RQ1: Used ADLs Used Architectural Notations 40 35 30 25 20 15 10 5 0
  17. 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. 18. RQ1 - Summary  Summary:  UML very used (86%)  Formal ADL: only rarely and produced by industry (AADL, Archimate, ad hoc, Rapide) need s
  19. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 35. Tool support: missing features Features missing from the tools 45 40 35 30 25 20 15 10 5 0
  36. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 47. 86% find missing tool features Features missing from the tools 45 40 35 30 25 20 15 10 5 0
  48. 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. 49. Additional Features Additional needed features for architectural notations 45 40 35 30 25 20 15 10 5 0
  50. 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. 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. 52. usefulness of ADL features in past and future projects
  53. 53. Contact information  For any further information, feel free to contact us at any time.  Henry Muccini: henry.muccini@univaq.it

×