An Infrastructure for Development of Dynamically Adaptable Distributed Components

Dynamic adaptation has become an essential feature in distributed applications, mainly because current technology enables complex tasks to be performed by computers in application domains unsuited for service interruption. This paper presents an infrastructure that uses an interpreted language to provide simple but powerful features that enable coarse and fine-grained adaptations in component-based systems, using the CORBA Component Model (CCM) as a basis. To extend the static nature of CCM, we propose dynamic containers, which enable development of dynamically adaptable components that admit changes on component structure and implementation. The extended set of mechanisms for component manipulation can be used to create adaptation abstractions that simplify the programmer’s task. In this paper, we present a tool that provides support for the protocols and roles abstractions, which allows programmers to adapt running applications, establishing new interactions among its components.

[1]  Roberto Ierusalimschy,et al.  LuaTS - A Reactive Event-Driven Tuple Space , 2003, J. Univers. Comput. Sci..

[2]  Renato Cerqueira,et al.  Dynamic support for distributed auto-adaptive applications , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[3]  Roberto Ierusalimschy,et al.  Dynamic component gluing across different componentware systems , 1999, Proceedings of the International Symposium on Distributed Objects and Applications.

[4]  Douglas C. Schmidt,et al.  Overview of the CORBA component model , 2001 .

[5]  Wouter Joosen,et al.  Dynamic and selective combination of extensions in component-based applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[6]  Roberto Ierusalimschy,et al.  ALua: flexibility for parallel programming , 2002, Comput. Lang. Syst. Struct..

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Akinori Yonezawa,et al.  Fine-Grained Dynamic Adaptation of Distributed Components , 2003, Middleware.

[9]  Roberto Ierusalimschy,et al.  Lua—An Extensible Extension Language , 1996, Softw. Pract. Exp..

[10]  Vladimir Tosic,et al.  On Various Approaches to Dynamic Adaptation of Distributed Component Compositions , 2002 .

[11]  Josva Kleist,et al.  Migration = cloning; aliasing , 1999 .

[12]  José Luiz Fiadeiro,et al.  Tool support for coordination-based software evolution , 2001, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 38.

[13]  Won Kim,et al.  Object-Oriented Concepts, Databases, and Applications , 1989 .

[14]  Henry Lieberman,et al.  A Shared View of Sharing: The Treaty of Orlando , 1988, Object-Oriented Concepts, Databases, and Applications.

[15]  Roberto Ierusalimschy,et al.  Dynamic Extension of CORBA Servers , 1999, Euro-Par.

[16]  Jacques Malenfant,et al.  Reflection in logic, functional and object-oriented programming: a Short Comparative Study , 1995 .

[17]  José Luiz Fiadeiro,et al.  Coordination: the evolutionary dimension , 2001, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 38.

[18]  Thaís Vasconcelos Batista,et al.  Dynamic reconfiguration of component-based applications , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.