In subject-oriented programming, a subject is a collection of classes or class fragments whose {class hierarchy} models its domain in its own, subjective way. A subject may be a COMplete application in itself, or it may be an inCOMplete fragment that must be COMposed with other subjects to produce a COMplete application. Subject COMposition COMbines class hierarchies to produce new subjects that incorporate functionality from existing subjects. (1999-08-31)