Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
Agha et al, A Linguistic Framework for Dynamic Composition of Fault Tolerance Protocols, Working paper, Department of Computer Science, University of Illinois at Urbana-Campaign, 1992.
M. Aksit & A. Tripathi, Data Abstraction Mechanisms in Sina/ST, OOPSLA '88, pp. 265–275, September 1988.
M. Aksit, Abstract Communication Types, in On the Design of the Object Oriented Language Sina, Ph.D. Dissertation, Chapter 4, Department of Computer Science, University of Twente, The Netherlands, 1989.
M. Aksit, Atomic Delegations, in On the Design of the Object-Oriented Language Sina, Ph.D. Dissertation, Chapter 5, Department of Computer Science, University of Twente, The Netherlands, 1989.
M. Aksit, J.W. Dijkstra & A. Tripathi, Atomic Delegation: Object-oriented Transactions, IEEE Software, Vol. 8, No. 2, March 1991.
M. Aksit & L.M.J. Bergmans, Obstacles in Object-Oriented Software Development, OOPSLA '92, pp. 341–358, Vancouver, Canada.
M. Aksit, L. Bergmans & S. Vural, An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach, ECOOP '92, LNCS 615, pp 372–395, Springer-Verlag, 1992.
M. Aksit & J. Bosch, Issues in Real-Time Language Design, NATO Advanced Study Institute on Real-Time Systems, Position paper to be published as LNCS, Springer-Verlag, Sint Maarten, October 1992.
J. Barber, Computational Reflection in Class-Based Object-Oriented Languages, OOPSLA '89, pp. 317–326, October 1989.
M. v.d. Bempt, Construction of Hierarchies in Distributed Computer Systems, M.Sc. Thesis, Department of Computer Science, University of Twente, The Netherlands, November 1991.
L.M.J. Bergmans, The Sina Distribution Model, M.Sc. Thesis, Department of Computer Science, University of Twente, The Netherlands, March 1990.
L. Bergmans, M. Aksit, K. Wakita & A. Yonezawa, An Object-Oriented Model for Extensible Synchronization and Concurrency Control, Memoranda Informatica 92-87, University of Twente, January 1992.
G. Booch, Object Oriented Design (with applications), Benjamin/Cummings Publishing Company, Inc., 1990.
R. H. Campbell & et al. Principles of Object-Oriented Operating System Design, Report UIUCDCS-R-89-1510, University of Illinois at Urbana-Champaign, USA.
P. Coad & E. Yourdon, Object-Oriented Analysis, 2nd Edition, Yourdon Press, 1991.
P. Coad & E. Yourdon, Object-Oriented Design, Yourdon Press, 1991.
D. de Champeaux, Object-Oriented Analysis and Top-Down Software Development, ECOOP '91, pp. 360–375, July 1991.
H. Dolfing, An Object Allocation Strategy for Sina, M.Sc. Thesis, Department of Computer Science, University of Twente, The Netherlands, November 1990.
N. Francez et al, Script: A Communication Abstraction Mechanism and Its Verification, Science of Computer Programming, 6, 1, pp. 35–88, 1986.
N. de Greef, Object-Oriented System Development, M.Sc. Thesis, Department of Computer Science, University of Twente, The Netherlands, 1991.
Haerder & A. Reuter, Principles of Transaction-Oriented Database Recovery, ACM Computing Surveys, Vol. 15, No. 4, pp. 287–317, December 1983.
R. Helm, I. Holland & D. Ganghopadhyay, Contracts: Specifying Behavioral Compositions in Object-Oriented Systems, OOPSLA '90, pp. 169–180, 1990.
I.M. Holland, Specifying Reusable Components Using Contracts, ECOOP '92, LNCS 615, pp. 287–308, Utrecht, June 1992.
Y. Honda & M. Tokoro, Soft Real-Time Programming Through Reflection, Int. Workshop on New Models for Software Architecture'92, Reflection and meta-Level Architecture, Yonezawa & Smith (eds), pp. 12–23, November 1992.
Y. Ichisugi, S. Matsuoka & A. Yonezawa, A Reflective Object-Oriented Concurrent Language Without a Run-Time Kernel, Int. Workshop on New Models for Software Architecture'92, Reflection and meta-Level Architecture, Yonezawa & Smith (eds), pp. 24–35, November 1992.
E. Jonge, Object-georienteerde Analyse, Ontwerp en Implementatie van een Batchdestillatiebesturing, M.Sc. Thesis, Department of Chemical Engineering, University of Twente, The Netherlands, January 1992.
J. Lamping, G. Kiczales, L. Rodriguez & E. Ruf, An Architecture for an Open Compiler, Int. Workshop on New Models for Software Architecture'92, Reflection and meta-Level Architecture, Yonezawa & Smith (eds), pp. 95–106, November 1992.
K. Lieberherr et al., Graph-Based Software Engineering: Concise Specifications of Cooperative Behavior, Northeastern University, Tech. Report: NU-CCS-91-14, September 1991.
H. Lieberman, Using Prototypical Objects to Implement Shared Behavior, OOPSLA '86, pp. 214–223, 1986.
K. Lieberherr & I. Holland, Assuring Good Style for Object-Oriented Programs, IEEE Software, pp. 38–48, September 1989.
P. Maes, Concepts and Experiments in Computational Reflection, OOPSLA '87, pp. 147–155, October 1987.
S. Pool & J. Bosch, ObjectComposer ICASE Environment, OOPSLA '92 conference demonstration, October 1992.
J. Rumbaugh et al., Object-Oriented Modeling and Design, Prentice-Hall, 1991.
B.C. Smith, Reflection and Semantics in a Procedural Language, MIT-LCS-TR-272, Mass. Ins. of Tech., Cambridge, MA, January 1982.
B. Tekinerdogan, The Design of a Framework for Object-Oriented Atomic Transactions, Draft M.Sc. Thesis, Department of Computer Science, University of Twente, The Netherlands, 1993.
A. Tripathi & M. Aksit, Communication, Scheduling and Resource Management in Sina, JOOP, Vol. 1, No. 4, November/December 1988, pp. 24–37.
Y. Yokote. The Apertos Reflective Operating System: The concept and its Implementation, OOPSLA'92, pp. 414–434, October 1992.
R. Wirfs-Brock et al., Responsibility-Driven Design, Prentice-Hall, 1990.
E. G. Zondag, Hierarchical Management of Distributed Objects, Memoranda Informatica 90-73, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aksit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A. (1994). Abstracting object interactions using composition filters. In: Guerraoui, R., Nierstrasz, O., Riveill, M. (eds) Object-Based Distributed Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 791. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017540
Download citation
DOI: https://doi.org/10.1007/BFb0017540
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57932-8
Online ISBN: 978-3-540-48389-2
eBook Packages: Springer Book Archive