Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Data Communications Computer Networks and Open Systems 3rd Ed.
Data Communications Computer Networks and Open Systems 3rd Ed.
Specifying Reusable Components Using Contracts
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Hi-index | 0.00 |
Within an object-oriented system, groups of related objects often cooperate to perform some tasks or to maintain some invariants. Understanding how the cooperating objects collaborate is crucial for object-oriented software design and reuse. Helm's Contract is a technique for explicitly specifying interactions among groups of objects. In this paper, we show how Contract can be used to represent variations of a distributed routing protocol as large-grained reusable object-oriented abstractions. The routing protocol is specified as a Contract. Variants of it, corresponding to different distance metrics such as hops and transit delay, are defined as Contract refinements.