CMU CS 15-675 Architectures for Software Systems Spring 1998
Models of Event Systems
with answers
Garlan & Kazman Questions on Readings for Lecture
15 Due: Wed Mar 4, 1998The papers:
[GKN92]: Using Tool Abstraction to Compose Systems.
[SG96]: Sections 2.4, 6.4, 6.5, 6.6.
Hints:
As usual, concentrate on the big ideas. For the first paper pay attention particularly to the argument about why ADT’s have some important limitations. The set of specific enhancements to KWIC are less important than the basic paradigm that they illustrate.
Questions:
1. Earlier in the semester we read two articles by Parnas, in which he advocated the use of information hiding and ADTs. What are the essential differences between that architectural style and the one advocated by Garlan, Kaiser and Notkin?
Data is encapsulated in ADTs versus data exposed to "tools".
System functions invoked by explicit invocation versus triggered implicitly by data change events.
2. What are the tradeoffs in using one over the other?
ADTs are good if plan to change implementation.
Toolies are good if plan to augment function.
Toolies are not incompatible with ADTs, but expose more of structure than typically done with information hiding alone.
Toolies may require additional run time invocation mechanism.
3. Suppose someone told you they were using implicit invocation, except that by convention there is always exactly one recipient of each event. And further, the announcer of the event expects a return event from the receiver carrying a result. Is this really implicit invocation? Why?
No. Since the sender depends on the existence (and uniqueness) of the recipient, it is not implicit invocation. It would be better to call it indirect invocation.
Modified: 5/18/98