RAPIDware Project Summary

The RAPIDware project addresses the design and use of adaptive, component-based middleware for  protection of critical infrastructures in dynamic, heterogeneous environments. Adaptability is especially important to systems that must continue to operate correctly during exceptional situations. Examples include systems used to manage critical infrastructures, such as electric power grids, telecommunication systems, and nuclear facilities, as well as command and control systems. Such systems require run-time adaptation, including the ability to modify and replace components, in order to survive hardware component failures, network outages, and security attacks. Presently, the design issues for systems that must dynamically adapt to unpredictable operating conditions are not well understood.  In particular, existing middleware technologies do not directly support high-level adaptive and robust multimedia communication services.  Consequently, the success of many distributed multimedia projects depends on the ingenuity of designers in modifying techniques designed for conventional systems and in devising novel solutions to deal with the problems of reliability, heterogeneity, and process migration.

The RAPIDware project has three primary goals with respect to the construction of middleware for heterogeneous distributed computing.  First, it will produce a unified methodology for designing components to support adaptability in cross-cutting concerns such as fault tolerance, security, energy managment, and quality-of-service.  Second, it will encapsulate adaptive middleware functionality in a programming paradigm that facilitates declarative specifications of quality-of-service needs, evolution of the system to accommodate new technologies and services, and automated checking of functional and nonfunctional properties of the system.  Third, it will provide tools to support the development of middleware using these techniques, in particular, tools to support this new programming paradigm, as well as component-based software reuse through selection and integration of middleware components.

The project will leverage the multidisciplinary experience and expertise of the PIs in distributed computing, computer networking, interactive systems design, software engineering, formal methods, and fault tolerance.  It will combine formal modeling and analysis with experimentation on a mobile computing testbed.  Artifacts that will be produced include: a component-based adaptive middleware architecture, a repository of reusable middleware components designed for interoperability and fault tolerance, and sample distributed applications that make use of that middleware. The middleware architecture and reusable components will support composition and formal manipulation to guarantee satisfaction of design constraints.  On a broader scale, the project will improve the underlying support for interactive applications that execute across heterogeneous network infrastructures.  It will enhance the performance and functionality of these systems and reduce development costs, making them more accessible in a wide spectrum of domains, such as education, science, medicine, and public safety.

This project is supported by the Office of Naval Research under Grant No. N00014-01-1-0744.