Compound applications A compound application consists of a main program and one or more subsidiary programs. The main program executes the subsidiary programs in sequence. It maintains a state file that records which subsidiary programs have already completed. It assigns to each subsidiary application a subrange of the overall 'fraction done' range of 0..1. For example, if there are two subsidiary applications with equal runtime, the first would have range 0 to 0.5 and the second would have range 0.5 to 1.

The main program must not call boinc_init() or boinc_finish(). Its logic is as follows:

read state file
for each remaining subsidiary application:
    boinc_parse_init_data_file()
    aip.fraction_done_start = x
    aip.fraction_done_end = y
    boinc_write_init_data_file()
    run the app
    write state file
exit(0)
where x and y are the appropriate fraction done range limits.

Each subsidiary program should use the normal BOINC API, including calls to boinc_fraction_done() with values ranging from 0 to 1. "; page_tail(); ?>