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)