INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes.

21
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    1

Transcript of INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes.

Page 1: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes.

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.

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.

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.

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.

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.

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.

Conceptual vs. As-is Architecture

Page 8: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes.

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.

How to do it

Bottom-up Top-down Hybrid

Page 10: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes.

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.

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.

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.

How to do it – overall

Page 14: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes.

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.

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.

Grid Computing

Page 17: INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 11 Prof. Crista Lopes.

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.

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.

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.

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.

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