Software EngineeRing for rEsilieNt systEms
ERCIM Working Group
Objectives of the WG
Building trustworthy systems is one of the main challenges faced by software developers, who have been concerned with dependability-related issues since the
first day computer system was built and deployed. Obviously, there have been many changes since then, including in the nature of faults and failures, the complexity of systems, the services they deliver and the way society uses them. But the need to deal with various threats (such as failed components, deteriorating environments, component mismatches, human mistakes, intrusions and software bugs) is still in the core of software and system research and development. As computers are now spreading into various new domains (including the critical ones) and the complexity of modern systems is growing, achieving dependability remains central for system developers and users. Accepting that errors always happen in spite of all the efforts to eliminate faults that might cause them is in the core of dependability.
SERENE considers resilient systems as open and distributed systems that can dynamically adapt in a predictable way to unexpected events. Engineering such systems is a challenging issue still not solved. Achieving this objective is a very complex task since it implies reasoning explicitly and in a combined way, on system’s functional and non-functional characteristics.
SERENE advocates that resilience should be explicitly included into traditional software engineering theories and practices and should become an integral part of all steps of software development. As current software engineering practices tend to capture only normal behavior, assuming that all abnormal situations can be removed during development, new software engineering methods and tools need to be developed to support explicit handling of abnormal situations. Moreover, every phase in the software development process needs to be enriched with phase specific resilience means.
The SERENE working group proposal results from a joint initiative of the RISE chair (Nicolas Guelfi) and the EFTS co-chairs (Nicolas Guelfi, Henry Muccini, Patrizio Pellicione and Alexander Romanovsky) supported by the foreseen working members indicated below. The SERENE working group will thus benefit from research experts coming from the RISE community (http://rise.uni.lu) on software engineering as well as from the EFTS community on fault-tolerance (http://efts.uni.lu).
Sub domains of interest
In order not to consider all the scope of software engineering, the SERENE working group focuses on
Formal, semi-formal modeling of resilience properties;
Frameworks and design patterns for resilience;
Error handling and fault handling in the software life-cycle;
Re-engineering for resilience;
Component-based development and resilience;
software development processes for resilience;
resilience through exception handling in the software life-cycle;
Atomic actions;
Fault-tolerance;
Dynamic Resilience Mechanisms;
resilience Prediction;
resilience Metadata;
Reasoning and adaptation services for improving and ensuring resilience;
Intelligent and adaptive approaches to engineering resilient systems;
Engineering of self-healing autonomic systems;
Dynamic reconfiguration for resilience;
Run-time management of resilience requirements;
Verification and validation of resilient systems;
CASE tools;
Model Driven Engineering;
Software architectures for resilience.