inf 123 sw arch, dist sys & interop lecture 11 prof. crista lopes
Post on 19-Dec-2015
215 views
TRANSCRIPT
![Page 1: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/1.jpg)
INF 123 SW ARCH, DIST SYS & INTEROP
LECTURE 11
Prof. Crista Lopes
![Page 2: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/2.jpg)
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
Also good material in the textbook
Understanding of Grid Computing
![Page 3: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/3.jpg)
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?
![Page 4: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/4.jpg)
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]
![Page 5: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/5.jpg)
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.
Deployment Arch.
SoftwareArch.
UsabilityArch.
“Real”Syste
myour homework
![Page 6: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/6.jpg)
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?
![Page 7: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/7.jpg)
Conceptual vs. As-is Architecture
![Page 8: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/8.jpg)
Conceptual vs. As-is Architecture
One needs to enforce the system architecture constantly
![Page 9: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/9.jpg)
How to do it
Bottom-up Top-down Hybrid
![Page 10: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/10.jpg)
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!
![Page 11: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/11.jpg)
How to do it – top-down
Start with existing high-level knowledge about system
Formulate hypothesis and verify them against source code
![Page 12: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/12.jpg)
How to do it – hybrid
(all recovery efforts end up being hybrid) Combine bottom-up & top-down
![Page 13: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/13.jpg)
How to do it – overall
![Page 14: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/14.jpg)
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
![Page 15: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/15.jpg)
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
![Page 16: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/16.jpg)
Grid Computing
![Page 17: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/17.jpg)
Grid Computing
“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
![Page 18: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/18.jpg)
Grid Computing Middleware
A layer of services on top of open protocols that provide coordination Job allocation Distribution / Parallelism Collection of results Data replication …
![Page 19: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/19.jpg)
Grid Computing Architecture “Collective”:
Coordinates resource usage
“Resource”: the shared unit
“Connectivity”: communication and authentication
“Fabric”: manages low-level resources
![Page 20: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/20.jpg)
Grid Computing Examples
Open Science Grid (USA) https://twiki.grid.iu.edu/bin/view/Document
ation/JobSubmissionComparison
TeraGrid (USA) National Grid Service (UK) …
![Page 21: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes](https://reader030.vdocument.in/reader030/viewer/2022032703/56649d2d5503460f94a040cf/html5/thumbnails/21.jpg)
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