These slides have been presented at SERENE 2012 (serene.uni.lu/Workshops/SERENE_2012), the 4th 4th International Workshop on
Software Engineering for Resilient Systems. It analyses the state of the art in software engineering for resilient systems and potential future research directions on the topic.
Exploring the Temporal Aspects of Software Architecture
Future Research in (Software) Resilience
1. Henry Muccini
University of L’Aquila, Italy
Panel @SERENE 2012, 4th International Workshop on Software Engineering for
Resilient Systems, 27-28 September 2012 - Pisa, Italy
5. Architectures and components
architecting resilient systems (through tactics, patterns or
via reconfiguration)
Modeling for resilience:
UML and formal, quantitative and qualitative
Analysis of resilience:
security, risk analysis, reliability
Resilience through reconfiguration and self-*
6. Links between FT, Dependability, EH, and Resilience
Resilience in domain specific applications
(e.g., avionics, automotive, railways, robots, healtcare)
Industry experience and case study
Monitoring
as a driver for adaptation
Services
Services for resilience and resilient services
9. 2000 2009 2010 2011 2012
Adaptive,
“on the approximately 1300 Dynamic, and
citations using the term Resilient
resilient or resilience Systems
(Mobile
registered at DBLP, 90% Services and
appeared after 2000 and Systems)
75% in the last five years”
[Guelfi, Central European J.
of Computer Science 2011]
10. RESIST NoE
Completed in 2008
Jean Claude Laprie
ASSURE - Autonomic software-intensive systems:
foundations of safety and resilience
2010-2013, Elena Troubitsyna
Dynamically Resilient Systems
Giovanna di Marzo Serugendo
12. “Resilience” as an engineering discipline, with
its own taxonomy, properties, metrics
Not just talking about “resilient systems”
Identify a clear taxonomy of what resilience is
about
Define properties to make systems more resilient
Define metrics
Define the “boundaries” and “scope” of resilience
with respect to other disciplines
13. “The best we could do is to find a solution
that works for now”
[picture taken from Google Images]
14. Daniel Jackson has written an article, Dependable
Software by Design, on how software design tools
can be used to improve the resilience of software.
Corey Baswell: “The more critical dependencies our
software has that are external and synchronous the
less resilient it will be.”
[http://soupinadeli.com/category/resilientsoftware/]
Work by Elena Troubitsyna et al.
Trade-off with other system attributes (cost, other
qualities)
15. Sustainability
Resilience is the persistence of the avoidance
of failures that are unexpectedly frequent or
severe, when facing change [Laprie]
Sustainability: “is the capacity to endure. For humans,
sustainability is the long-term maintenance of
responsibility, which has environmental, economic, and
social dimensions” [Wikipedia]
“Sustainable Development” as development that…
“meets the needs of the present without compromising
the ability of future generations to meet their needs.”
[UN World Commission on Environment and Development, 80’s]
16. Time
“Resilient systems” “Sustainable systems”
• A broad spectrum of possible
• 3 dimensions:
equilibrium state
• Environmental
• Not necessary all states are predicted
• Economic
• Adaptive and evolving systems
• Social
• impact of the system on the
• Need for measurement
environment
• Need for trade-off
• Challenge:
• Challenge:
• Adaptation
• measurement
• Optimal performance in different
• Trade-off
states
• Minimize unwanted impact on the
environment
[Ivica Crncovik, SERENE 2011 keynote]
17. FR4_Resilience within uncertainty
The “certain world” assumption does not apply
anymore [Garlan, 2011]
Research challenges:
“Resilient systems: How can we engineer adaptive systems that
provide appropriate behavior in the presence of unpredictable
faults, resource variability and changing requirements? Are
there ways to compose adaptation modules to achieve overall
goals? Relevant work includes control theory, context-aware
computing, and autonomic computing systems [6]. …”
Notes de l'éditeur
4. For example, organisms living in communities that are in isolation from one another may be organized differently than the same type of organism living in a large continuous population, thus the community-level structure is influenced by population-level interactions