Modem computer systems possess two main characteristics: their ever- growing complexity and the increasing number and range of abnormal situa- tions they have to cope with successfully in order to deliver the service. Developing such systems is ademanding task requiring discipline and cIear thinking, which are best ensured by the right design mechanisms aiming at both appropriate system structuring and a disciplined provision of fault toler- ance. The groundlaying research of the 60s and 70s created a solid basis in this area by developing a number of fundamental mechanisms, such as ACID (atomicity, consistency, isolation and durability) transactions, atomic actions (Brain Randell's conversations) and exception handling. Later on, a number of advanced techniques were proposed to overcome some of the limitations and rigidity of these mechanisms and to allow system developers to effec- tively deal with specific characteristics of a particular application, an applica- tion domain, design paradigm and execution environment. These incIude a variety of advanced transactional schemes and a number of novel exception handling techniques.
In the last years, there has been a surge of interest in developing more advanced mechanisms combining properties of several fundamental mecha- nisms to make it easier for system developers to cope, in a more flexible and efficient fashion, with complexity, distribution and heterogeneity of emerging applications as weil as with an increasing variety of possible faults.