biological immunity and software resilience: two faces of the same coin?

22
Università degli Studi dell’Aquila Software Engineering for Resilient Systems 7th International Workshop on Software Engineering for Resilient Systems, 78th September 2015, Paris Biological Immunity and Software Resilience: two faces of the same coin? Marco Autili, Amleto Di Salle, Francesco Gallo, Alexander Perucci, Massimo Tivoli

Upload: sereneworkshop

Post on 12-Apr-2017

255 views

Category:

Science


1 download

TRANSCRIPT

Università  degli  Studi  dell’Aquila

Software  Engineering  for  Resilient  Systems7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Biological  Immunity  and  Software  Resilience:  two  faces  of  the  same  coin?

Marco  Autili,  Amleto  Di  Salle,  Francesco  Gallo,  Alexander  Perucci,  Massimo  Tivoli

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Massimo TivoliPhD / Associate Professor

Dep. of Information Engineering, Computer Science and Mathematics –University of L’Aquila

Marco AutiliPhD / Assistant Professor

Dep. of Information Engineering, Computer Science and Mathematics –University of L’Aquila

Amleto Di SallePhD

Dep. of Information Engineering, Computer Science and Mathematics –University of L’Aquila

Alexander PerucciPhD Student

Dep. of Information Engineering, Computer Science and Mathematics –University of L’Aquila

Francesco GalloPhD / Research Fellow

Dep. of Information Engineering, Computer Science and Mathematics –University of L’Aquila

Roadmap

• Introduction• Software Resilience• Immune System Actor Model Overview

• Bio-inspired concept architecture for resilient systems • Consideration and Future Works

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Roadmap

• Introduction• Software Resilience• Immune System

• Actor Model Overview• Bio-inspired concept architecture for resilient systems • Consideration and Future Works

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Roadmap

• Introduction• Software Resilience• Immune System

• Actor Model Overview• Bio-inspired concept architecture for resilient systems • Consideration and Future Works

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Roadmap

• Introduction• Software Resilience• Immune System

• Actor Model Overview• Bio-inspired concept architecture for resilient systems • Consideration and Future Works

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction

Biological Immunity and Software Resilience are two faces of the same coin?

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction

Biological Immunity and Software Resilience are two faces of the same coin?

?7th  International  Workshop  on  Software  Engineering  for  

Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction – Software Resilience

Resilient systems have the ability to endure and successfully recover fromdisturbances by identifying problems and mobilizing the available resources tocope with the disturbance. Resiliency lets a system recover from disruptions,variations, and a degradation of expected working conditions1.

[1] - Synergy between biology and systems resilience - Ashik Chandra

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction - Immune System

?Biological systems are resilient? And in particular, Immune System is resilient?

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction - Immune System

?Immune systems are highly adaptive and scalable, with the ability to cope withmultiple data sources, fuse information together, makes decisions, havemultiple interacting agents, operate in a distributed manner over a multiplescales, and have a memory structure to facilitate learning in order to defencebody against infectious organism (pathogens) and other invaders.

Biological systems are resilient? And in particular, Immune System is resilient?

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction - Immune System

?7th  International  Workshop  on  Software  Engineering  for  

Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction - System Resilient and Immune System

?Biological systems are resilient? And in particular, Immune System is resilient?

Resilient systems have the ability to endure and successfully recover fromdisturbances by identifying problems and mobilizing the available resources tocope with the disturbance. Resiliency lets a system recover from disruptions,variations, and a degradation of expected working conditions.

Immune systems are highly adaptive and scalable, with the ability to cope withmultiple data sources, fuse information together, makes decisions, havemultiple interacting agents, operate in a distributed manner over a multiplescales, and have a memory structure to facilitate learning in order to defencebody against infectious organism (pathogens) and other invaders.

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Introduction – System Resilient and Immune System

?Biological systems are resilient? And in particular, Immune System is resilient?

Resilient systems have the ability to endure and successfully recover fromdisturbances by identifying problems and mobilizing the available resources tocope with the disturbance. Resiliency lets a system recover from disruptions,variations, and a degradation of expected working conditions.

Immune systems are highly adaptive and scalable, with the ability to cope withmultiple data sources, fuse information together, makes decisions, havemultiple interacting agents, operate in a distributed manner over a multiplescales, and have a memory structure to facilitate learning in order to defencebody against infectious organism (pathogens) and other invaders.

May be Yes

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Actor Model Overview

How  we  combine  Immune System  and  Resilient  Software?  

Actor Model is a formal mathematical model of concurrent computation, andactually several programming language employing the notion of actor (ex.Java, Scala)

The Actor Model is characterized by:

• inherent concurrency of computation within and among Actors, • dynamic creation/replication of Actors, • interaction only through direct asynchronous message passing.

Resilience is achieved through replication, containment, isolation anddelegation mechanisms.

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Actor Model Overview

We focus on the Akka toolkit2, which is a framework that natively permits aprogramming style based on the Actor Model.

The Actor Model is characterized by:

• inherent concurrency of computation within and among Actors, • dynamic creation/replication of Actors, • interaction only through direct asynchronous message passing.

Resilience is achieved through replication, containment, isolation anddelegation mechanisms.

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

[2] - http://akka.io

Bio-­‐inspired  concept  architecture  for  resilient  systems  -­‐ I

?-­‐ The System actor creates the KillerSupervisor ,  HelperSupervisor andConsumerSupervisoractors

- The supervisor actors are in charge of detecting changes, intrusions, failures, and undesired behaviours

- Supervisor actors are in charge of creating respective sub actors, namely KillerActor ,  HelperActor andConsumerActor

-­‐ Each message activates specific instances ofHelperActor and  KillerActor

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Bio-inspired concept architecture for resilient systems - II

Agility:undesired behaviours or changes represent the softwarecounterpart of pathogens.

Redundancy:Akka toolkit offers persistence.

Dynamic learning:if some change or undesired behaviour occurs at run time,and the affected actor is not able to manage it, the actorinitially treats it as an unknown message.

Flexibility:the actors can be dynamically produced or replicated, withoutblocking the system.

Robustness:it uses the let it crash policy to manage the programmeddeath of faulty components that can be dynamically killed orstopped for preserving the system functioning

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Consideration and Future Works - I

From our point view…..YES

Biological Immunity and Software Resilience are two faces of the same coin?

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Consideration and Future Works - II- automatic recognition of software failures/changes;

- dynamic learning of the solutions required to correctly react to the recognized failures/changes;

- modular actuation of the (learned) solution, without compromising the over all system function;

- self-stabilization of the self-*actions;

- multilayer management of failures/changes (and related strategies) in a modular, yet cohesive, waydepending on the affected layer(s), e.g., application, middleware, operating system, network layer.

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

Consideration and Future Works - II- automatic recognition of software failures/changes;

- dynamic learning of the solutions required to correctly react to the recognized failures/changes;

- modular actuation of the (learned) solution, without compromising the over all system function;

- self-stabilization of the self-*actions;

- multilayer management of failures/changes (and related strategies) in a modular, yet cohesive, waydepending on the affected layer(s), e.g., application, middleware, operating system, network layer.

The opportunity to explore to use our formalism to create executable software models of biologicalsystems can be used for predictions, preparation and elimination of unnecessary, dangerous orunethical laboratory experiments

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris

THANKS  FOR  YOUR  ATTENTION!!!

Question?

7th  International  Workshop  on  Software  Engineering  for  Resilient  Systems,  7-­‐8th  September 2015, Paris