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)