Changes between Version 8 and Version 9 of BossaIntro
- Timestamp:
- Oct 9, 2007, 8:35:10 AM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BossaIntro
v8 v9 1 = Berkeley Open System for Skill Aggregation (B OSSA) =1 = Berkeley Open System for Skill Aggregation (Bossa) = 2 2 3 3 [[T(DesignDocument)]] 4 4 5 B OSSAis a software infrastructure for creating5 Bossa is a software infrastructure for creating 6 6 projects that use skills or knowledge of large numbers 7 7 of volunteers, via the Internet, to accomplish a set of tasks. 8 This has been termed ''skill aggregation'', ''distributed thinking'', etc.8 This has been variously termed ''skill aggregation'', ''distributed thinking'', and ''human computing''. 9 9 10 B OSSAis designed to accommodate a wide range of tasks.10 Bossa is designed to accommodate a wide range of tasks. 11 11 In particular: 12 12 13 13 * Tasks may be short (performed online via a single web page) or may take several weeks and involve running separate programs. 14 14 * Tasks may be performed by a single user or by a group of cooperating users. 15 * Tasks may be automatically validated, or may require validation by comparing multipleinstances.15 * Tasks may be automatically validated, or may require validation by comparing redundant instances. 16 16 17 BOSSA uses [BoincBasics BOINC Basics], 18 and designed to be used together with [BoltIntro BOLT]. 17 Bossa consists of a MySQL database schema and a set of PHP pages. 18 Projects install these components on their server, 19 and add their own PHP scripts to generate, show, and handle tasks. 20 Bossa uses [BoincBasics BOINC Basics] for grouping and communication, 21 and can use [BoltIntro BOLT] for volunteer training. 19 22 20 23 == Abstractions == 21 24 22 A BOSSA project has one or more ''skill apps''. 23 For each skill app and each user, 24 BOSSA maintains ''skill estimate'', an estimate of the user's skill at that task. 25 This is maintained in the user's project-specific XML document. 26 Normally it's a number in [0..1], and it's initially zero. 27 28 Normally each skill app has an associated BOLT course, 29 and the skill estimate is maintained on the basis of 30 the user's interaction with that course. 31 However, a project can maintain the skill app 32 using any other mechanism. 33 25 A Bossa project has one or more ''skill apps''. 34 26 A skill app has a dynamic set of ''skill tasks''. 35 Each one has an associated XML document, 36 typically describing its parameters or input files. 37 27 Each one has an associated set of arguments describing its parameters or input files. 38 28 Each skill task has a set of ''task instances''. 39 29 Each one represents a copy of the task, either in progress or completed. … … 69 59 * A maximum number of tasks per day issued per user or group 70 60 61 == Volunteer characteristics == 62 63 For each skill app and each user, 64 Bossa maintains ''skill estimate'', an estimate of the user's skill at that task. 65 This is maintained in the user's project-specific XML document. 66 Normally it's a single number in [0..1], and it's initially zero. 67 68 The skill estimated can be computed in any of several ways: 69 70 * The results of the user's interaction with a Bolt course associated with the skill app. 71 * The user's performance on "calibration tasks" mixed into the stream. 72 * The fraction of the user's results classified as invalid by redundancy. 73 74 Skill estimates are used for two purposes: 75 76 * To decide whether to give tasks to a user; 77 * To decide how many redundant instances of a given task are needed. 78 71 79 == Implementation == 72 80 73 To get work, a user goes to a particular B OSSA-supplied page.81 To get work, a user goes to a particular Bossa-supplied page. 74 82 There he sees a list of skill apps for which tasks are available 75 83 and for which he is qualified, … … 78 86 Each app has an estimate of the time or other resources required to complete the task. 79 87 80 Selecting an online app invokes the B OSSA''scheduler'' script,88 Selecting an online app invokes the Bossa ''scheduler'' script, 81 89 which selects a task instance suitable for the user, 82 90 and redirects to its instance URL. 83 91 84 Selecting an offline app invokes the B OSSAscheduler,92 Selecting an offline app invokes the Bossa scheduler, 85 93 which selects a task and redirects to its instance-start URL. 86 94