| 7 | | of volunteers, via the Internet, to accomplish a task. |
| | 7 | of volunteers, via the Internet, to accomplish a set of tasks. |
| | 8 | |
| | 9 | BOSSA is designed to accommodate a wide range of tasks. |
| | 10 | In particular: |
| | 11 | |
| | 12 | * Tasks may be short (performed on a single web page) are may involve running separate programs and take several weeks. |
| | 13 | * Tasks may be performed by a single user or by a group of cooperating users. |
| | 14 | * Tasks may be automatically validated, or may require validation by comparing multiple instances. |
| | 18 | |
| | 19 | == Abstractions == |
| | 20 | |
| | 21 | A BOSSA project has one or more ''skill apps''. |
| | 22 | For each skill app and each user, |
| | 23 | BOSSA maintains ''skill estimate'', an estimate of the user's skill at that task. |
| | 24 | This is maintained in the user's project-specific XML document. |
| | 25 | Normally it's a number in [0..1], and it's initially zero. |
| | 26 | |
| | 27 | Normally each skill app has an associated BOLT course, |
| | 28 | and the skill estimate is maintained on the basis of |
| | 29 | the user's interaction with that course. |
| | 30 | However, a project can maintain the skill app |
| | 31 | using any other mechanism. |
| | 32 | |
| | 33 | Each skill app has a dynamic set of ''skill tasks''. |
| | 34 | Each one has an associated XML document, |
| | 35 | typically describing its parameters or input files. |
| | 36 | |
| | 37 | Each skill task has a set of ''task instances''. |
| | 38 | Each one represents a copy of the task, either in progress or completed. |
| | 39 | Each instance is assigned either to a user or to a team. |