Computer architecture -- Design, Software architecture, Synchronization
Some failures cannot be masked by redundancies, because an unanticipated situation occurred, because fault-tolerance measures were not adequate, or because there was a security breach (which is not amenable to replication). Applications that wish to continue to offer some service despite nonmaskable failure must adapt to the loss of resources. When numerous combinations of non-maskable failure modes are considered, the set of possible adaptations becomes complex. This paper presents adaptation spaces, a formalism for navigating among combinations of adaptations. An adaptation space describes a collection of possible adaptations of a software component or system, and provides a uniform way of viewing a group of alternative software adaptations. Adaptation spaces describe the different means for monitoring the conditions that different adaptations depend on, and the particular configurations through which an adaptive application navigate. Our goal is to use adaptation spaces to provide survivable services to applications despite non-maskable failures such as malicious attacks. We present the basic concepts concerning adaptation spaces, with examples. We then present a formal model for reasoning about and selecting alternative adaptations, allowing developers of survivable application to automate their system’s adaptive behavior.
Cowan, Crispin, Lois Delcambre, Anne Le Meur, Ling Liu, David Maier, Dylan McNamee, Michael Miller, Calton Pu, Perry Wagle, and Jonathan Walpole. "Adaptation Space: Surviving Non-Maskable Failures." Oregon Graduate Institute School of Science & Engineering (1998).