Humboldt-University of Berlin Institute of Computer Science Computer Architecture and Communication Group

Responsive CORBA Unified Environment
( RESCUE )


Most of the fault-tolerant, real-time systems so far have been implemented in embedded settings and there is an urgent need to open up this type of computing technology to a larger number of users utilizing heterogeneous, distributed computing environments. We have developed the concept of Composite Objects as filtering bridge between standard middleware platforms and software frameworks providing services with certain quality-of-service (QoS) guarantees. Current research focuses on the CORBA middleware platform, however, concepts developed are applicable to platforms like DCOM and DCE as well. Key concepts in our approach are noninterference, interoperability, and adaptive abstraction.

Within project Responsive CORBA Unified Environment (RESCUE) we develop a CORBA-based distributed framework for responsive (fault-tolerant, real-time) services which exploits consensus for synchronization, reliable communication, and fault diagnosis among replicated server objects. Technical foundation is provided by Composite Objects which act as filtering bridge between CORBA and the responsive services and provide CORBA clients with higher predictability regarding timely and reliable method execution. Our middleware uses commercial off-the-shelf (COTS) technology and aims at optimizing quality-of-service attributes such as timeliness and reliability. The RESCUE project is part of research activities in the field of Responsive Cluster Computing within the Computer Architecture and Communication group.

The Common Object Request Broker Architecture (CORBA) is a widely-accepted, standardized system integration framework based on distributed object technologies. An ongoing effort within the Object Management Group (OMG) concerns real-time CORBA (RT-CORBA), which is planned as a future extension to the OMG Object Management Architecture to support distributed, real-time systems. Besides real time there are other quality-of-service attributes whose support by CORBA would be highly desirable. Quality of service has many faces but certain properties such as security, dependability and real time seem to be of greater importance to the majority of users than others.

The key objective of this work is to develop a method for making CORBA-based applications more predictable in COTS environments by integrating them with responsive computing middleware, and demonstrate enhancements to quality-of-service attributes such as timeliness and reliability.


Group Members

The RESCUE group is a subgroup of the Computer Architecture and Communication group at the Department of Computer Science at Humboldt University of Berlin .

List of publications.


The Composite Objects Approach

Our concept of Composite Objects is an approach to integration of responsive (fault-tolerant, real-time) and CORBA computing into a single object-based framework. Composite Objects allow the programmer to make an explicit tradeoff between an application's predictable resource utilization and its communication latency. Therefore, Composite Objects make implementation details visible and explicit which are usually hidden and abstracted away by CORBA. We advocate a co-existence and the-need-to-know approach to reach this goal. There are three design rules:

  1. Noninterference: we should create an environment in which general purpose computing and time-aware responsive computing will not burden each other.
  2. Interoperability: the services exported by general purpose computing objects and by responsive (real-time, fault-tolerant) computing objects can be utilized by each other.
  3. Adaptive Abstraction: lower level information and scheduling actions needed by responsive computing is available to real-time objects but transparent to non-real-time objects.

The implementation of Composite Objects follows these design rules. Since Composite Objects provide functionality to react to CORBA method invocations, they can be seen as descendants of a class which implements Object Adaptor functionality (Basic Object Adaptor Implementation - BOAImpl in CORBA jargon). On the other hand, Composite Objects have the capability to create real-time programming abstractions like prioritized threads and real-time communication channels. Thus, they can be seen as descendants of a class which implements real-time servers.


Java frontend to the Unstoppable Robots simulation