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.
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.
ERCIM Working Groups are open to any researcher in the specific scientific field. Scientist interested in participating in the ERCIM WG SRENE should contact the WG coordinator.
The Working Group is organising its annual workshop in cooperation with ACM SIGSOFT on 17-19 November 2008 in Newcastle upon Tyne (UK). See announcement at http://serene2008.uni.lu/.
SERENE Working Group coordinator
University of Luxembourg