Docstoc

The Electronic Voting Machine - Pennsylvania State University

Document Sample
The Electronic Voting Machine - Pennsylvania State University Powered By Docstoc
					Turn off mark up when writing, cutting, and pasting initial document.

                           You guys should come to see me.

DATE?




                    The Electronic Voting System
                                Architecture Document




                                                       Team Mu
                                                          Paul Casillo
                                                          Michael Snyder
                                                          Tom Workman


                                                       1/3/201311/5/200611/5/200610/28/2006
          The Electronic Voting System




                                    Mentors
                                      Mehmet Malcok
                                      Doug Smith




Team Mu              2 / 24         1/3/201311/5/200611/5/200610/28/2006
                     The Electronic Voting System



Revision List
Revision Number   Date          Description
DRAFT0.1          10/18/06      Original Draft
0.2               10/29/06      Revised Diagrams, Executive Summary
0.3               11/02/06      Revised From Group Review
0.31.0            11/0205/06    Revised From Group ReviewFinal Document




Team Mu                         3 / 24         1/3/201311/5/200611/5/200610/28/2006
                           The Electronic Voting System



Approvals Page



Team:

        Concur:     __________________________________________
                    Michael Snyder

        Concur:     __________________________________________
                    Tom Workman

        Concur:     __________________________________________
                    Paul Casillo




Mentor:

        Concur:     __________________________________________
                    Mehmet Malcok

        Concur:     __________________________________________
                    Doug Smith



Instructor:

        Approval:   __________________________________________
                    Gary Walker




Team Mu                               4 / 24         1/3/201311/5/200611/5/200610/28/2006
                                           The Electronic Voting System



Table of Contents
1.0 Executive Summary...................................................................... Page 5
2.0 Introduction and Background ........................................................ Page 6
3.0 Document Objectives ................................................................... Page 7
4.0 Intended Audience ........................................................................ Page 8
5.0 Architecture Overview and Scope ................................................. Page 8
    5.1 Functional Block Structure ..................................................... Page 8
    5.2 Tier Structure ...................................................................... Page 810
    5.3 Software Module Structure ................................................. Page 912
    5.4 Hardware Structure ............................................................Page 1114
    5.5 Network Structure ..............................................................Page 1114
    5.6 Data Structure ....................................................................Page 1214
    5.7 User Interface Structure and Conventions ..........................Page 1215
    5.8 Technology .......................................................................Page 14 17
    5.9 Phases ................................................................................Page 1418
    5.10 Preconditions and Inputs ..................................................Page 1518
6.0 Stakeholders ............................................................................Page 1518


Table of Figures
1.0 Functional Block Diagram .......................................................... Page 88
2.0 Tier Structure Diagram .............................................................. Page 10
23.0 Software Module Diagram .....................................................Page 1011
4.0 Hardware Diagram ..................................................................... Page 12

5.0 Network Diagram ....................................................................... Page 13
36.0 User Interface ArchitectureData Diagram ..............................Page 1314
7.0 User Interface Architecture Diagram .......................................... Page 16




Team Mu                                                  5 / 24             1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System




1.0 Executive Summary
There is a federal mandate that by the 2008 presidential election all 50 states must use
some form of electronic tabulation. The integrity of our country’s election process is the
very essence of our democratic infrastructure. It is imperative that accuracy, security,
and reliability be considered the highest priority and assured before the next national
election.


Our proposed system will incorporate a new user interface which will employ video and
audio instructions. The ballot positions will be randomly generated with each vote cast
preventing candidates from being elected on their poll position. Our system will
incorporate a dual purpose real-time database. To provide assurance in our democratic
voting system the database will provide a paper trail for vote auditing as well as allow for
the voters to check their posted votes using a randomly assigned number.
After the 2000 Presidential voting tabulation issues, a majority of our states began the
transition to electronic voting machines. The current voting system relies on the user’s
ability to follow instructions written on the screen. With the advancement of technology,
no effort was made to address the positioning of names on the ballot. Past elections have
shown that the name on the first position in a contested primary ballot has an eight
percentage point advantage. With a fully electronic voting system in place, the current
system makes no effort to ensure the integrity of its system, or its security.

