Subject-oriented programming: Supporting decentralized development of objects

Harold Ossher, Frank Budinsky, Ian Simmonds

1994 · 24 citations · 5 references

Concepts

Abstract

Object-oriented applications execute by performing operations on objects. In suites of inter-operating or integrated applications, such as are essential in an enterprise setting, the same objects must be manipulated by multiple applications. Each application generally requires its own particular operations to be supported. For example, a Shipping application might require Truck objects to support a “What is your capacity?” operation, whereas a Transportation application might require them to support a “Set your route ” opera-tion. Typically, the responsibility for implementing all operations for a class of objects falls on a class owner. This leads to the need for centralized management of, or at least extensive and costly negotiation between, application developers and class owners. There are two aspects to this negotiation: 1. Reaching agreement as to the meaning of classes and operations. 2. Securing a commitment from class owners to implement applications ' needed operations in a timely fashion. In the example, the owner of the Truck class would be responsible for implementing “What is your ca-pacity?, ” “Set your route, ” and any other operations required by any applications that use Truck objects, with agreed-upon meaning and in accordance with the applications ' development schedules.

References

5