Self-organization and Self-healing: Rationale and Strategies for Designing and Developing a Dependable Software System
|Okon S. C.1 and Asagba P. O.2
|Related article at Pubmed, Scholar Google|
The focus of this work is to overview a set of fundamental principles that underlie software system dependability and therefore suggest a different approach to the development, assessment and implementation of dependable software. Due to a lack of sufficient data to support or contradict any particular approach, a software system may not be declared “dependable” based on the method by which it was constructed. Rather, it should be regarded as dependablecertifiably, dependable-only when adequate evidence has been gathered and tested in support of an argument for dependability that can be independently assessed. The goal of certifiably dependable software cannot therefore be achieved by mandating particular processes and approaches, regardless of their effectiveness in certain situations. Instead, software developers should marshal evidence to justify an explicit dependability claim that makes clear which properties in the real world the system is intended to establish. Such evidence forms a dependability case as found in nature via self-organization and self-healing in natural artifacts. Consequentially, our creating and designing of a self-organized and a self-healing software system whose dependability case is the cornerstone of the approach to developing certifiably dependable software systems (DSS) of our interest.