The architecture document will cover our proposed system. The functional block
structure explains the general purpose and usage of the system. The tier structure
displays the interface tier, the processing tier, the data tier, and the web tier, as well as
their interconnectivity. Each of these tiers contains a level of different software modules
that must interface with different hardware components. A generic flowchart describes
the user interface and its usage. Finally, the phases of implementation are described.
The architecture document will describe our project and our planned methods of
implementation. The functional block diagram will give the reader an initial view into the
structure of our project. It describes the way a voter will use the system and how their
votes will be counted. The tier structure diagram will show the reader the different levels
across which our project spans, and how they relate to each other. Next, the reader will
see our plan for the inner working of the project. The software module diagram shows
our plan to create computer software to accomplish our voting machine. The user
interface structure diagram will demonstrate, through use of a flowchart, the step by step
process a voter will go through to vote. Finally, the reader will learn the details of our
project design, such as what languages, databases, and phases the project will go through
before completion.
 Our proposed system will incorporate a new user interface which will employ video and
audio instructions. The ballot positions will be randomly generated with each vote cast
preventing candidates from being elected on their poll position. Our system will
incorporate a dual purpose real-time database. To provide assurance in our democratic


Team Mu                                     6 / 24         1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System


voting system the database will provide a paper trail for vote auditing as well as allow for
the voters to check their posted votes using a randomly assigned number.




                        The executive summary never mentios that
                        this is an architecture. The exec. Summary
                        should describe the document not the
                        project concept.




Team Mu                                     7 / 24         1/3/201311/5/200611/5/200610/28/2006
                                  The Electronic Voting System




2.0 Introduction and Background
2.1 Statement of Problem

The current voting system relies heavily on the user’s ability to follow instructions
written on the screen, and has proven to be confusing. The central importance of voting
in a democracy imposes a greater need for oversight in ensuring technology does not play
a role in affecting or thwarting the choice of the citizens. (Mercuri & Camp, 2004)
Another issue which needs to be addressed is the positioning of names on the ballot. Past
elections have shown that the name on the first position in a contested primary ballot has
an 8 percentage point advantage. New voting machines lack a fully secure vote
tabulating and auditing system to ensure that there can be no tampering with the
electronic votes. Current leading e-voting suppliers work on the principle of security
through obscurity. This provides no way to verify that software functions as the suppliers
claim. (Kitcat, 2004) Electronic voting machines potentially make voting fraud very
simple. An election saboteur needs only to introduce a minor change in the master copy
of the voting software to be effective. (Difranco, Petro, Shear, Vladimirov)


2.2 State of Technology, Industry, or Research

After the 2000 Presidential voting tabulation issues, a majority of our states began the
transition to electronic voting machines. In haste, the companies that began producing
these machines were more concerned with marketing a finished product - with little
regard to the quality of the product. In hindsight, there are a number of flaws which
need to be addressed.

There is a federal mandate that by the 2008 presidential election all 50 states must use
some form of electronic tabulation. The integrity of our country’s election process is the
very essence of our democratic infra-structure. It is imperative that accuracy, security
and reliability be considered the highest priority and assured before the next national
election.


2.3 Current Systems

The most widely used election system used in Pennsylvania polls was developed by
Diebold Election System. The machine uses a touchscreentouch-screen interface, and
onscreen written instructions. Prior to voting, the machine requires a poll worker to
insert a card, displaying the voting interface. The interface itself has many flaws. Most
users find finalizing the vote confusing, as it requires the push of a button external to the
screen. This is counterintuitive to a system that uses the touchscreentouch-screen as the
only means of input. Also, many users are only present to vote for one particular district
or area, and statistically they choose the first candidate they see on the screen for the rest


Team Mu                                      8 / 24         1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System


of the districts. This skews the results by giving a candidate at the top of the list an
advantage over the candidates below him or her. The voting tabulation system requires a
physical memory card to be removed from the system transported via a human and tallied
at an external location. This method of data retrieval opens the door for many errors.
With the card in the possession of a person, it is subject to damage, tampering, or even
misplacement.


2.4 Hypothesis

