Fine-Grained Dynamic Adaptation of Distributed Components
Dynamic adaptability of distributed components, nowadays scarcely supported, should become a basic principle of future middleware platforms. While most related work envisage somewhat large software reconfigurations, we explore in this paper fine-grained adaptations which intervene within component boundaries. Our experiments are conducted in the framework of the Comet middleware. Dynamic adaptability is supported in Comet through distributed protocols that can be applied at runtime. These protocols may locally denote intrusive modifications which are abstracted through the notion of role. Functional roles are used to describe all-purpose adaptations. We use hook roles as wrappers around existing functionalities. Finally, filter roles interfere with the communication layer. The expressiveness of these complementary abstractions are illustrated in various examples involving non-trivial system adaptations for distributed debugging and communication flow synchronization. A preliminary but promising quantitative evaluation of our adaptation engine under real-world conditions is proposed. We also discuss the difficult but crucial issue of verifying such dynamic adaptations in terms of type, access and security contracts.
KeywordsDynamic Adaptability Component-based Middleware Fine-grain adaptations Event-based Asynchronous Communications Strong typing
- 1.G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. Series in Artificial Intelligence. MIT Press, 1986.Google Scholar
- 2.X. Chen. Extending rmi to support dynamic reconfiguration of distributed systems. In Proceedings of ICDCS’02. IEEE, July 2002.Google Scholar
- 3.H. Evans and P. Dickman. Zones, Contracts and Absorbing Changes: An Approach to Software Evolution. In Proceedings of OOPSLA’99. ACM Press, November 1999.Google Scholar
- 4.K. Geihs. Middleware challenges ahead. IEEE Computer, 34(6):24–31, June 2001.Google Scholar
- 5.X. Liu and H. Yang, editors. International Symposium on Principles of Software Evolution (ISPSE 2000), Kanazawa, Japan. IEEE computer society, November 2000.Google Scholar
- 6.J. Malenfant, M.-T. Segarra, and F. André. Dynamic adaptability: The molène experiment. In Proceedings of Reflection 2001, volume LNCS 2192. Springer Verlag, September 2001.Google Scholar
- 7.J. McAffer. Metalevel Programming with Coda. In Proceedings of the European Conference on Object-Oriented Computing (ECOOP), LNCS 952, pages 190–214. Springer Verlag, August 1995.Google Scholar
- 8.R. Meyer. State of the art of distributed event models. Technical report, University of Dublin, Trinity College, 2000.Google Scholar
- 9.Object Management Group. Common Object Request Broker Architecture (CORBA) 2.6 Specifications. http://www.corba.org, 2001.
- 10.N. Parlavantzas, G. Coulson, M. Clarke, and G. Blair. Towards a reflective component-based middleware architecture. In Proceedings of Workshop on Reflection and Metalevel Architectures, June 2000.Google Scholar
- 11.F. Peschanski. A reflective middleware architecture for adaptive, component-based distributed systems. IEEE DS Online, 1(7), 2001.Google Scholar
- 12.F. Peschanski. A versatile event-based communication model for generic distributed interactions. In Proceedings of DEBS’01 (ICDCS International Workshop on Distributed Event-based Systems). IEEE, July 2002.Google Scholar
- 13.D. C. Sturman. Modular Specification of Interaction Policies in Distributed Computing. PhD thesis, University of Illinois at Urbana-Champaign, May 1996.Google Scholar
- 14.Sun Microsystems. Java Security Model. http://java.sun.com/security, 2001.