Abstracting Object Interactions Using Composition Filters

It is generally claimed that object-based models are very suitable for building distributed system architectures since object interactions follow the client-server model. To cope with the complexity of today's distributed systems, however, we think that high-level linguistic mechanisms are needed to effectively structure, abstract and reuse object interactions. For example, the conventional object-oriented model does not provide high-level language mechanisms to model layered system architectures. Moreover, we consider the message passing model of the conventional object-oriented model as being too low-level because it can only specify object interactions that involve two partner objects at a time and its semantics cannot be extended easily. This paper introduces Abstract Communication Types (ACTs), which are objects that abstract interactions among objects. ACTs make it easier to model layered communication architectures, to enforce the invariant behavior among objects, to reduce the complexity of programs by hiding the interaction details in separate modules and to improve reusability through the application of object-oriented principles to ACT classes. We illustrate the concept of ACTs using the composition filters model.

[1]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[2]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[3]  Dennis de Champeaux,et al.  Object-Oriented Analysis and Top-Down Software Development , 1991, ECOOP.

[4]  Jacques Ferber Computational reflection in class based object-oriented languages , 1989, OOPSLA 1989.

[5]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[6]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[7]  Roy H. Campbell,et al.  Principles of Object-Oriented Operating System Design , 1989 .

[8]  Nissim Francez,et al.  Script: A Communication Abstraction Mechanism and Its Verification , 1989, Science of Computer Programming.

[9]  Ian M. Holland,et al.  Contracts: specifying behavioral compositions in object-oriented systems , 1990, OOPSLA/ECOOP '90.

[10]  Jacques Ferber,et al.  Computational reflection in class based object-oriented languages , 1989, OOPSLA '89.

[11]  Pattie Maes Concepts and experiments in computational reflection , 1987, OOPSLA 1987.

[12]  Lodewijk Bergmans,et al.  An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach , 1992, ECOOP.

[13]  Henry Lieberman,et al.  Using prototypical objects to implement shared behavior in object-oriented systems , 1986, OOPLSA '86.

[14]  Edward Yourdon,et al.  Object-oriented analysis (2nd ed.) , 1991 .

[15]  Anand R. Tripathi,et al.  Data abstraction mechanisms in SINA/ST , 1988, OOPSLA '88.

[16]  Mehmet Aksit On the Design of the Object-Oriented Language Sina , 1989 .

[17]  Lodewijk Bergmans,et al.  Obstacles in object-oriented software development , 1992, OOPSLA.

[18]  Ian M. Holland,et al.  Specifying Reusable Components Using Contracts , 1992, ECOOP.

[19]  Mehmet Aksit,et al.  Obstacles in object-oriented software development , 1992, OOPSLA 1992.

[20]  Pattie Maes,et al.  Computational reflection , 1987, The Knowledge Engineering Review.

[21]  Dennis de Champeaux,et al.  Object-oriented system development , 1993 .

[22]  Anand R. Tripathi,et al.  Atomic delegation: object-oriented transactions , 1991, IEEE Software.

[23]  Edward Yourdon,et al.  Object-oriented design , 1991, Yourdon Press Computing Series.

[24]  Anand R. Tripathi,et al.  Communication, scheduling, and resource management in SINA , 1988 .

[25]  Yasuhiko Yokote,et al.  The Apertos reflective operating system: the concept and its implementation , 1992, OOPSLA.

[26]  Henry Lieberman,et al.  Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems , 1986, OOPSLA.

[27]  Anand R. Tripathi,et al.  Data abstraction mechanisms in SINA/ST , 1988, OOPSLA 1988.

[28]  E. G. Zondag Hierarchical management of distributed objects , 1990 .

[29]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[30]  Karl J. Lieberherr,et al.  Assuring good style for object-oriented programs , 1989, IEEE Software.

[31]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

[32]  J. Huisman The Netherlands , 1996, The Lancet.