Monday, 17 November 2014

Second Edition of the International Workshop on Computational Antifragility and Antifragile Engineering (ANTIFRAGILE 2015)

Resilience may be described as an intended emerging property resulting from the coupling of a system and its environment(s). Depending on the interactions between these two "ends" and on the quality of the individual behaviours that both system and environment(s) may exercise, different strategies may be chosen:

  • elasticity (preserving system identity by masking changes); 
  • entelechism (guaranteeing the identity of the system by tolerating changes);
  • antifragility (adapting both the system and its identity so as to best fit the changing environment; and, while doing so, evolving the "self" and learning how to evolve the adaptation processes). 

The major focus of the ANTIFRAGILE 2015 Workshop is computational and engineering aspects of antifragility, the term recently introduced by Professor N. Taleb in his book "Antifragile: Things that Gain from Disorder". Antifragile computing systems are those resilient systems that are

  • open to their own system-environment fit; 
  • able to exercise complex auto-predictive behaviours; 
  • and that develop wisdom as a result of matches between available strategies and obtained results. 
The engineering of antifragile computer-based systems is a challenge that, once met, would allow systems and ambients to self-evolve and self-improve by learning from accidents and mistakes in a way not dissimilar from that of human beings. Learning how to design and craft antifragile systems is an extraordinary endeavour whose tackling is likely to reverberate on many a computer engineering field. New methods, programming languages, even custom platforms will have to be designed. The expected returns are extraordinary as well: antifragile computer engineering promises to enable realizing truly autonomic systems and ambients able to meta-adapt to changing circumstances;  self-adjust to dynamically changing environments and ambients;  self-organize so as to track dynamically and proactively optimal strategies to sustain scalability, high-performance, and energy efficiency;  personalize their aspects and behaviours after each and every user. And to learn how to get better while doing it.

Building atop the very positive response of last year, this second edition of ANTIFRAGILE aims to further enhance the awareness of the above challenges and to continue the initiated discussion on how computer and software engineering may address them. As a design aspect cross-cutting through all system and communication layers, antifragile engineering calls for multidisciplinary visions and approaches able to bridge the gaps between “distant” research communities so as to

  • propose novel solutions to design and develop antifragile systems and ambients; 
  • devise conceptual models and paradigms for computational antifragility; 
  • provide analytical and simulation models and tools to measure systems ability to withstand faults, adjust to new environments, and enhance their resilience in the process; 
  • foster the exchange of ideas and lively discussions able to drive future research and development efforts in the area. 
 The main topics of the workshop include, but are not limited to:
  • Conceptual frameworks for antifragile systems, ambients, and behaviours; 
  • Dependability, resilience, and antifragile requirements and open issues; 
  • Design principles, models, and techniques for realizing antifragile systems and behaviours; 
  • Frameworks and techniques enabling resilient and antifragile applications;
  • Antifragile human-machine interaction; 
  • End-to-end approaches towards antifragile services; 
  • Autonomic antifragile behaviours; 
  • Middleware architectures and mechanisms for resilience and antifragility; 
  • Theoretical foundation of resilient and antifragile behaviours; 
  • Formal modelling of resilience and antifragility; 
  • Programming language support for resilience and antifragility; 
  • Machine learning as a foundation of resilient and antifragile architectures; 
  • Antifragility and resiliency against malicious attacks; 
  • Antifragility and the Cloud; 
  • Service Level Agreements for Antifragility; 
  • Verification and validation of resilience and antifragility; 
  • Antifragile and resilient services. 

All accepted papers of the previous edition of the workshop are freely available here. A detailed description of two of the papers of the previous edition of the workshop, as well as their presentations, are available at this page.  For more information about computational antifragility, please visit also the LinkedIn group "Computational Antifragility" and the G+ Community at this page.

In this second edition, Professor Taleb kindly agreed to give his keynote speech through teleconferencing.