Our team will develop a new, more understandable voting environment. The new system
will better suit the needs of the voters as well as the administrators involved in the
election process. The team will develop a simple user interface designed to make the
voting experience faster and less stressful. We will employ a database accessible via the
internet which will assure voters of the system’s integrity. By incorporating the same
database, election officials will be able to check the integrity of vote tabulation as well as
increase its efficiency.



3.0 Document Objectives
This document describes the architecture of a new electronic voting system. The
description will include the software components, their relation to each other, and their
relation to the hardware components. By detailing these items, Team Mu will be able to
design and implement the new voting system.


4.0 Intended Audience
4.0 Intended Audience
Management:
    Gary Walker
    Mehmet Malcok
    Doug Smith
    Penn State University
Peers:
    Team Kappa
    Team Lambda
    Team Mu
    Team Nu
    Future Modifiers




Team Mu                                     9 / 24         1/3/201311/5/200611/5/200610/28/2006
                                           The Electronic Voting System



5.0 Architecture Overview and Scope
The scope of this document includes:
    Functional Block Structure
    Tier Structure
    Software Module Structure
    Hardware Structure
    Network Structure
    Data Structure
    User Interface Structure and Conventions
    Technology
    Phases
    Preconditions and Inputs

5.1 Functional Block Structure

Figure 1.0 displays the basic structure of the system.



                                                                Figure 1.0 Functional Block Diagram


                             Voter Information
   Voting Local Machine                               Graphic User Interface      Voter Information   Web Server
            Output Reciept




                                                          This diagram misses its mark. See
                                                          me for help.




Team Mu                                              10 / 24                   1/3/201311/5/200611/5/200610/28/2006
                                                     The Electronic Voting System




                                 Graphical User
                                   Interface




                                       Voting Data




 Thermal Receipt   Voting Data                                Voting Data     Hard Disk
                                 Logging Modules
    Logging                                                                    Logging
                                       Voting Data




                                 Network Logging              Voting Data     Database     Database    Web Interface
                                                                                           Records




The administrator will initialize the system for use. The user will input their information
through the GUI. Once the session ends, the data is passed to three separate logging
modules. the The data is logged to the PC’s hard disk, to provide a digital copy of the
transaction, unaffected by any network. The data is sent to the network database, where
it will be compiled with all other votes to give final tallies. The data is printed on and a
thermal receipt is printed for the user with theirwith a unique voter ID for use with the
web interface. A copy of the thermal receipt is also retained inside the machine. Once
the information has passed, the administrator The administrator may initialize the system
again for the next voter, or close the machine.

The web interface will display information retrieved from the database. It will only
display a user’s specific votes and general voting information and percentage per closed
district.


5.2 Tier Structure

The following tiers will be implemented:
                                                                            DIAGRAM?
    GUI tier
    Processing tier
    Data tier
    Web tier



Team Mu                                                         11 / 24          1/3/201311/5/200611/5/200610/28/2006
                                  The Electronic Voting System




Figure 2.0 displays this tier structure.




