Some Notes on Lecture 7

 
 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.