Subject-oriented programming: a critique of pure objects

@inproceedings{Harrison1993SubjectorientedPA,
  title={Subject-oriented programming: a critique of pure objects},
  author={William H. Harrison and Harold Ossher},
  booktitle={Conference on Object-Oriented Programming Systems, Languages, and Applications},
  year={1993}
}
Object-Oriented technology is often described in terms of an interwoven troika of themes: encapsulation, polymorphism, and inheritance. But these themes are firmly tied with the concept of identity. If object-oriented technology is to be successfully scaled from the development of independent applications to development of integrated suites of applications, it must relax its emphasis on the objecf. The technology must recognize more directly that a multiplicity of subjective views delocalizes… 

Figures from this paper

Service-Oriented Programming – Supporting Emerging Variations of Object-Oriented Programming

This work describes here a re-interpretation of familiar object-oriented concepts that enables object- oriented software to be much less dependent on the structure of the implementations of the services that they call.

Distributed characteristics of subject oriented programming: an evaluation with the process and object paradigms

It is concluded that the subject paradigm is equal to the process paradigm in most regards and may offer certain advantages over the object-oriented paradigm in a distributed environment.

The paradoxical success of aspect-oriented programming

The author of this essay finds that much of aspect-oriented programming's success seems to be based on the conception that it improves both modularity and the structure of code, while in fact, it works against the primary purposes of the two, namely independent development and understandability of programs.

Language Constructs for Context-oriented Programming

This paper illustrates the ideas of ContextL by providing dierent UI views on the same object while, at the same time, keeping the conceptual simplicity of objectoriented programming that objects know by themselves how to behave, in this case how to display themselves.

Layered , Server-based Supportfor Object-Oriented Application DevelopmentGuruduth

This paper advocates the idea that the physical mod-ularity ((le structure) of application components supported by conventional OS environments can be elevated to the level of logical modularity,

Language constructs for context-oriented programming: an overview of ContextL

This paper illustrates the ideas of ContextL by providing different UI views on the same object while, at the same time, keeping the conceptual simplicity of object-oriented programming that objects know by themselves how to behave, in this case how to display themselves.

Layered, server-based support for object-oriented application development

This paper advocates the idea that the physical modularity (file structure) of application components supported by conventional OS environments can be elevated to the level of logical modularity,

Post object-oriented paradigms in software development : a comparative analysis

The main goals of the paper are to present open problems for the OO paradigm, to analyse two post-OO paradigms involved in confronting these problems, and to indicate a possible application of these paradigm.

Distributing objects with multiple aspects

This paper looks at distribution in the context of the separation of concerns, and presents an approach to distributing objects that embed different aspects.

Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs

This paper examines large-scale refinements in terms of a fundamental object-oriented technique called collaboration-based design and presents a specific expression of large- scale refinements called mixin layers, and demonstrates how it overcomes the scalability difficulties that plagued prior work.
...

References

SHOWING 1-10 OF 15 REFERENCES

A law-based approach to object-oriented programming

It is shown how, starting from a very primitive foundation, one can establish various forms of encapsulation nor inheritance, as well as other useful disciplines, simply by means of appropriate laws.

Object-oriented programming ; an evolutionary approach

The author describes the development of an object-oriented C language compiler, and how it can be put to work.

Contracts: specifying behavioral compositions in object-oriented systems

Using contracts provides a basis and vocabulary for Interaction-Oriented design which greatly facilitates the early identification, abstraction and reuse of patterns of behavior in programs.

A denotational semantics of inheritance

This thesis develops a semantic model of inheritance and investigates its applications for the analysis and design of programming languages, proven equivalent to the operational semantics of inheritance embodied by the interpreters of object-oriented languages like Smalltalk.

Aspects: extending objects to support multiple, independent roles

This work introduces aspects, a new mechanism designecf to meet, these modelling requirements within the framework of a strongly-typed 00DBS, and extends an existing object with new state and new behavior while maintaining the same object identity.

Interfaces and specifications for the Smalltalk-80 collection classes

The hierarchy of interfaces implicit in the Smalltalkcollection class library is computed and analyzed, demonstrating the utility of interfaces and specilications, and suggesting improvements to the collection class library structure.

Modularity meets inheritance

It is pointed out that all module operators are forms of inheritance: thus, inheritance not only is not in conflict with modularity in the present system, but is its foundation, allowing a previously unobtainable spectrum of features to be combined in a cohesive manner.

Combination of inheritance hierarchies

An approach in which extensions of all kinds are clearly separated from the base hierarchy upon which they are built, for ease of distribution and combination is proposed, called “extension-by-addition”.

Connecting tools using message passing in the Field environment

  • S. Reiss
  • Computer Science
    IEEE Software
  • 1990
An overview is given of the Field environment, which was developed to show that highly integrated, interactive environments like those on PCs can be implemented on workstations and can be used for

Support for change in RPDE3

RPDE3 has been used on a daily basis for its own development for about three years now, and during that time has undergone extensive change, which has indicated strongly that the approach to supporting change is effective and has identified extensions to it that should make it more effective still.