Abstract
This paper discusses mechanisms addressing the complexity of building and maintaining Open Distributed Systems. It is argued that a new programming paradigm based on modular specification of interaction patterns is required to address the complexity of such systems. Our research is based on developing abstraction mechanisms to simplify the task of developing and maintaining open systems. We define actors as a model of concurrency for open systems. We then review a number of programming abstractions that are useful in modular specification and implementation of open systems. Such abstractions include activators, protocols, synchronizers, and actorspaces. We observe that defining such abstractions for complex interaction patterns requires a sort of system decomposition that is not supported by standard execution models of concurrent programming, including actors and process algebras. Rather, a suitable meta-architecture is needed to allow the implementation of abstract representations of interaction patterns. Currently there is no entirely satisfactory formal theory of meta-architectures.
Chapter PDF
Similar content being viewed by others
Keywords
References
Agha, G. (1986). Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, Mass.
Agha, G. (1990). Concurrent Object-Oriented Programming Communications of the ACM, 33 (9): 125–141.
Agha, G., Mason, I. A., Smith, S. F., and Talcott, C. L. (1996). A foundation for actor computation. Journal of Functional Programming. to appear.
Agha, G. A. (1996). Modeling concurrent systems: Actors, nets, and the problem of abstraction and composition. In Billington, J. and Reisig, W., editors, Applications and Theory of Petri Nets 1996, LNCS 1091, pages 1–10, Osaka, Japan. Springer-Verlag.
Aksit, M., Wakita, K., Bosch, J., Bergmans, L., and Yonezawa, A. (1993). Abstracting object interactions using composition filters. In Guerraoui, R., Nierstrasz, O., and Riveill, M., editors, Object-Based Distributed Programming, volume 791 of Lecture Notes in Computer Science, pages 152–184. ECOOP, Springer-Verlag.
Callsen, C. J. and Agha, G. A. (1994). Open Heterogeneous Computing in ActorSpace. Journal of Parallel and Distributed Computing, pages 289–300.
Frolund, S. (1992). Inheritance of synchronization constraints in concurrent object-oriented programming languages. In Madsen, O. L., editor, Proceedings ECOOP 82, LNCS 615, pages 185–196, Utrecht, The Netherlands. Springer-Verlag.
Frolund, S. (1996). Coordinating Distributed Objects: An Actor-Based Approach to Synchronization. MIT Press.
Frolund, S. and Agha, G. (1993). A language framework for multi-object coordination. In Proceedings of ECOOP 1993 volume 707 of Lecture Notes in Computer Science. Springer Verlag.
Frolund, S. and Agha, G. (1996). Abstracting interactions based on message sets. In Object-Based Models and Languages for Concurrent Systems, volume 924, pages 107–124. Springer-Verlag. Lecture Notes in Computer Science.
Kim, W. and Agha, G. (1995). Efficient Support of Location Transparency in Concurrent Object-Oriented Programming Languages. In Supercomputing 85. IEEE.
Nielsen, B. and Agha, G. (1996). Semantics for an actor-based real-time language. In Fourth International Workshop on Parallel and Distributed Real-Time Systems Honolulu. (to be published).
Plotkin, G. (1975). Call-by-name, call-by-value and the lambda calculus. Theoretical Computer Science, 1: 125–159.
Ren, S., Agha, G., and Saito, M. (1996). A modular approach for programming distributed real-time systems. Journal of Parallel and Distributed Computing. (to appear).
Sami, Y. and Vidal-Naquet (1991). Formalization of the behavior of actors by colored petri nets and some applications. In Conference on Parallel Architectures and Languages Europe, PARLE’91.
Sturman, D. and Agha, G. (1994). A protocol description language for customizing failure semantics. In The 13th Symposium on Reliable Distributed Systems, Dana Point, California. IEEE.
Sturman, D. C. (1996). Modular Specification of Interaction Policies in Distributed Computing. PhD thesis, University of Illinois at Urbana-Champaign.
Venkatasubramanian, N. and Talcott, C. L. (1995). Reasoning about Meta Level Activities in Open Distributed Systems. In Principles of Distributed Computing.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Agha, G.A. (1997). Abstracting Interaction Patterns: A Programming Paradigm for Open Distributed Systems. In: Najm, E., Stefani, JB. (eds) Formal Methods for Open Object-based Distributed Systems. IFIP Advances in Information and Communication Technology. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35082-0_10
Download citation
DOI: https://doi.org/10.1007/978-0-387-35082-0_10
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-5041-2875-9
Online ISBN: 978-0-387-35082-0
eBook Packages: Springer Book Archive