Lecture 7.1 Different Levels
of Contract Specifications
- contracts need to be specified for different concerns which may be orthogonal.
e.g. Syntactic contracts - such as interfaces, abstract classess
or IDLs;
Behavioral contracts as in 'design by contracts' of Meyer in terms
of preconditions,
postconditions and invariants; Synchronization contracts such as
exclusive accesses,
or specific concurrency constraints as in readers' writers' problem; Security
contracts
such as permissions; Quality-of-Service contracts such as response
time,
precesion of result
Readings mentioned in class
Lecture 7.2 The Notion of Inheritance
different types of relationships, is-a relationship, not-a-new principle,
why do we need inheritance? - discussion incomplete.
generalization of multiple instanciation Vs. generalization of multiple
classifications
Reading: A. Taivalsaari's 'On the notion of inheritance' ACM Computing
Surveys,
Sept 96.