  The present article introduces a reference framework for discussing
resilience of computational systems. Rather than a property that may or may not
be exhibited by a system, resilience is interpreted here as the emerging result
of a dynamic process. Said process represents the dynamic interplay between the
behaviors exercised by a system and those of the environment it is set to
operate in. As a result of this interpretation, coherent definitions of several
aspects of resilience can be derived and proposed, including elasticity, change
tolerance, and antifragility. Definitions are also provided for measures of the
risk of unresilience as well as for the optimal match of a given resilient
design with respect to the current environmental conditions. Finally, a
resilience strategy based on our model is exemplified through a simple
scenario.
