  Compensation is a technique to roll-back a system to a consistent state in
case of failure. Recovery mechanisms for compensating calculi specify the order
of execution of compensation sequences. Dynamic recovery means that the order
of execution is determined at runtime. In this paper, we define an extension of
Compensating CSP, called DEcCSP, with general dynamic recovery. We provide a
formal, operational semantics for the calculus, and illustrate its expressive
power with a case study. In contrast with previous versions of Compensating
CSP, DEcCSP provides mechanisms to replace or discard compensations at runtime.
Additionally, we bring back to DEcCSP standard CSP operators that are not
available in other compensating CSP calculi, and introduce channel
communication.