ANTIFRAGILE is co-located with the 6th International Conference on Ambient Systems, Networks and Technologies, June 2 - 5, 2015, London, UK. ANTIFRAGILE is likely to take place on the second day of the Conference, June 3 (though this has not been confirmed yet.) All ANT-2015 accepted papers (thus including the ANTIFRAGILE 2015 papers) will be published by Elsevier Science in the open-access Procedia Computer Science series on-line. Procedia Computer Sciences is hosted on www.Elsevier.com and on Elsevier content platform ScienceDirect (www.sciencedirect.com), and will be freely available worldwide. All papers in Procedia will be indexed by Scopus (www.scopus.com) and by Thomson Reuters' Conference Proceeding Citation Index http://thomsonreuters.com/conference-proceedings-citation-index/. The papers will contain linked references, XML versions and citable DOI numbers. Authors will be able to provide a hyperlink to all delegates and direct your conference website visitors to your proceedings. All accepted papers will also be indexed in DBLP (http://dblp.uni-trier.de/). Selected papers will be invited for publication in special issues of international journals.

For more information about ANTIFRAGILE 2015 please visit the ANTIFRAGILE web site. A number of resources and reflections about computational antifragility may be found at the following page and through this presentation.

Monday, 10 November 2014

Some recent papers on elasticity, resilience, and computational antifragility