Team Mu                                     12 / 24         1/3/201311/5/200611/5/200610/28/2006
                                             The Electronic Voting System




                                                                     Figure 12.0 Functional BlockTier
                                                                     Structure Diagram
                 r
           ie
                      es
         IT
                        c
                    rfa
                 te
     U
              In
    G
             r
          te




                                            Standard GUI             Visually Impaired GUI     Administrative GUI
       Vo




                         e      r
                      Ti
                   g
                            se
               in
                       ba
          ss
                    de
                 co
      ce
            va
     o
          Ja




                                                                 Application Server
  Pr

               e   r
            Ti
                        e
                     as




                                                                                Database Services
                   ab
        a
                 at
      at
               D
     le
   D
           c
        ra




                                    Oracle Database
       O


               e   r
                            e
                            c
            Ti
                        rfa
                     te
   in e b

                  In
               P




                                                                                                Web Services
            JS
    W




                                                 `
          e
       nl
      O




                                       Web GUI




The GUI tier will involve the standard user interface, visually impaired user interface,
and the administrative interface. Graphics can be created with Adobe Photoshop CS and
the whole interface can be displayed using Java Applet or JSP.

The processing tier will involve all the Java code that drives data retrieval, object
management, and session handling.

The data tier will involve table creationall DML processes, PL/SQL for batch processing,
and unique sequencing.

The web tier will involve the web interface. Java will be used for session management
and security. Any graphics can be created with Adobe Photoshop CS and the whole
interface can be displayed using JSP.


Team Mu                                                    13 / 24             1/3/201311/5/200611/5/200610/28/2006
                                     The Electronic Voting System




5.3 Software Module Structure

The following modules will be implemented:
    Standard GUI
    Visually impaired GUI
    Administrative GUI
    Ballot randomizer
    Session handler
    Web interface

Figure 23.0 summarizes these modules and their relation.

                                                                  Figure 23.0 Software Module
                                                                  Diagram
                             Standard GUI
                               Data logging
                                module                  Call Module                               Session Handler
                               Database                                                            (Machine)
                                mapping class                                                        Singleton
                               JSP interface                                Retrieve Data            methods
                                                                                                     Save session
                                                                                                     End session
                                                                                                     Start session
                                          Ballot Randomizer                                          Data logging
   StandardUser                                  Database                                            module
                       Call Module
       GUI                                        mapping class
     Registered
       VoterData                                                                           Retrieve Data
       logging
       module
                                              Ballot
     Database                           RandomizerRando                                          Session Handler
       mapping                             m ID Number                                          (Machine)Tabulation
       class                                Generator                                                 Server
      JSP interface                             Database                                          Singleton methods
                                                  mapping class                                     Save session
                          Administrative GUI                                                        End session
                               Data logging                                                         Start
                                module                       Call Module                              sessDatabase
                               Database                                                              Mapping Classion
                                mapping class                                                        Data logging
                               JSP interface                                                         module
                                                                             Retrieve Data
                                                                                                  Session Handler
                                                                                                      (Web)
                                                                                                     Data logging
                                                                                                      modules
                             Web Interface                                                           Login expirations
                               Data logging          Call Module
                                                                           Retrieve Data              handling
                                module
                               Database
                                mapping class
                               JSP interface




Team Mu                                            14 / 24            1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System




The three GUI’s will have their own applet or JSP to display the information. Running in
the background of the user-based GUI’s will be data logging modules. These will handle
all the objects that the user is affecting (i.e. their votes).

The ballot randomizer will be a small method that takes the list of current candidates to
be displayed, and reorders them randomly.

The session handler will employ singleton methods so that only one instance of the
voting system may run on a given machine. It will also prevent multiple votes from
being cast. A session handler will be adapted for the web interface as well, to give
expirations to dormant logins and collect usage information.

The web interface will have its own JSP to display the information. In the background,
database mapping classes will collect the specific information.


5.4 Hardware Structure

The hardware involved will include:
    Generic PC’s
    Touch-screen monitors
    Thermal printers
    Magnetic card readers

Figure 4.0 shows the connections between hardware.


                                                     Figure 14.0 Functional
                                                     BlockHardware Diagram




                               Touch-Screen Computer




Thermal Printer                                                           Card Reader



Team Mu                                    15 / 24         1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System




The system will be installed to hard disk on the generic PC’s. Magnetic card readers will
be used to initialize the system and close the system. The GUI will use touch-screen
monitors as the user input source. After the user’s session ends, thermal printers will
print a receipt of the transaction, giving the user their unique voter ID.

5.5 Network Structure

Figure 5.0 shows the basic network structure.


                                                     Figure 15.0 Functional BlockNetwork
                                                     Diagram




              Voting Station




                                                 Application Server


             Voting Station
                                                                              Web
                                                                             Server




  Voter


The initial network setup will utilize Penn State’s on-campus LAN. This will allow for
secure transactions between the demonstration PC’s and the database.

The web interface can be served from the Penn State Behrend CS Senior Design
webspace allocated to Team Mu.

Final implementation will use secure internet connection through a broadband service
local to the district. Each precinct will log their voting results via the internet to the
central database. This database will allow the voters to access their results and verify
their votes were correctly logged. The Voting Stations will be connected to a local area


Team Mu                                    16 / 24          1/3/201311/5/200611/5/200610/28/2006
                                  The Electronic Voting System


network which will only be used once the precinct is closed and the voting stations are no
longer active.

5.6 Data Structure

The following tables will be implemented in the schema:
    Candidates table
    District table
    User vote table
    User statistics table
    Current votes materialized view
    Error table

Figure 6.0 is the generic ERD for the data structure.

                                                         Figure 26.0 Software ModuleData
                                                         Diagram
         Ballot                        Ballot                       Standard
    RandomizerStatistic            RandomizerVote                 GUICandidates
           s                         Database mapping             Data logging
        Database                      classVoting                   module
         mapping                       information                 Database mapping
         classSession                                               class                         Formatted: Indent: Left: 0.25", Hanging:
         information
           Ballot                                                   JSP                           0.13", Bulleted + Level: 1 + Aligned at: 0.25"
                                                                     interfaceCandidat
                                                                       Ballot                      + Tab after: 0.5" + Indent at: 0.5", Tab
     RandomizerError                                                 e information
        Database                                                RandomizerDistrict                stops: 0.38", List tab + Not at 0.5"
         mapping                                                    Database
         classException                                              mapping
         information                                                 classDistrict
                                                                     information




                                       Ballot
                                  RandomizerCurrent
                                       Votes
                                      Database
                                       mapping
                                       classDistrict
                                       information
The candidates table will contain all the current candidates for the election. It will have a
foreign key to the district table.

The district table will contain all the available voting districts and will drive what users
will see as their possible list of candidate choices.

 The user vote table will contain each user’s votes based on a foreign key to the
candidates table. It will also include a foreign back to the district table for referential
integrity.




Team Mu                                       17 / 24       1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System


The user statistics table will contain the anonymous session information for each user.
This can be used by administrators or developers for research purposes.

The current votes materialized view will gather all the current votes together per
candidate, per district using PL/SQL. This will drive the web interface’s general vote
information. It will provide an extra level of security as it will never directly access any
single user’s vote. It will also provide less transactional stress on the other tables.

The error table will contain any caught exceptions or prematurely closed sessions that
may occur in the system.


5.7 User Interface Structure and Conventions

The voting machines will implement following interfaces:
    The standard user interface
    The visually impaired interface
    The administrative interface

These interfaces can be seen in flowchart form in Figure 37.0.




Team Mu                                    18 / 24         1/3/201311/5/200611/5/200610/28/2006
                                        The Electronic Voting System




                                                Figure 37.0 User Interface Architecture
                                                Diagram
                                              Administrative GUI
                                            Administrator initializes or
                                             restarts session




          Standard GUI                             Yes                                 Visually Impaired
           Instructions                                                                      GUI
            appear                                                                          Instructions are
           Candidates                                                                       read
            appear                                                                          Candidates are
           System waits for                       Does user                                 read
            selection or pass                     want to quit?                             System waits for
                                                                                             selection or pass



                                   No                                        No


              Is user                                                                          Is user
           satisfied with                                                                   satisfied with
            decision?                                                                        decision?


 Yes                                                                                                             Yes


          Standard GUI                   No                           No               Visually Impaired
           Next instructions                                                                 GUI
            appear                                                                          Next instructions
           Next candidates                                                                  are read
            appear                                                                          Next candidates
           System waits for                                                                 are read
            selection or pass                                                               System waits for
                                                                                             selection or pass



                                  No
                                                                             No



             Are all                                                                          Are all
            elections                                                                        elections
           passedchos                                                                       chosenpass
               en?                                                                              ed?


            Yes                                                                              Yes


               Is user                                                                          Is user
           satisfied with                                                                   satisfied with
           all decisions?                                                                   all decisions?

                                                    System
                                            Log vote
                            Yes             End session                             Yes




Team Mu                                              19 / 24                1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System




The standard user interface will display the candidates for a particular district or election.
The user will select their choice by pressing the appropriate name. A confirmation screen
will appear that allows the user to change their choice or continue. Once they continue,
the next set of candidates will appear and the process repeats. Once all election choices
have been exhausted, a final confirmation screen will appear, displaying all the user’s
previously confirmed choices. They can choose to go back and change any of these, or
finally confirm their vote.

The visually impaired interface will read each candidate’s name to the user. After each
name is read, the user may select anywhere on the screen to choose that candidate. A
confirmation message will be read that allows them to return by pressing anywhere on the
screen again or just wait to continue. Once they continue, the next set of candidates is
read and the process repeats. Once all election choices have been exhausted, a final
confirmation message will be read, explaining all the user’s previously confirmed
choices. They can choose to go back and change any of these by pressing anywhere on
the screen at the appropriate prompt, or finally confirm their vote in the same manner.

The administrative interface will appear after an administrator initializes it with a
keycard. This interface will allow a machine to be restarted.


5.8 Technology

5.8.1 Languages

The system will be developed using the Java programming language. The Sun Java 1.5.0
API and JDK will be the version used. Eclipse IDE will use the Sun Java 1.5.0 compiler
to compile all classes and export any Java archives necessary.

Java was chosen for the following reasons:
    Thorough API
    Simple session usage
    Database connectivity
    Thorough exception handling
    Object-oriented nature

5.8.2 Databases

The system will use Oracle based SQL for all database transactions. Oracle XE will be
the version used.

Oracle was chosen for the following reasons:
    Stability
    Built-in database optimization and hints
    PL/SQL functionality


Team Mu                                     20 / 24        1/3/201311/5/200611/5/200610/28/2006
                                 The Electronic Voting System


      Security


5.9 Phases

5.9.1 Initiation

The initiation phase will involve planning and designing the software modules. We will
design each user interface and design the schema for the database as well.


5.9.2 Implementation

First, we will implement the user interfaces. Within the interface, we can implement the
random ballot positioning system. We can also integrate access for the visually impaired
as it will have to be tied closely to all of the dependent GUI properties.

Second, we will create the random number generator for voter assignment and implement
the real-time database. These will be closely tied together as the unique voter key will
have to be the primary key to our driving table.

Third, we will implement the secure tabulation system and implement the support
website for voter verification. This will tie back to the database and users will be able to
securely retrieve their (and only their) votes from the tables.


5.9.3 Delivery

Once the system has been implemented, it will be installed on two PC’s and
demonstrated before the Penn State Behrend CS Senior Design teams. The help
documentation will also be distributed during this phase.


5.10 Preconditions and Inputs

The user should only have general understanding of how to use a touch-screen monitor
and how general voting works in a democracy. The interface should be able to guide
them through the whole process.

The input will be from the user entering votes on the system. The userThey will be able
to input their voting choices and change them at specific times until they finally cast their
ballot. The user’s session ends at that point.


6.0 Stakeholders


Team Mu                                    21 / 24         1/3/201311/5/200611/5/200610/28/2006
                                The Electronic Voting System


The stakeholders on this project include:
    Paul Casillo
    Michael Snyder
    Tom Workman
    Gary Walker
    Mehmet Malcok
    Doug Smith
    Penn State University




Team Mu                                     22 / 24       1/3/201311/5/200611/5/200610/28/2006
                                The Electronic Voting System



Glossary of Terms
The following are a list of terms used throughout this document:

       GUI            -      Graphical User Interface

       Oracle         -      A brand name of database that employs its own procedural
                             language

       PL/SQL         -      Oracle’s procedural language

       JSP            -      A Java Servlet Page is a combination of Java code,
                             Javascript, and HTML

       JDK            -      Java Development Kit                                                Formatted: Indent: Left: 0", First line: 0"


       API            -      An application programming interface (API) is the
                             interface that a computer system, library or application
                             provides in order to allow requests for services to be made
                             of it by other computer programs, and/or to allow data to be
                             exchanged between them.




Team Mu                                   23 / 24         1/3/201311/5/200611/5/200610/28/2006
                               The Electronic Voting System



Bibliography
Difranco, Petro, Shear, Vladimirov (2004, October) Small Voting Elections Can Swing
       Elections. Communications of the ACM, 47, 43-45

Jason Kitcat (2004, October ) Source Availability and E-Voting
       Communications of the ACM, 47, 65-67

Mercuri and Camp (2004, October) The Code of The Elections
      Communications of the ACM, 47, 53-57

2004 IEEE Symposium on 12 May 2004. (2004, June 01) Security and Privacy, 2004.
       Proceedings, 27- 40




Team Mu                                  24 / 24         1/3/201311/5/200611/5/200610/28/2006

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:1/4/2013
language:English
pages:24