© 2004 SoS Group
All Rights Reserved

Package sos.koa

This package contains the SoS/KOA vote tally application.


Interface Summary
KOAConstants Global constants used in the user interface.

Class Summary
AbstractObjectReader This class can be used as base class for XMLReaders that generate SAX events from Java objects.
AuditLog This class is used to store all the information needed to generate the 'Verwerkingsverslag' report.
AuditLogXMLReader XMLReader implementation for the AuditLog class.
Candidate A candidate in an election.
CandidateList The CandidateList stores all of the information embodied in the XML-based candidate list files provided by the KOA application.
CandidateListMetadata The metadata associated with a candidiate list for an election.
CandidateListXMLReader XMLReader implementation for the CandidateList class.
ClearAdapter Class to clear memory and files.
CountAdapter Class to count the votes.
DecryptAdapter Class to decrypt the votes.
District A district is a region of the country within a kieskring.
EasyGenerationContentHandlerProxy This class is an implementation of ContentHandler which acts as a proxy to another ContentHandler and has the purpose to provide a few handy methods that make life easier when generating SAX events.
ExitAdapter Class to close this application.
FileNameFilter A file filter.
HelpAdapter The help window.
Hex Some static helper methods for dealing with hexadecimal notation.
ImportCandidatesAdapter Class to handle importing candidate file.
ImportKeyAdapter Class to import both private and public key file.
ImportVotesAdapter Class to handle importing the votes file.
KiesKring A kieskring in an election.
KiesLijst A kieslijst in an election.
MenuPanel This class is the top-most class of the system and tracks and controls the overall tally process.
ReportAdapter Class to generate reports.
RestartAdapter Class to restart the application.
Task Class which reacts to buttons in the menu.
ViewPdf A static class used to execute a native PDF viewer on a specific PDF file generated by the KOA application.
VoteSet The set of votes in an election.

Exception Summary
KOAException General KOA exception.

Package sos.koa Description

This package contains the SoS/KOA vote tally application.

Package Specification

The sos.koa package is the top-most package of the SoS/KOA vote tally application.

The SoS/KOA vote tally application is a software program used to tally the secure election results produced by the KoA (Kiezen op Afstand) Hertellen Stemmen application, developed by LogicaCMG, on behalf of the Ministry of the Interior and Kingdom Relations (Ministerie van Binnenlandse Zaken en Koninkrijksrelaties).

Package Authors

This system was written by the SoS Group at the Computing Science Institute of the University of Nijmegen.

The SoS Group is led by Prof. Bart Jacobs. The development of the SoS/KOA application was led by Dr. Engelbert Hubbers. Dr. Martijn Oostdijk and Dr. Joseph Kiniry were the other two primary developers. Mr. Cees-Bart Breunesse and Mr. Flavio Garcia provided some technical support as well.

System Structure

The SoS/KOA application has three main sub-components:

  1. Data Input/Output - This subcomponent of the system is responsible for performing all file input and output. The following classes are part of the data input/output subsystem:
  2. Data Structures - The core components of the system responsible for representing all data and tallying all results. The following classes are part of the data structures subsystem:
  3. GUI - This subcomponent of the system is responsible for performing all graphical user input and output. The following classes are part of the GUI subsystem:
  4. Utility Classes - A small number of classes are utility classes containing code shared by other subsystems. The following classes are part of the utility subsystem:

The classes AbstractObjectReader, AuditLogXMLReader, CandidateListXMLReader and EasyGenerationContentHandlerProxy are modified versions of classes released under the Apache Software License, Version 1.1, and were originally created by James Tauber (jtauber AT For more information on the Apache Software Foundation, please see

Libraries User

Tools Used

The following tools were used to develop the SoS/KOA vote tally application.

Development Methodology

The SoS/KOA application was developed using the following methodology:

© 2004 SoS Group
All Rights Reserved