Some of my most recent papers on elasticity, resilience, and computational antifragility:
  • "Antifragility = Elasticity + Resilience + Machine Learning. Models and Algorithms for Open System Fidelity". In Proc. of the 1st International Workshop "From Dependable to Resilient, from Resilient to Antifragile Ambients and Systems" (ANTIFRAGILE 2014), Hasselt, Belgium, 2-5 June, 2014. Elsevier Science, Procedia Computer Science.
    We introduce a model of the fidelity of open systems—fidelity being interpreted here as the compliance between corresponding figures of interest in two separate but communicating domains. 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. Our model covers two orthogonal aspects of fidelity, the first one focusing on a system’s steady state and the second one capturing that system’s dynamic and behavioural characteristics. We discuss how the two aspects correspond respectively to elasticity and resilience and we highlight each aspect’s qualities and limitations. Finally we sketch the elements of a new model coupling both of the first model’s aspects and complementing them with machine learning. Finally, a conjecture is put forward that the new model may represent a first step towards compositional criteria for antifragile systems.
  • "On the Behavioral Interpretation of System-Environment Fit and Auto-Resilience". In Proc. of the IEEE 2014 Conference on Norbert Wiener in the 21st Century, Boston, MA, 24-26 June, 2014. IEEE.
    Already 71 years ago Rosenblueth, Wiener, and Bigelow introduced the concept of the “behavioristic study of natural events” and proposed a classification of systems according to the quality of the behaviors they are able to exercise. In this paper we consider the problem of the resilience of a system when deployed in a changing environment, which we tackle by considering the behaviors both the system organs and the environment mutually exercise. We then introduce a partial order and a metric space for those behaviors, and we use them to define a behavioral interpretation of the concept of system-environment fit. Moreover we suggest that behaviors based on the extrapolation of future environmental requirements would allow systems to proactively improve their own system-environment fit and optimally evolve their resilience. Finally we describe how we plan to express a complex optimization strategy in terms of the concepts introduced in this paper
  • "Preliminary Contributions Towards Auto-Resilience". In A. Gorbenko, A. Romanovsky, V. Kharchenko (Eds). Software Engineering for Resilient Systems - 5th International Workshop, SERENE 2013, Kiev, Ukraine, October 3-4, 2013. Proceedings. LNCS 8166. Springer 2013.
    The variability in the conditions of deployment environments introduces new challenges for the resilience of our computer systems. As a response to said challenges, novel approaches must be devised so that identity robustness be guaranteed autonomously and with minimal overhead. This paper provides the elements of one such approach. First, building on top of previous results, we formulate a metric framework to compare specific aspects of the resilience of systems and environments. Such framework is then put to use by sketching the elements of a handshake mechanism between systems declaring their resilience figures and environments stating their minimal resilience requirements. Despite its simple formulation it is shown how said mechanism enables scenarios in which resilience can be autonomously enhanced, e.g., through forms of social collaboration. This paves the way to future “auto-resilient” systems, namely systems able to reason and revise their own architectures and organisations so as to optimally guarantee identity persistence.
  • "Quality indicators for collective systems resilience", Emergence: Complexity & Organization, ISSN: 1521-3250, Vol. 16, No. 3, September 2014, pp. 65-104.
    Resilience is widely recognized as an important design goal though it is one that seems to escape a general and consensual understanding. Often mixed up with other system attributes; traditionally used with different meanings in as many different disciplines; sought or applied through diverse approaches in various application domains, resilience in fact is a multi-attribute property that implies a number of constitutive abilities. To further complicate the matter, resilience is not an absolute property but rather it is the result of the match between a system, its current condition, and the environment it is set to operate in. In this paper we discuss this problem and provide a definition of resilience as a property measurable as a system-environment fit. This brings to the foreground the dynamic nature of resilience as well as its hard dependence on the context. A major problem becomes then that, being a dynamic figure, resilience cannot be assessed in absolute terms. As a way to partially overcome this obstacle, in this paper we provide a number of indicators of the quality of resilience. Our focus here is that of collective systems, namely those systems resulting from the union of multiple individual parts, sub-systems, or organs. Through several examples of such systems we observe how our indicators provide insight, at least in the cases at hand, on design flaws potentially affecting the efficiency of the resilience strategies. A number of conjectures are finally put forward to associate our indicators with factors affecting the quality of resilience.
  • "On the Constituent Attributes of Software and Organizational Resilience", Interdisciplinary Science Reviews, vol. 38, no. 2, Maney Publishing, June 2013.
    Our societies are increasingly dependent on the services supplied by our computers and their software. Forthcoming new technology is only exacerbating this dependence by increasing the number, the performance, and the degree of autonomy and inter-connectivity of software-empowered computers and cyber-physical “things”, which translates into unprecedented scenarios of interdependence. As a consequence, guaranteeing the persistence-of-identity of individual and collective software systems and software-backed organisations becomes an increasingly important prerequisite towards sustaining the safety, security, and quality of the computer services supporting human societies. Resilience is the term used to refer to the ability of a system to retain its functional and non-functional identity. In the present article we conjecture that a better understanding of resilience may be reached by decomposing it into a number of ancillary constituent properties, the same way as a better insight in system dependability was obtained by breaking it down into safety, availability, reliability, and other sub-properties. Three of the main sub-properties of resilience proposed here refer respectively to the ability to perceive environmental changes; to understand the implications introduced by those changes; and to plan and enact adjustments intended to improve the system-environment fit. A fourth property characterises the way the above abilities manifest themselves in computer systems. The four properties are then analyzed in three families of case studies, each consisting of three software systems that embed different resilience methods. Our major conclusion is that reasoning in terms of our resilience sub-properties may help revealing the characteristics—and in particular the limitations—of classic methods and tools meant to achieve system and organisational resilience. We conclude by suggesting that our method may prelude to meta-resilient systems—systems, that is, able to adjust optimally their own resilience with respect to changing environmental conditions.
  • "Community Resilience Engineering: Reflections and Preliminary Contributions". In I. Majzik and M. Vieira (Eds.), Proceedings of SERENE 2014, LNCS 8785, pp. 1-8, 2014
    An important challenge for human societies is that of mastering the complexity of Community Resilience, namely “the sustained ability of a community to utilize available resources to respond to, withstand, and recover from adverse situations”. The above concise definition puts the accent on an important requirement: a community’s ability to make use in an intelligent way of the available resources, both institutional and spontaneous, in order to match the complex evolution of the “significant multi-hazard threats characterizing a crisis”. Failing to address such requirement exposes a community to extensive failures that are known to exacerbate the consequences of natural and human-induced crises. As a consequence, we experience today an urgent need to respond to the challenges of community resilience engineering. This problem, some reflections, and preliminary prototypical contributions constitute the topics of the present article.
    A presentation of this paper is available here.
  • "Systems, Resilience, and Organization: Analogies and Points of Contact with Hierarchy Theory".
    Aim of this paper is to provide preliminary elements for discussion about the implications of the Hierarchy Theory of Evolution on the design and evolution of artificial systems and socio-technical organizations. In order to achieve this goal, a number of analogies are drawn between the System of Leibniz; the socio-technical architecture known as Fractal Social Organization; resilience and related disciplines; and Hierarchy Theory. In so doing we hope to provide elements for reflection and, hopefully, enrich the discussion on the above topics with considerations pertaining to related fields and disciplines, including computer science, management science, cybernetics, social systems, and general systems theory.
  • "Behavior, Organization, Substance: Three Gestalts of General Systems Theory". In Proc. of the IEEE 2014 Conference on Norbert Wiener in the 21st Century, Boston, MA, 24-26 June, 2014. IEEE.
    The term gestalt, when used in the context of general systems theory, assumes the value of “systemic touchstone”, namely a figure of reference useful to categorize the properties or qualities of a set of systems. Typical gestalts used, e.g., in biology, are those based on anatomical or physiological characteristics, which correspond respectively to architectural and organizational design choices in natural and artificial systems. In this paper we discuss three gestalts of general systems theory: behavior, organization, and substance, which refer respectively to the works of Wiener, Boulding, and Leibniz. Our major focus here is the system introduced by the latter. Through a discussion of some of the elements of the Leibnitian System, and by means of several novel interpretations of those elements in terms of today’s computer science, we highlight the debt that contemporary research still has with this Giant among the giant scholars of the past.

