CMU CS 15-675 Architectures for Software Systems Spring 1996
Garlan & Shaw Questions on Readings for Lecture 3 Due: Mon Jan 22, 1996
The papers:
[SG96]: Shaw and Garlan (1996): Software Architecture: Chapter 1, Section 2.1, and quick scan of Sections 2.2 to 2.10 (we'll revisit these later). The syllabus mentions the Preface, but you don't have it.
[DK76]: DeRemer and Kron (1976): Programming-in-the-Large Versus Programming-in-the-Small, Sections I to IV.
[PN86]: Prieto-Diaz and Neighbors (1986): Module Interconnection Languages
Hints:
The SG96 readings set the stage for the course. They discuss software engineering as an engineering discipline and the notion of architecture as it applies to systems in general and software in particular. Read in order to understand the problems and motivation for software architecture.
We will read Sections 2.2 to 2.10 in detail in various parts of the course. For now, look through them so you grasp the main idea. At least read the first paragraph or two of each section and look at the pictures.
Read the other two papers (DK76 and PN86) for the big ideas about system organization and resulting benefits. Do not get bogged down in the notation of DeRemer and Kron, Section V. In PN86, scan sections 3.2 to 3.4 and sections 4.1 to 4.8 to get a flavor of the problems the solv, but do not get bogged down in specific notations (do read the rest of PN86.
None of these questions requires more than half a page of response.
Questions:
What are the major abstractions used by Garlan/Shaw to describe large systems? That is, what structure do they impose on answers to a question such as ``what's this architecture?''?
How do engineeringdisciplines evolve?
In discussing MIL75, both DK76 and PN86 mention that dealing with "External Scope" is an important objective of the language. Explain external scope, identify the elements of the MIL "universe" with which it is concerned, and provide a specific reason why it is useful.