Subject-oriented programming
From Wikipedia, the free encyclopedia
| Please help improve this article or section by expanding it. Further information might be found on the talk page or at requests for expansion. (August 2008) |
| All or part of this article may be confusing or unclear. Please help clarify the article. Suggestions may be on the talk page. |
Subject-oriented programming refers to a method of programming 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).[vague]
The flexibility of subject composition introduces novel opportunities for developing and modularizing 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 inter operating or integrated applications.
SOP attempts to solve problems surrounding the cognitive abilities of programmers by creating subjects, which by their nature are not that different, conceptually, from aspects. Whereas the early efforts in aspects used the concept of a code weaver assembling source prior to compile time, the SOP paradigm relied on a compositor, so named due to the paradigm's heavy reliance on class composition.
[edit] Hyper/J
Hyper/J is a multidimensional separation of concerns (MDSoc) implementation for Java. MDSoC is based on subject-oriented programming, and it is an alternative approach for aspect-oriented programming. Hyper/J has been discontinued since 2003, time it evolved into the Eclipse CME project, which has been also discontinued.
[edit] See also
- Aspect-oriented software development
- Aspect-oriented programming
- Separation of concerns
- Role-Oriented Programming
- Programming paradigms
[edit] External links
- IBM subject-oriented programming
- Distributed Characteristics of Subject Oriented Programming: An evaluation with the Process and Object-Oriented Paradigms
- alphaWorks: HyperJ
- Eclipse Archived Technology Projects
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

