This paper attempts to identify one of the necessary conditions for self-healing, or self-repair, in complex systems, and to propose means for satisfying this condition in heterogeneous distributed software. The condition identified here is the following: For a system with a wide and open range of possible configurations to be self healing, it must possess suitable regularities, which can be relied upon to be satisfied by all possible configurations of the system, and which must be invariant of its failures. We observe that self-healing in physical artifacts, as well as in biological systems, are largely based on regularities engendered by the laws of nature. But since laws of nature have no effective sway over the behavior of software, we propose means for imposing artificial laws over a given distributed system, which are designed to induce desired regularities in them. We demonstrate the efficacy of the proposed approach by applying it to a simple example of electronic purchasing in enterprise systems.
['Naftaly H. Minsky']
On conditions for self-healing in distributed software systems