Monday, 3 November 2014

A few thoughts on Computational Antifragility

I consider antifragility as the one end of a spectrum of behaviors of a system interacting with an "environment". I use quotes there for "environment" is in fact just another system or system-of-systems also expressing a behavior. The need for antifragility, in my opinion, comes from the "opportunities" that may appear throughout the mutual interaction of these behaviors. A few examples may clarify what I mean. If E exercises a random behavior (or one that appears to S as random, or unintelligible) then S can't use any advanced behavior and must resort to worst-case analysis and predefined use of redundancy to mask out the negative effects of E's behavior. This is elasticity. On the other hand, if E exercises purposeful behavior, viz. intelligible behaviors such that a goal may be identified and pursued, then S can match E's behavior with something "more clever". A first thing that S may do is enacting a strategy towards a simple protection of its identity. This is entelechism ("being-at-work" so as to "stay-the-same"). This is a teleological / extrapolatory behavior that ranges from reactivity to proactivity. Once more, what to use depends on E's behaviors -- if the behavior of E may be anticipated, then proactivity is a good option, while if the behavior has a reduced "extrapolation horizon" then a better option could be reactivity. An important aspect to highlight is, in my opinion, that entelechism leaves no trace in S. "Genetically" speaking, the interaction with E leaves no trace. The impact on the identity of the system is nought. In other words if you run S a second time and deploy it in E, S will start from scratch. One could say that entelechism is memoryless -- it leaves no trace in S. A different approach is what I call "computational antifragility". Here S makes use of learning techniques that leave a trace in S's identity. Computational antifragility is proactivity with machine learning, it is "being-at-work while improving-the-self". This corresponds to Professor Taleb's concept of antifragility, applied to the context of computing systems.

The currently missing link is, in my opinion, the ability to reconfigure the system so as to select the resilience strategy best matching the current behavior of E. In other words, a self-resilient (or as I call it, an auto-resilient) approach is required, with an environment behavior classificator able to tell what options are made viable by E's behavior, a planner selecting the corresponding strategy and its parameters, and a reconfigurator able to re-weave the system according to the selected strategy.

Creative Commons License
A few thoughts on Computational Antifragility by Vincenzo De Florio is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.
Permissions beyond the scope of this license may be available at mailto:vincenzo.deflorio@gmail.com.