Options: a way for achieving failure atomicity in the WorkMan system

WorkMan is a prototype workflow system in which considerable attention is paid to the workflows' transactional properties and the utilization of the services provided by database systems supporting SQL. In particular, the system provides different approaches for workflows' failure atomicity: like most other workflow systems, it provides a compensation mechanism, but besides this, it provides options. An option is a certification of the success of a possible later update. Through options, the problems related to dirty data can be avoided: instead of making dirty updates, workflows try to acquire options. If the workflow will commit, then the options are realised; otherwise they are cancelled. Options are implemented by installing appropriate constraints in the database. Two variations of options are introduced, called public options and internal options. They differ in whether the effects of granted options are visible to other concurrent activities.