CMU CS 15-675 Architectures for Software Systems Spring 1997
Garlan & Shaw Questions on Readings for Lecture 8
Due: Wednesday, February 5, 1997
[SG96]: Section 2.3[PCW85]: The Modular Structure of Complex Systems
[Boo86]: Object-Oriented Development
Read for the ideas about system organization, not for programming details or prescriptions for the process of creating the systems.
In a paper that you are not reading, Liskov pointed out that there are two major differences between abstract data types and "object-oriented" objects. The substantive difference is that objects include inheritance. The other, non-substantive, difference is terminology: different names for essentially the same things, such as abstract data type/object, procedure/method, package/class, and procedure call/message. You'll have to put up with the terminology differences. Note also that object-oriented systems generally use run-time binding of procedure names to bodies to accommodate the more flexible type structure that results from inheritance.
What provisions are made by the two approaches for dealing with collections of related definitions.
Modified: 01/31/97