Automatic generation of fault-tolerant CORBA-services

The Common Object Request Broker Architecture (CORBA) is the most successful representative of an object-based distributed computing architecture. Although CORBA simplifies the implementation of complex, distributed systems significantly, the support of techniques for reliable, fault-tolerant software, such as group communication protocols or replication is very limited in the state-of-the-art CORBA or even fault-tolerant CORBA. Any fault tolerance extension for CORBA components needs to trade off data abstraction and encapsulation against implementation specific knowledge about a component's internal timing behavior, resource usage and interaction patterns. These non-functional aspects of a component are crucial for the predictable behavior of fault-tolerance mechanisms. However, in contrast to CORBA's interface definition language (IDL), which describes a component's functional interface, there is no general means to describe a component's non-functional properties. We present a genetic framework, which makes existing CORBA components fault tolerant. In adherence with a given, programmer-specified fault model, our framework uses design-time and configuration-time information for automatic distributed replicated instantiation of components. Furthermore, we propose usage of aspect-oriented programming (AOP) techniques to describe fault-tolerance as a non-functional component property. We describe the automatic generation of replicated CORBA services based on aspect information and demonstrate service configuration through a graphical user-interface.

[1]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[2]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[3]  Flaviu Cristian,et al.  Atomic Broadcast: From Simple Message Diffusion to Byzantine Agreement , 1995, Inf. Comput..

[4]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[5]  Lui Sha,et al.  Evolving dependable real-time systems , 1996, 1996 IEEE Aerospace Applications Conference. Proceedings.

[6]  Lui Sha,et al.  Composite objects: real-time programming with CORBA , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[7]  Deron Liang,et al.  A fault-tolerant object service on CORBA , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[8]  Silvano Maffeis A Flexible System Design to Support Object-Groups and Object-Oriented Distributed Programming , 1993, ECOOP Workshop.

[9]  Ibrahim Al-Shyoukh ORBacus for C++ and Java , 1998 .

[10]  Miroslaw Malek,et al.  Nest: A Nested-Predicate Scheme for Fault Tolerance , 1993, IEEE Trans. Computers.

[11]  Algirdas Avizienis,et al.  The N-Version Approach to Fault-Tolerant Software , 1985, IEEE Transactions on Software Engineering.