+++ to secure your transactions use the Bitcoin Mixer Service +++

 

The 5 questions you always asked yourself about


 Software
Architecture
 Recovery
             Mircea Lungu
           Fa...
5 Questions about SAR




Software Architecture Recovery - Mircea Lungu, 2008
5 Questions about SAR

       • What is it?




Software Architecture Recovery - Mircea Lungu, 2008
5 Questions about SAR

       • What is it?
       • Why is it important?




Software Architecture Recovery - Mircea Lung...
5 Questions about SAR

       • What is it?
       • Why is it important?
       • How does it work?



Software Architect...
5 Questions about SAR

       • What is it?
       • Why is it important?
       • How does it work?
       • Who does it?...
5 Questions about SAR

       • What is it?
       • Why is it important?
       • How does it work?
       • Who does it?...
What?


• Architecture Recovery
• Architecture
• Viewpoints
Architecture recovery ...




Software Architecture Recovery - Mircea Lungu, 2008
Architecture recovery ...
                                                      or Architecture Reconstruction,




Softwa...
Architecture recovery ...
                                                      or Architecture Reconstruction,
          ...
Architecture recovery ...
                                                      or Architecture Reconstruction,
          ...
Architecture recovery ...




Software Architecture Recovery - Mircea Lungu, 2008
Architecture recovery ...

     ... the flavor of reverse
     engineering that
     concerns all activities for
     makin...
Architecture recovery ...

     ... the flavor of reverse
     engineering that                                 ... the tec...
Architecture...




Software Architecture Recovery - Mircea Lungu, 2008
Architecture...
   [...] the structure or
   structures of the system,
   which comprise software
   elements, the externa...
Architecture...
   [...] the structure or
   structures of the system,
   which comprise software
   elements, the externa...
Architecture...                                                  For many others
                                         ...
What is the difference
                                               between architecture and
                           ...
Architectural Styles

       • Recurring architectural
             solutions
       • Examples
        • Pipes and filters...
Architectural Styles

       • Recurring architectural
             solutions
       • Examples
        • Pipes and filters...
Architectural Styles

       • Recurring architectural
             solutions
       • Examples
        • Pipes and filters...
Viewpoints

       • Viewpoints catalogues
        • Kruchten’95
        • Hofmeister’99
       • Ad-hoc viewpoints
      ...
Viewpoints

       • Viewpoints catalogues
        • Kruchten’95
        • Hofmeister’99
       • Ad-hoc viewpoints
      ...
What is the relation between
                            architecture recovery and reverse
                               ...
Why?


• Reasons
• Benefits
• Goals
• Challenges
Architecture erosion

             [...] the documentation about the internal architecture
             becomes rapidly ob...
Architecture Evolution
                                                      One frequently
                              ...
Architecture Evolution
                                                      One frequently
                              ...
Conceptual vs. As-is
 architecture
                                                      Software systems must
           ...
Conceptual vs. As-is
 architecture
                                                               Software systems must
  ...
Conceptual vs. As-is
 architecture
                                                               Software systems must
  ...
Conceptual vs. As-is
 architecture
                                                                  Software systems must...
Consultant’s POV

                                                      [...] Frequently we
                              ...
Benefits


            • Stepping stone towards reengineering
            • Supports detecting components for reuse


Softw...
Challenges

              • What process can support uncovering the
                     software architecture within a sy...
How?

• Generic approach
• Processes
 • Bottom-up
 • Top-down
 • Integrated
Phases of Reconstruction
                                                       Knowledge     Information
        Data Ext...
The Meta-
 Phases of Reconstruction                                              Architecture of
                         ...
Data Extraction




Software Architecture Recovery - Mircea Lungu, 2008
Data Extraction

       • Source Code (static analysis)




Software Architecture Recovery - Mircea Lungu, 2008
Data Extraction

       • Source Code (static analysis)
       • Historical Information




Software Architecture Recovery...
Data Extraction

       • Source Code (static analysis)
       • Historical Information
       • Human Expertise



Softwa...
Data Extraction

       • Source Code (static analysis)
       • Historical Information
       • Human Expertise
       • ...
