The purpose of this paper is to investigate the coordinated recovery o
f concurrently functioning interacting components of a heterogeneous s
ystem. By the heterogeneous system components we mean its parts which
are developed either independently or within different programming par
adigms, or which employ different fault-tolerance facilities. A genera
l approach to determining the principles of ensuring the joint operati
on of components is given. The paper proposes considering the well-kno
wn approaches to unplanned backward recovery as a basis for developing
fault-tolerance facilities in heterogeneous systems. The main balance
point for creating a usable system - the point between the run-time s
ystem and the facilities for application programmers - is described. T
he order of engineering steps in developing a heterogeneous fault-tole
rant system is suggested.