Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Biological Immunity and Software Resilience: Two Faces of the Same Coin?
1. Università
degli
Studi
dell’Aquila
Software
Engineering
for
Resilient
Systems
7th
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
2. 7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
Massimo Tivoli
PhD / Associate Professor
Dep. of Information Engineering,
Computer Science and Mathematics –
University of L’Aquila
Marco Autili
PhD / Assistant Professor
Dep. of Information Engineering,
Computer Science and Mathematics –
University of L’Aquila
Amleto Di Salle
PhD
Dep. of Information Engineering,
Computer Science and Mathematics –
University of L’Aquila
Alexander Perucci
PhD Student
Dep. of Information Engineering,
Computer Science and Mathematics –
University of L’Aquila
Francesco Gallo
PhD / Research Fellow
Dep. of Information Engineering,
Computer Science and Mathematics –
University of L’Aquila
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. Introduction – Software Resilience
Resilient systems have the ability to endure and successfully recover from
disturbances by identifying problems and mobilizing the available resources to
cope 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
10. 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
11. Introduction - Immune System
?
Immune systems are highly adaptive and scalable, with the ability to cope with
multiple data sources, fuse information together, makes decisions, have
multiple interacting agents, operate in a distributed manner over a multiple
scales, and have a memory structure to facilitate learning in order to defence
body 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
12. Introduction - Immune System
?
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
13. 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 from
disturbances by identifying problems and mobilizing the available resources to
cope 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 with
multiple data sources, fuse information together, makes decisions, have
multiple interacting agents, operate in a distributed manner over a multiple
scales, and have a memory structure to facilitate learning in order to defence
body against infectious organism (pathogens) and other invaders.
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
14. 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 from
disturbances by identifying problems and mobilizing the available resources to
cope 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 with
multiple data sources, fuse information together, makes decisions, have
multiple interacting agents, operate in a distributed manner over a multiple
scales, and have a memory structure to facilitate learning in order to defence
body against infectious organism (pathogens) and other invaders.
May be Yes
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
15. Actor Model Overview
How
we
combine
Immune System
and
Resilient
Software?
Actor Model is a formal mathematical model of concurrent computation, and
actually 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 and
delegation mechanisms.
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
16. Actor Model Overview
We focus on the Akka toolkit2, which is a framework that natively permits a
programming 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 and
delegation mechanisms.
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
[2] - http://akka.io
17. Bio-‐inspired
concept
architecture
for
resilient
systems
-‐ I
?
-‐ The System actor creates the KillerSupervisor ,
HelperSupervisor and ConsumerSupervisoractors
- 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 and
ConsumerActor
-‐ Each message activates specific instances of
HelperActor and
KillerActor
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
18. Bio-inspired concept architecture for resilient systems - II
Agility:
undesired behaviours or changes represent the software
counterpart 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 actor
initially treats it as an unknown message.
Flexibility:
the actors can be dynamically produced or replicated, without
blocking the system.
Robustness:
it uses the let it crash policy to manage the programmed
death of faulty components that can be dynamically killed or
stopped for preserving the system functioning
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
19. 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
20. 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, way
depending 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
21. 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, way
depending 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 biological
systems can be used for predictions, preparation and elimination of unnecessary, dangerous or
unethical laboratory experiments
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris
22. THANKS
FOR
YOUR
ATTENTION!!!
Question?
7th
International
Workshop
on
Software
Engineering
for
Resilient
Systems,
7-‐8th
September 2015, Paris