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 specijk 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 intet$ace definition language (IDL), which describes a component's functional inte$ace, there is no general means to describe a component's non-functional properties.We present here a generic framework, which makes existing CORBA components faulttolerant. 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-inte~ace.
The Common Object Request Broker Architecture (CORBA) is the most successful representative for an object-based distributed computing architecture. Although CORBA simplifies the implementation of complex, distributed systems significantly, support of techniques for reliable, fault-tolerant software, such as onlinereplacement or replication is not within scope of today's CORBA or Real-time CORBA.The Simplex architecture developed at the Software Engineering Institute at Carnegie Mellon University supports the online-replacement of software components within a fault-tolerant, real-time control application. Simplex middleware consist of both a hard real-time publisher/subscriber service and a soft real-time service to support human-in-the-loop supervisor control activities.We have replaced Simplex' soft real-time services with CORBA services while retaining its hard real-time publication and subscription service. This composite approach allows us to take advantage of both the strength of CORBA in distributed computing and Simplex' strength in hard real-time control applications.In this paper, we will discuss the trade-off issues in this composite system approach and present the telelaboratory experiment, which is based on the extended Simplex system.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.