Download presentation
Presentation is loading. Please wait.
1
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes
2
Objectives Understanding of Software Architecture Recovery what, why, how, who Material in this lecture adapted from http://www.slideshare.net/mircea.lungu/software- architecture-recovery-in-five-questions-presentation http://www.slideshare.net/mircea.lungu/software- architecture-recovery-in-five-questions-presentation Also good material in the textbook Understanding of Grid Computing
3
Software Architecture Recovery aka Architecture Reconstruction What is it? Quick answer: Your Homework 4 Why is it important? How does it work? Who does it?
4
What is it [...] 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] .. the flavor of reverse engineering that concerns all activities for making existing software architectures explicit. [Krikhaar’97] …techniques and processes used to uncover a system’s architecture from available information. [Jazayari’00]
5
What is it Usually not focused on architectural styles because they are recurring solutions that are easy to spot Usually focused on recovering component and connector viewpoints [Logical] System Arch. [Logical] System Arch. Deployment Arch. Software Arch. Software Arch. Usability Arch. Usability Arch. “Real” System “Real” System your homework
6
Why it’s important Documentation tends to become obsolete over time Particularly in early stages of development But to make changes and extend the system developers need a clear understanding of the system architecture Or else architectural drift & erosion Hence, architectural recovery must be practiced often, even constantly Read a contributor’s code and recover the architecture there. Does it match the system’s architecture?
7
Conceptual vs. As-is Architecture
8
One needs to enforce the system architecture constantly
9
How to do it Bottom-up Top-down Hybrid
10
How to do it – bottom-up Source code analysis With or without tools Software organization Packages, namespaces, directories: Knowledge abstraction Runtime behavior With or without tools Historical information Commit history Search, search, search!
11
How to do it – top-down Start with existing high-level knowledge about system Formulate hypothesis and verify them against source code
12
How to do it – hybrid (all recovery efforts end up being hybrid) Combine bottom-up & top-down
13
How to do it – overall
14
Who does it Everyone should, at all levels, all the time Helps avoid architectural drifts High-paid consultants do it for large corporations that don’t practice the above Researchers do it to help explain well-known systems whose architecture is in devs’ heads only
15
Case Study Apache httpd, 100KLOC of C 60 students like you, 1 semester Data: Source code Documentation (well written but lacking about internal architecture) Results: overview, state diagrams, memory management… documentation apachestudy.pdf apachestudy.pdf
16
Grid Computing
17
“Combination of computer resources from multiple administrative domains for a common goal” A grid Coordinates resources nor subject to centralized control Using standard, open protocols To deliver non-trivial services with good QoS Addition of computing resources subject to contracts Often used for scientific tasks
18
Grid Computing Middleware A layer of services on top of open protocols that provide coordination Job allocation Distribution / Parallelism Collection of results Data replication …
19
Grid Computing Architecture “Collective”: Coordinates resource usage “Resource”: the shared unit “Connectivity”: communication and authentication “Fabric”: manages low-level resources
20
Grid Computing Examples Open Science Grid (USA) Open Science Grid https://twiki.grid.iu.edu/bin/view/Documentation/JobS ubmissionComparison https://twiki.grid.iu.edu/bin/view/Documentation/JobS ubmissionComparison TeraGrid (USA) TeraGrid National Grid Service (UK) National Grid Service …
21
Summary Software Architecture Recovery Foundations for your Homework 4 and for the rest of your life Grid Computing Sharing computing and data resources for a common goal Middleware
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.