SHARP Project
From OSDVwiki
The SHARP project is in the specification and prototyping phase of building a platform for devices that are part of an election system, including but not limited to voting devices. Specification work is focused on providing definition and details for the prototyping efforts. Prototyping is being conducted as a system-building competition, the IOTA Challenge, and is guided by the Open Toaster Architecture for integrity and assurance.
[edit] Common Basis for Assurance
The main idea behind SHARP is that most types of electronic election equipment share a fairly simple set of requirements for the platform that they run on (and OS and common services implemented on the OS). Current SHARP efforts are oriented to proof of the concept that it is quite feasible to build a high-assurance platform that meets all of these requirements, and that is a sufficient platform for all of the components of OASES, the OSDV election system. An important goal is to show that such a platform can exist in order to "factor out" the majority of issues about system integrity, software assurance, verifiable operation, feasible software assessment, system certification, so forth -- all the common areas where many currently used systems are opaque or seemingly burdensome to assess, and as a result suffer from having no basis for trust.
Other OSDV projects, including some that can run in parallel, will test the SHARP system definition by using a SHARP prototype (one or more of the IOTA Competition entries) as the basis for a reference implementation of a component of an election system. For example, the SCAN project will combine SHARP with open source software for a paper ballot optical scanning function that is already available for public use. Each of these reference implementations should demonstrate not only that the SHARP system specification is feasible to implement, but also that SHARP-based systems are very feasible to assess for integrity, assurance, verifiability and so forth.
These system properties are essential as the basis for trust in any component of an election system composed of trustworthy devices that are high assurance and high integrity. Therefore, SHARP efforts are critical to demonstrate the feasibility of building trustworthy technology for elections.
[edit] The IOTA Challenge
Briefly stated, the challenge is to choose an open source operating system distribution, and strip it down to implement the minimal OS API needed to support the application software of an election system device. The result of the Challenge is intended to be a competitive selection of the most appropriate open-source operating system distribution to be used as the basis for SHARP - the common platform for the devices and systems that will comprise a complete set of open, next-generation election technology.
The requirements for the SHARP platform -- and hence the IOTA Challenge -- are driven by platform requirements for the various devices that comprise the OASES system, OSDV's election system. Each of these devices consists of a single application, and these applications all have essentially the same set of minimal requirements: simple file I/O, device I/O, and not much else. For simplicity in the Challenage, we assume that all of the OASES devices' application software will be written in one interpreted language (such as python or perl), so the required APIs and system services are limited to what is needed to support one interpreter running the application software.
In addition to constructing a minimal OS, the IOTA Challenge also includes implementation of some other aspects of the SHARP specification. For more information, see the announcement for the IOTA Challenge.
[edit] SHARP Specification
The first draft specification document for SHARP is in progress. Most of the important aspects of SHARP are informally described in the Open_Toaster_Architecture.

