- will continue distributing its services
- without losing its peculiar traits, its identity: the system will “stay the same”.
Wednesday, 30 October 2013
Dependability refers to a system's trustworthiness and measures several aspects of the quality of its services – for instance how reliable, available, safe, or maintainable those services are. Resilience differs from dependability in that it focuses on the system itself rather that its services; it implies that the system when subjected to faults and changes
Monday, 28 October 2013
Computer systems are not dissimilar from critical infrastructures in which different mutually dependent components — in fact, infrastructures themselves — contribute to the emergence of an intended service. Thus, in computer systems the software infrastructure relies on the quality of the hardware infrastructure, and vice-versa a hypothetically perfect hardware would not result in the intended service without a corresponding healthy software infrastructure. Software resilience refers to the robustness of the software infrastructure and may be defined as the trustworthiness of a software system to adapt itself so as to absorb and tolerate the consequences of failures, attacks, and changes within and without the system boundaries. As a resilient body is one that “subjected to an external force is able to recover its size and shape, following deformation” (McGraw Hill, 2003), likewise software is said to be resilient when it is able to recover its functional and non-functional characteristics — its “identity” — following failures, attacks, and environmental changes. As critical infrastructures call for organizational resilience, likewise mission- and business-critical computer systems call for software resilience. Understanding and mastering software resilience are key prerequisites towards being able to design effective services for complex and ever changing deployment environments such as those characterizing ubiquitous and pervasive environments. Thus, how can we define (software) resilience? The term Resilience refers to a system’s ability to retain its intended function in spite of endogenous conditions, external actions, and environmental changes. The concept of resilience goes back to Aristotelian idea of entelechy (Aristotle, 1986), a central topic in Aristotle’s philosophy whose meaning and relationship with resilience is ingeniously captured by Sachs’ translation (1995): Entelechy is an entity’s ability of “being-at-work-staying-the-same”. This definition tells us that an entity — be it e.g. a physical person, an organization, or a cyber-physical system — is resilient when both the following two conditions hold:
- The entity is able to exert purposeful active behavior (Rosenblueth, Wiener & Bigelow, 1943) to continuously adjust their functions in order to compensate for foreseen and/or unpredicted changes in its execution environment. This corresponds to the first part of Sachs’ definition: “Being at work.”
- As a result of the above behavior, the entity is able to retain their “identity” — namely their peculiar and distinctive functional and non-functional features — in the face of the above mentioned conditions, actions, and changes, and despite the adjustments carried out by the entity so as to improve its system-environment fit. This refers to the second part of Sachs’ definition: “Staying the same”.
- Anonymous (2003). McGraw-Hill Dictionary of Architecture and Construction. McGraw-Hill Companies, Inc.
- Aristotle (1986). De anima (On the Soul) (H. Lawson-Tancred, Trans.). Penguin classics. Penguin Books.
- Sachs, J. (1995). Aristotle’s physics: A guided study. Masterworks of Discovery. Rutgers University Press.
- Rosenblueth, A., Wiener, N., and Bigelow, J. (1943). Behavior, Purpose and Teleology. Philosophy of Science, 10(1), 18–24.
- Stephenson, A., Vargo, V., and Seville, E. (2010). Measuring and Comparing Organisational Resilience in Auckland. The Australian Journal of Emergency Management, 25(2), 27-32.
Saturday, 26 October 2013
Elasticity, robustness, resilience, antifragility — these properties all refer to an important aspect of individual and collective systems, namely the compliance between corresponding figures of interest in two separate but communicating domains. I will refer to this property as FIDELITY. A special case of fidelity is given by real-timeliness and synchrony, in which the figure of interest is the physical and the system's notion of time. Here I will discuss about several aspects of fidelity in individual and collective systems. A first issue that I intend to address is to clarify what is meant by the above properties and what is their distinctive character as well as their peculiar differences — in Aristotelian terms, what is their genus and what are their differentia.