Abstracting Interaction Patterns: A Programming Paradigm for Open Distributed Systems
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.
KeywordsActors concurrency object-oriented programming open systems real-time systems fault-tolerance coordination reflection.
Unable to display preview. Download preview PDF.
- Agha, G. (1986). Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, Mass.Google Scholar
- Agha, G., Mason, I. A., Smith, S. F., and Talcott, C. L. (1996). A foundation for actor computation. Journal of Functional Programming. to appear.Google Scholar
- 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.Google Scholar
- Callsen, C. J. and Agha, G. A. (1994). Open Heterogeneous Computing in ActorSpace. Journal of Parallel and Distributed Computing, pages 289–300.Google Scholar
- 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.Google Scholar
- Frolund, S. (1996). Coordinating Distributed Objects: An Actor-Based Approach to Synchronization. MIT Press.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- Kim, W. and Agha, G. (1995). Efficient Support of Location Transparency in Concurrent Object-Oriented Programming Languages. In Supercomputing 85. IEEE.Google Scholar
- 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).Google Scholar
- 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).Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- Sturman, D. C. (1996). Modular Specification of Interaction Policies in Distributed Computing. PhD thesis, University of Illinois at Urbana-Champaign.Google Scholar
- Venkatasubramanian, N. and Talcott, C. L. (1995). Reasoning about Meta Level Activities in Open Distributed Systems. In Principles of Distributed Computing.Google Scholar