require_once("docutil.php"); page_head("Back end programs"); echo "
A project back end consists of a set of programs, some of which have application-specific parts. Each program should be listed as a daemon in the config.xml file.
There is one work generator per application. It creates workunits and the corresponding input files. It is entirely application-specific, and uses BOINC-supplied interfaces for registering the workunits in the database.
This program (which is supplied by BOINC and is application independent) handles various state transitions of workunits and results, such as timeouts. It generates initial results for workunits, and generates more results when timeouts or errors occur.
There is one validator per application. It compares redundant results and selects a canonical result representing the correct output, and a canonical credit granted to users and hosts that return the correct output.