boinc/doc/app.html

67 lines
2.6 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html lang="en">
<head>
<title>Platforms, Applications, and Versions</title>
<meta name="generator" content="BBEdit 6.1.2">
</head>
<body>
<h2>Platforms, Applications, and Versions</h2>
<p>
A <b>platform</b> is a compilation target (Windows/Intel,
Linux/Intel, MacOS/PPC, etc.). Platforms are maintained in the
<b>platform</b> table in the BOINC DB, and can be created using the <a
href="tools.html">add</a> utility program.
</p>
<p>
An <b>application</b> is a computational task; in concrete terms it
consists of an executable program (perhaps in versions for various
platforms) and a set of input files to be processed by the program. A
project can operate many applications. Applications are maintained in
the <b>application</b> table in the BOINC DB, and can be created using
the <a href="tools.html">add</a> utility.
</p>
<p>
An application program may go through a sequence of <a
href="version.html">versions</a>. A particular version, compiled for a
particular platform, is called an <b>application version</b>. An
application version can consist of multiple files: for example, a
controller script, pre- and post-processing programs, and a primary.
</p>
<p>
Each application version has an integer <b>version number</b>.
Projects can assign version numbers however they like; for example,
version 304 might represent major version 3 and minor version 4. Version
numbers should be used consistently across platforms; Windows version
304 should be computationally identical to Mac version 304.
</p>
<p>
Each application has a <b>minimum version</b>. When a client is sent
work for an application, it is also sent the latest application version
for its platform. It is sent work only if this version is the minimum or
greater.
</p>
<p>
Application version are maintained in the <b>app_version</b> table
in the BOINC DB, Each entry includes an XML document describing the
files that make up the application version:
</p>
<pre>
&lt;file_info&gt; ... &lt;/file_info&gt;
[ ... ]
&lt;app_version&gt;
&lt;app_name&gt;foobar&lt;/app_name&gt;
&lt;version_num&gt;4&lt;/version_num&gt;
&lt;file_ref&gt;
&lt;file_name&gt;program_1&lt;/file_name&gt;
&lt;main_program/&gt;
&lt;/file_ref&gt;
&lt;file_ref&gt;
&lt;file_name&gt;library_12&lt;/file_name&gt;
&lt;/file_ref&gt;
&lt;/app_version&gt;
</pre> The <a href="tools.html">add</a> utility program provides a
simplified interface for creating application versions.
</body>
</html>