next up previous contents
Next: 3 Overlord Up: HAFTA Architecture Overview Previous: 1 Introduction   Contents

Subsections

2 Checkpoint Library

The client application can use this library to help ensure the flow of the program is developed in such a way in which it can recover from any type of unexpected problem.

This is accomplished by dividing the program structure into two levels, the sequence level, and the checkpoint level.

2.1 Sequences

A sequence consists of an associative array style data structure containing a list of functions that the sequence will call. Each set of functions in the list, known as a node, contains a normal function, a rollback function, and a policy function.

A sequence is invoked similarily to the way one might invoke a single function, except that it is done through the API of the checkpoint library.

The important features of the sequence structure

2.2 Checkpoints

Checkpoints are a facility for allowing the rollback of a partially completed function. Checkpoints are a strictly linear enumeration of the resources allocated by the programmer's code.

The value of the last checkpoint set by a particular normal or rollback function is stored, then presented to the rollback function so that the programmer's rollback code can know what resources it needs to free and/or deconfigure.

The important features of the checkpoint structure


next up previous contents
Next: 3 Overlord Up: HAFTA Architecture Overview Previous: 1 Introduction   Contents
2003-01-03