A Linguistic Framework for Dynamic Composition of Dependability Protocols
We present a language framework for describing dependable systems which emphasizes modularity and composition. Dependability and functionality aspects of an application may be described separately providing a separation of design concerns. Futhermore, the
- PDF / 2,178,915 Bytes
- 19 Pages / 481.89 x 691.65 pts Page_size
- 74 Downloads / 194 Views
Abstract We present a language framework for describing dependable systems which emphasizes mod-
ularity and composition. Dependability and functionality aspects of an application may be described separately providing a separation of design concerns. Futhermore, the dependability protocols of an application may be constructed bottom-up as simple protocols that are composed into more complex protocols. Composition makes it easier to reason about dependability and supports the construction of general reusable dependability schemes. A significant aspect of our language framework is that dependability protocols may be loaded into a running application and installed dynamically. Dynamic installation makes it possible to impose additional dependability protocols on a server as clients with new dependability demands are integrated into a system. Similarly, if a given dependability protocol is only necessary during some critical phase of execution, it may be installed during that period only.
The research described has been made possible by suppon provided by a Young Investigator Award from the Office of Naval Research (ONR contract number N00014-90-J-1899) and by an Incentives for Excellence Award from the Digital Equipment Corporation Faculty Program.
C. E. Landwehr et al. (eds.), Dependable Computing for Critical Applications 3 © Springer-Verlag Wien 1993
346
Agha, Fr-lund, Panwar, Sturman
1 Introduction This paper describes a software methodology for supporting dependable services in open systems. Provision of a dependable service involves the servers implementing the service as well as the communication channel to the servers. We make no assumptions about the behavior of the customers, called clients, using the service. For our purposes, the most significant characteristic of an open system is extensibility: new services and new clients may be integrated into an open system while it is functioning. In many existing methodologies for programming dependable applications, the dependability characteristics of an application are fixed statically (i.e., at compile time). This is unsatisfactory in many computer systems, which are required to function for a long period of time, yet are fault-prone due to the uncertain environment in which they operate. An example of such a system is the control system embedded in an orbiting satellite. Furthermore, in open systems the addition of new services and clients may impose new requirements for dependability of a service. For example, a file server may start only addressing safety by checkpointing the files to stable storage. In an open system, new clients added to the system may require the server to also provide security, e.g., by encrypting the files they transfer to the clients. Our method includes dynamic installation of dependability protocols which allows a system to start with a "minimal" set of dependability protocols and later be extended with more protocols where and when the need arises. As the file server example illustrates, not all dependability protocols that ma
Data Loading...