  The embedding of fault tolerance provisions into the application layer of a
programming language is a non-trivial task that has not found a satisfactory
solution yet. Such a solution is very important, and the lack of a simple,
coherent and effective structuring technique for fault tolerance has been
termed by researchers in this field as the "software bottleneck of system
development". The aim of this paper is to report on the current status of a
novel fault tolerance linguistic structure for distributed applications
characterized by soft real-time requirements. A compliant prototype
architecture is also described. The key aspect of this structure is that it
allows to decompose the target fault-tolerant application into three distinct
components, respectively responsible for (1) the functional service, (2) the
management of the fault tolerance provisions, and (3) the adaptation to the
current environmental conditions. The paper also briefly mentions a few case
studies and preliminary results obtained exercising the prototype.
