The Free On-line Dictionary of Computing (30 December 2018):
subject-oriented programming
    Program composition that supports building
   object-oriented systems as compositions of subjects,
   extending systems by composing them with new subjects, and
   integrating systems by composing them with one another
   (perhaps with glue or adapter subjects).
   The flexibility of subject composition introduces novel
   opportunities for developing and modularising object-oriented
   programs.  Subject-oriented programming-in-the-large involves
   dividing a system into subjects and writing rules to compose
   them correctly.  It complements object-oriented programming,
   solving a number of problems that arise when OOP is used to
   develop large systems or suites of interoperating or
   integrated applications.
   IBM subject-oriented programming
   (http://research.ibm.com/sop/).
   (1999-08-31)