DSDT is a programming tool for writing durable scripts which contain short ACID transactions as components. The context of the script is made durable by writing a log record whenever an event occurs which cannot be replayed. Log checkpoints are used to minimize recovery time. DSDT can be written in stand-alone mode communicating with DBMSs by transactional remote procedure calls and maintaining its own logging system or it can be made part of a DBMS by modifying the DBMS transaction manager source code. DSDT provides a panic button (user-exit) and the ability to specify what action should be taken on restart after system failure. The programmer can also specify actions to be taken after a function key is pressed by a user. DSDT enables most extended transaction models to be expressed in scripts modulo the guarantees of compensation. Recovery after system failure is shown to be correct.