Data Extraction

       • Source Code (static analysis)
       • Historical Information
       • Human Expertise
       • ...
Data Extraction

       • Source Code (static analysis)
       • Historical Information
       • Human Expertise
       • ...
[Pollet et al.’07]
Software Architecture Recovery - Mircea Lungu, 2008
Facts extracted from
 code




                                                      [Guo et al.’99]
Software Architecture...
Knowledge Abstraction

       • Get rid of useless information
        • Aggregation
          • Directory
          • Pac...
p

                                                                       n
                                              ...
p

                                                                           n
                                          ...
• Start with low-level fact
  1. Bottom-up                                          extraction
   Approaches •            ...
Tools 4 bottom-up
       • Arch
       • ArchView
       • ArcVis
       • ARMIN
       • BUNCH
       • DALI
       • Gup...
Arch


       • Developed at Siemens Research
       • Mavericks - individual procedures in the wrong
             modules...
Archview




                                                      [Pinzger’05]
Software Architecture Recovery - Mircea Lu...
Archview




                                                      [Pinzger’05]
Software Architecture Recovery - Mircea Lu...
Dali
                                                                          Rigi, IAPR (Interactive
                   ...
Advertising break!




Software Architecture Recovery - Mircea Lungu, 2008
Advertising break!

                                                      • Aggregation: based on
                        ...
Advertising break!

                                                      • Aggregation: based on
                        ...
Advertising break!

                                                      • Aggregation: based on
                        ...
Softwarenaut




Software Architecture Recovery - Mircea Lungu, 2008
Softwarenaut




Software Architecture Recovery - Mircea Lungu, 2008
Softwarenaut




Software Architecture Recovery - Mircea Lungu, 2008
Softwarenaut




Software Architecture Recovery - Mircea Lungu, 2008
• Start with previous high-
     2. Top-down                                        level knowledge about the
            ...
Tools 4 top-down


       • RMTool
       • Pulse
       • W4


Software Architecture Recovery - Mircea Lungu, 2008
Reflexion Models


                                                      Marco...




Software Architecture Recovery - Mirc...
Pulse


       • Fraunhofer Institute for ESE
       • Architecture- and Domain-Oriented Re-engineering
       • Product L...
Pulse




Software Architecture Recovery - Mircea Lungu, 2008
Pulse




Software Architecture Recovery - Mircea Lungu, 2008
Pulse




Software Architecture Recovery - Mircea Lungu, 2008
Pulse




Software Architecture Recovery - Mircea Lungu, 2008
W4
                                                      By distilling pearls of
                                         ...
W4
                                                      By distilling pearls of
                                         ...
• Combine top-down with
       3. Hybrid                                        bottom-up

      Approaches               ...
Tools 4 hybrid
       • Albortz
       • ARM
       • Bauhaus
       • Cacophony
       • DiscoTect
       • ManSART
     ...
ManSART


       • Mitre Corporation
       • Used to provide architecture
             level consulting in multiple
     ...
ManSART




                                                      [Harris et al.’ 95]
Software Architecture Recovery - Mir...
Discotect


       • Examine runtime behavior
       • Big problem: abstraction gap
       • State machines to map between...
Who?


• SEI at Carnegie Mellon
• Hasso-Plattner Institute
• Nokia Research Center
Case Study #1

       •     Author: CMU Software Engineering Institute

       •     Subject: VANISH, 50KLOC

       •    ...
#1: Results




Software Architecture Recovery - Mircea Lungu, 2008
#1: Results




Software Architecture Recovery - Mircea Lungu, 2008
#1: Results




Software Architecture Recovery - Mircea Lungu, 2008
#1: Results




Software Architecture Recovery - Mircea Lungu, 2008
#1: Results




Software Architecture Recovery - Mircea Lungu, 2008
Case Study #2
       •     Author: Hasso-Plattner Institute

       •     Subject: Apache, 100KLOC C code

       •     Pa...
#2: Results




           www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html -
Software Arch...
#2: Results




           www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html -
Software Arch...
#2: Results




           www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html -
Software Arch...
#2: Results




           www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html -
Software Arch...
#2: Results




           www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html -
Software Arch...
Case Study #3

       • Author: Nokia Research
       • System: Embedded Software Written in C
       • Existing Reference...
#3: Results




Software Architecture Recovery - Mircea Lungu, 2008
#3: Results




Software Architecture Recovery - Mircea Lungu, 2008
#3: Results




Software Architecture Recovery - Mircea Lungu, 2008
#3: Results




Software Architecture Recovery - Mircea Lungu, 2008
Others


       • “Linux as a Case Study, it’s Extracted Architecture”,
             Bowman et al.
       • “Static evalua...
Where?



• Future of SAR
• Further Reading
The Future of SAR




Software Architecture Recovery - Mircea Lungu, 2008
The Future of SAR

       • Integrating with forward engineering (continuous
             supervision, architectural firewa...
The Future of SAR

       • Integrating with forward engineering (continuous
             supervision, architectural firewa...
The Future of SAR

       • Integrating with forward engineering (continuous
             supervision, architectural firewa...
The Future of SAR

       • Integrating with forward engineering (continuous
             supervision, architectural firewa...
Further Reading
       • Annotated Bibliography
                       www.inf.unisi.ch/phd/lungu/recovery

       • Essay...
THE END



Software Architecture Recovery - Mircea Lungu, 2008
Upcoming SlideShare
Loading in …5
×

Software Architecture Recovery: The 5 Questions You Always Asked Yourself About,

8,719 views
8,526 views

Published on

The first version of my Architecture Recovery lecture that I gave at the University of Lugano.

Published in: Education, News & Politics
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,719
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
674
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Software Architecture Recovery: The 5 Questions You Always Asked Yourself About,

  1. 1. The 5 questions you always asked yourself about Software Architecture Recovery Mircea Lungu Faculty of Informatics, University of Lugano October 2008
  2. 2. 5 Questions about SAR Software Architecture Recovery - Mircea Lungu, 2008
  3. 3. 5 Questions about SAR • What is it? Software Architecture Recovery - Mircea Lungu, 2008
  4. 4. 5 Questions about SAR • What is it? • Why is it important? Software Architecture Recovery - Mircea Lungu, 2008
  5. 5. 5 Questions about SAR • What is it? • Why is it important? • How does it work? Software Architecture Recovery - Mircea Lungu, 2008
  6. 6. 5 Questions about SAR • What is it? • Why is it important? • How does it work? • Who does it? Software Architecture Recovery - Mircea Lungu, 2008
  7. 7. 5 Questions about SAR • What is it? • Why is it important? • How does it work? • Who does it? • Where is it headed? Software Architecture Recovery - Mircea Lungu, 2008
  8. 8. What? • Architecture Recovery • Architecture • Viewpoints
  9. 9. Architecture recovery ... Software Architecture Recovery - Mircea Lungu, 2008
  10. 10. Architecture recovery ... or Architecture Reconstruction, Software Architecture Recovery - Mircea Lungu, 2008
  11. 11. Architecture recovery ... or Architecture Reconstruction, or Reverse Architecting Software Architecture Recovery - Mircea Lungu, 2008
  12. 12. Architecture recovery ... or Architecture Reconstruction, or Reverse Architecting [...] an archaeological activity where the analysts must unveil all the historical design decisions by looking at the existing implementation and documentation of the system. [ Riva’00 ] Software Architecture Recovery - Mircea Lungu, 2008
  13. 13. Architecture recovery ... Software Architecture Recovery - Mircea Lungu, 2008
  14. 14. Architecture recovery ... ... the flavor of reverse engineering that concerns all activities for making existing of software architectures explicit. [Krikhaar’97] Software Architecture Recovery - Mircea Lungu, 2008
  15. 15. Architecture recovery ... ... the flavor of reverse engineering that ... the techniques and concerns all activities for processes used to uncover making existing of software a system’s architecture architectures explicit. from available information. [Jazayeri’00] [Krikhaar’97] Software Architecture Recovery - Mircea Lungu, 2008
  16. 16. Architecture... Software Architecture Recovery - Mircea Lungu, 2008
  17. 17. Architecture... [...] the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. [Bass et al.’03] Software Architecture Recovery - Mircea Lungu, 2008
  18. 18. Architecture... [...] the structure or structures of the system, which comprise software elements, the externally [...] the fundamental visible properties of those organization of a system, elements, and the embodied in its components, relationships among them. their relationships to each other and the environment, and the [Bass et al.’03] principles governing its design and evolution. [ANSI/IEEE Std. 1471-2000] Software Architecture Recovery - Mircea Lungu, 2008
  19. 19. Architecture... For many others visit www.sei.cmu.edu/architecture/ definitions.html [...] the structure or structures of the system, which comprise software elements, the externally [...] the fundamental visible properties of those organization of a system, elements, and the embodied in its components, relationships among them. their relationships to each other and the environment, and the [Bass et al.’03] principles governing its design and evolution. [ANSI/IEEE Std. 1471-2000] Software Architecture Recovery - Mircea Lungu, 2008
  20. 20. What is the difference between architecture and design? Software Architecture Recovery - Mircea Lungu, 2008
  21. 21. Architectural Styles • Recurring architectural solutions • Examples • Pipes and filters • Blackboard • Peer-to-peer • ... a Software Architecture Recovery - Mircea Lungu, 2008
  22. 22. Architectural Styles • Recurring architectural solutions • Examples • Pipes and filters • Blackboard • Peer-to-peer • ... a Software Architecture Recovery - Mircea Lungu, 2008
  23. 23. Architectural Styles • Recurring architectural solutions • Examples • Pipes and filters • Blackboard SAR is not preoccupied with • Peer-to-peer recovering the architectural • ... style of the system. a Software Architecture Recovery - Mircea Lungu, 2008
  24. 24. Viewpoints • Viewpoints catalogues • Kruchten’95 • Hofmeister’99 • Ad-hoc viewpoints • Smolander’01 • Conway’s law Software Architecture Recovery - Mircea Lungu, 2008
  25. 25. Viewpoints • Viewpoints catalogues • Kruchten’95 • Hofmeister’99 • Ad-hoc viewpoints • Smolander’01 Most of the SAR processes focus on • Conway’s law recovering component-and- connector viewpoints. Software Architecture Recovery - Mircea Lungu, 2008
  26. 26. What is the relation between architecture recovery and reverse engineering? Software Architecture Recovery - Mircea Lungu, 2008
  27. 27. Why? • Reasons • Benefits • Goals • Challenges
  28. 28. Architecture erosion [...] the documentation about the internal architecture becomes rapidly obsolete. To make changes, developers need a clear understanding of the underlying architecture of the products. C. Riva, Software Architecture Group, Nokia Research Software Architecture Recovery - Mircea Lungu, 2008
  29. 29. Architecture Evolution One frequently accompanying property of evolution is an increasing brittleness of the system -- that is, an increasing resistance to change, or at least to changing gracefully. [Perry & Wolf ’92] Software Architecture Recovery - Mircea Lungu, 2008
  30. 30. Architecture Evolution One frequently accompanying property of evolution is an • Architectural drift increasing brittleness of the system -- that is, an • Architectural erosion increasing resistance to change, or at least to • Architectural upgrade changing gracefully. [Perry & Wolf ’92] Software Architecture Recovery - Mircea Lungu, 2008
  31. 31. Conceptual vs. As-is architecture Software systems must evolve or become obsolete [...] [Lehmann’80] Software Architecture Recovery - Mircea Lungu, 2008
  32. 32. Conceptual vs. As-is architecture Software systems must Change In Environment evolve or become obsolete [...] Change In Code Environment Code [Lehmann’80] Change In Code Architecture Change In Architecture As-Is Architecture Software Architecture Recovery - Mircea Lungu, 2008
  33. 33. Conceptual vs. As-is architecture Software systems must Change In Environment evolve or become obsolete [...] Change In Code Environment Code [Lehmann’80] Change In Code Change In Architecture Architecture There is a need for As-Is Architecture enforcing the architecture of a system Software Architecture Recovery - Mircea Lungu, 2008
  34. 34. Conceptual vs. As-is architecture Software systems must evolve or become Architectural Change In Firewall Environment obsolete [...] Change In Code Environment Code [Lehmann’80] Change In Code Change In Architecture Architecture There is a need for enforcing the architecture of a system Software Architecture Recovery - Mircea Lungu, 2008
  35. 35. Consultant’s POV [...] Frequently we are asked to analyze • Missing architectural a systemʼs software specifications architecture and are • Support the given only its code • Re-documentation and the (limited) time • Reengineering of a designer. [Kazman et al.’99] Software Architecture Recovery - Mircea Lungu, 2008
  36. 36. Benefits • Stepping stone towards reengineering • Supports detecting components for reuse Software Architecture Recovery - Mircea Lungu, 2008
  37. 37. Challenges • What process can support uncovering the software architecture within a system? • How much can you automate in this process? • What are the limits of architecture recovery? (e.g., Recovering all design decisions). Software Architecture Recovery - Mircea Lungu, 2008
  38. 38. How? • Generic approach • Processes • Bottom-up • Top-down • Integrated
  39. 39. Phases of Reconstruction Knowledge Information Data Extraction Organization Exploration [Tilley et al.’96] Software Architecture Recovery - Mircea Lungu, 2008
  40. 40. The Meta- Phases of Reconstruction Architecture of Architecture Recovery Tools Knowledge Information Data Extraction Organization Exploration [Tilley et al.’96] Software Architecture Recovery - Mircea Lungu, 2008
  41. 41. Data Extraction Software Architecture Recovery - Mircea Lungu, 2008
  42. 42. Data Extraction • Source Code (static analysis) Software Architecture Recovery - Mircea Lungu, 2008
  43. 43. Data Extraction • Source Code (static analysis) • Historical Information Software Architecture Recovery - Mircea Lungu, 2008
  44. 44. Data Extraction • Source Code (static analysis) • Historical Information • Human Expertise Software Architecture Recovery - Mircea Lungu, 2008
  45. 45. Data Extraction • Source Code (static analysis) • Historical Information • Human Expertise • Runtime Behavior (dynamic analysis) Software Architecture Recovery - Mircea Lungu, 2008
  46. 46. Data Extraction • Source Code (static analysis) • Historical Information • Human Expertise • Runtime Behavior (dynamic analysis) • Physical Organization Software Architecture Recovery - Mircea Lungu, 2008
  47. 47. Data Extraction • Source Code (static analysis) • Historical Information • Human Expertise • Runtime Behavior (dynamic analysis) • Physical Organization • Social Organization Software Architecture Recovery - Mircea Lungu, 2008
  48. 48. [Pollet et al.’07] Software Architecture Recovery - Mircea Lungu, 2008
  49. 49. Facts extracted from code [Guo et al.’99] Software Architecture Recovery - Mircea Lungu, 2008
  50. 50. Knowledge Abstraction • Get rid of useless information • Aggregation • Directory • Packages • Clustering • Filtering [Lungu et al.’05] Software Architecture Recovery - Mircea Lungu, 2008
  51. 51. p n -u w om do d ri p- tt yb Bo To H Processes Software Architecture Recovery - Mircea Lungu, 2008
  52. 52. p n -u w om do d ri p- tt yb Bo To H Processes [Pollet et al.’07] Software Architecture Recovery - Mircea Lungu, 2008
  53. 53. • Start with low-level fact 1. Bottom-up extraction Approaches • Aggregate the information to higher abstraction levels either manually or automatically Software Architecture Recovery - Mircea Lungu, 2008
  54. 54. Tools 4 bottom-up • Arch • ArchView • ArcVis • ARMIN • BUNCH • DALI • Gupro • Intensive • Rigi • Softwarenaut Software Architecture Recovery - Mircea Lungu, 2008
  55. 55. Arch • Developed at Siemens Research • Mavericks - individual procedures in the wrong modules • Heuristic modularization advice [Schwanke’91] Software Architecture Recovery - Mircea Lungu, 2008
  56. 56. Archview [Pinzger’05] Software Architecture Recovery - Mircea Lungu, 2008
  57. 57. Archview [Pinzger’05] Software Architecture Recovery - Mircea Lungu, 2008
  58. 58. Dali Rigi, IAPR (Interactive Architecture Pattern Recognition) [12], RMTool [14], and Perl for analysis and manipulation. Lightweight Source Model Extraction PostgreSQL (based (LSME), Imagix, make, and Perl on POSTGRES) for for extraction of source model model storage, information for C and C++, Software Architecture Recovery - Mircea Lungu, 2008
  59. 59. Advertising break! Software Architecture Recovery - Mircea Lungu, 2008
  60. 60. Advertising break! • Aggregation: based on directory structure, clustering, package structure Software Architecture Recovery - Mircea Lungu, 2008
  61. 61. Advertising break! • Aggregation: based on directory structure, clustering, package structure • Filtering: based on evolutionary information, metrics Software Architecture Recovery - Mircea Lungu, 2008
  62. 62. Advertising break! • Aggregation: based on directory structure, clustering, package structure • Filtering: based on evolutionary information, metrics • Visualization: polymetric Software Architecture Recovery - Mircea Lungu, 2008
  63. 63. Softwarenaut Software Architecture Recovery - Mircea Lungu, 2008
  64. 64. Softwarenaut Software Architecture Recovery - Mircea Lungu, 2008
  65. 65. Softwarenaut Software Architecture Recovery - Mircea Lungu, 2008
  66. 66. Softwarenaut Software Architecture Recovery - Mircea Lungu, 2008
  67. 67. • Start with previous high- 2. Top-down level knowledge about the application domain approaches • Formulate hypotheses and verify them against the source code Software Architecture Recovery - Mircea Lungu, 2008
  68. 68. Tools 4 top-down • RMTool • Pulse • W4 Software Architecture Recovery - Mircea Lungu, 2008
  69. 69. Reflexion Models Marco... Software Architecture Recovery - Mircea Lungu, 2008
  70. 70. Pulse • Fraunhofer Institute for ESE • Architecture- and Domain-Oriented Re-engineering • Product Line Software Engineering Software Architecture Recovery - Mircea Lungu, 2008
  71. 71. Pulse Software Architecture Recovery - Mircea Lungu, 2008
  72. 72. Pulse Software Architecture Recovery - Mircea Lungu, 2008
  73. 73. Pulse Software Architecture Recovery - Mircea Lungu, 2008
  74. 74. Pulse Software Architecture Recovery - Mircea Lungu, 2008
  75. 75. W4 By distilling pearls of wisdom stored deep inside source control systems, we can assist developers to understand the state of their project and plan confidently for its future [Hassan & Holt’04] Software Architecture Recovery - Mircea Lungu, 2008
  76. 76. W4 By distilling pearls of wisdom stored deep inside source control systems, we can assist developers to understand the state of their project and plan • Which,Who,Why,When confidently for its future [Hassan & Holt’04] Software Architecture Recovery - Mircea Lungu, 2008
  77. 77. • Combine top-down with 3. Hybrid bottom-up Approaches • Abstract low-level information • Refine high-level information Software Architecture Recovery - Mircea Lungu, 2008
  78. 78. Tools 4 hybrid • Albortz • ARM • Bauhaus • Cacophony • DiscoTect • ManSART • PBS/SBS • Symphony / Nimeta Software Architecture Recovery - Mircea Lungu, 2008
  79. 79. ManSART • Mitre Corporation • Used to provide architecture level consulting in multiple military systems Software Architecture Recovery - Mircea Lungu, 2008
  80. 80. ManSART [Harris et al.’ 95] Software Architecture Recovery - Mircea Lungu, 2008
  81. 81. Discotect • Examine runtime behavior • Big problem: abstraction gap • State machines to map between implementation- level events and architectural operations [Yan et al.’04] Software Architecture Recovery - Mircea Lungu, 2008
  82. 82. Who? • SEI at Carnegie Mellon • Hasso-Plattner Institute • Nokia Research Center
  83. 83. Case Study #1 • Author: CMU Software Engineering Institute • Subject: VANISH, 50KLOC • Tools: Dali, ARMIN • Goals • generate several architectural views • determine if strict layering is in place • Assumptions: little documentation, no developers available Software Architecture Recovery - Mircea Lungu, 2008
  84. 84. #1: Results Software Architecture Recovery - Mircea Lungu, 2008
  85. 85. #1: Results Software Architecture Recovery - Mircea Lungu, 2008
  86. 86. #1: Results Software Architecture Recovery - Mircea Lungu, 2008
  87. 87. #1: Results Software Architecture Recovery - Mircea Lungu, 2008
  88. 88. #1: Results Software Architecture Recovery - Mircea Lungu, 2008
  89. 89. Case Study #2 • Author: Hasso-Plattner Institute • Subject: Apache, 100KLOC C code • Participants: 60 4th semester students • 32 topics assigned • Sources • documentation (well written, little info about the conceptual architecture) • “Writing Apache modules with Perl” • Results: overview analysis, detailed state diagrams, memory management • Time:: half a semester for getting accustomed with the domain and half for analyzing the implementation Software Architecture Recovery - Mircea Lungu, 2008
  90. 90. #2: Results www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html - Software Architecture Recovery - Mircea Lungu, 2008
  91. 91. #2: Results www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html - Software Architecture Recovery - Mircea Lungu, 2008
  92. 92. #2: Results www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html - Software Architecture Recovery - Mircea Lungu, 2008
  93. 93. #2: Results www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html - Software Architecture Recovery - Mircea Lungu, 2008
  94. 94. #2: Results www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_ Project.html - Software Architecture Recovery - Mircea Lungu, 2008
  95. 95. Case Study #3 • Author: Nokia Research • System: Embedded Software Written in C • Existing Reference Architecture • Scripts that extract information about messages Software Architecture Recovery - Mircea Lungu, 2008
  96. 96. #3: Results Software Architecture Recovery - Mircea Lungu, 2008
  97. 97. #3: Results Software Architecture Recovery - Mircea Lungu, 2008
  98. 98. #3: Results Software Architecture Recovery - Mircea Lungu, 2008
  99. 99. #3: Results Software Architecture Recovery - Mircea Lungu, 2008
  100. 100. Others • “Linux as a Case Study, it’s Extracted Architecture”, Bowman et al. • “Static evaluation of Software Architectures”, Knodel et al. Software Architecture Recovery - Mircea Lungu, 2008
  101. 101. Where? • Future of SAR • Further Reading
  102. 102. The Future of SAR Software Architecture Recovery - Mircea Lungu, 2008
  103. 103. The Future of SAR • Integrating with forward engineering (continuous supervision, architectural firewalls, etc.) Software Architecture Recovery - Mircea Lungu, 2008
  104. 104. The Future of SAR • Integrating with forward engineering (continuous supervision, architectural firewalls, etc.) • Collaborative architecture recovery Software Architecture Recovery - Mircea Lungu, 2008
  105. 105. The Future of SAR • Integrating with forward engineering (continuous supervision, architectural firewalls, etc.) • Collaborative architecture recovery • Product family architecture Software Architecture Recovery - Mircea Lungu, 2008
  106. 106. The Future of SAR • Integrating with forward engineering (continuous supervision, architectural firewalls, etc.) • Collaborative architecture recovery • Product family architecture • Ecosystem architecture Software Architecture Recovery - Mircea Lungu, 2008
  107. 107. Further Reading • Annotated Bibliography www.inf.unisi.ch/phd/lungu/recovery • Essays on Architecture http://www.sei.cmu.edu/architecture/essays.html • PhD Theses: Pinzger’05, Krikhaar’99 • Survey Articles: Pollet’07 Software Architecture Recovery - Mircea Lungu, 2008
  108. 108. THE END Software Architecture Recovery - Mircea Lungu, 2008

×