CLASS BALLOT Part: 1/1
Type Of Object
“A valid set of preferences such as an ordered list of candidates”
Indexing
Queries “How many preferences are shown on this ballot?”
“Who is the first preference for?”
“Who is the next preference for?”
“Who is the highest preference continuing candidate on this ballot?”
“Which elected or continuing candidate benefits from this ballot?”
Commands “Allocate this ballot to the next preference candidate”
Constraints “The sequence of preferences is unbroken e.g. no candidate is listed twice”
CLASS BALLOT_BOX Part: 1/1
Type Of Object
“The set of all ballot papers with at least one valid preference”
Indexing
Queries “How many valid ballot papers?”
“How many first preference votes for each candidate?”
“How many different piles of ballots?”
Commands
Constraints “Every ballot paper has at least one preference”
“The total number of first preference votes is equal to the number of ballots”
“The sum of the number of ballots in each pile is equal to the number of ballots”
CLASS BALLOT_COUNTING Part: 1/1
Type Of Object
“Count algorithm for tallying of the votes in Dail and Seanad elections”
Indexing
Queries “How many continuing candidates?”
“How many remaining seats?”
Commands “Calculate quota”
“Find highest continuing candidate with quota”
“Calculate surplus”
“Calculate transfer factor”
“Calculate non-fractional transfers”
“Calculate fractional differences”
“Calculate adjustments”
“Calculate transfers”
“Move ballots”
“Select lowest continuing candidates for exclusion”
“Declare remaining candidates elected”
“Close the count”
Constraints
CLASS CANDIDATE Part: 1/1
Type Of Object
“A person eligible and nominated for election”
Indexing
Queries “How many first preferences?”
“How many second preferences?”
“How many votes in each round?”
Commands
Constraints
CLASS CONSTITUENCY Part: 1/1
Type Of Object
“The overall parameters of the election”
Indexing
Queries “How many candidates in this election?”
“How many seats are in this constituency?”
“How many seats are being filled in this election?”
Commands
Constraints “At least one seat is bing filled”
“The number of seats being filled is not more than the number of seats in this constituency”
“The number of seats being filled is less than the number of candidates”
CLUSTER COUNTING_PROCESS Part: 1/1
Purpose
“The counting of electronic ballots”
Indexing
author: “Dermot Cochran”;
Class Description
BALLOT “List of some or all candidates in order of preference”
BALLOT_BOX “The set of all valid ballots”
BALLOT_COUNTING “The algorithm used to count the ballots”
CANDIDATE “A person eligible and nominated for election”
CONSTITUENCY “The overall parameters of the election”
EVENT VOTAIL Part: 2/2
Comment
Indexing
Internal (outgoing) Involved object types
“A: The quota is calculated” BALLOT_BOX, BALLOT_COUNTING
“B: The highest continuing candidate is found” BALLOT_COUNTING
“C: The surplus, from an elected candidate, is calculated” BALLOT_COUNTING
“D: The number of votes for transfer (from surplus) are calculated” BALLOT_COUNTING
“H: Transfers, from an excluded candidate, are calculated” BALLOT_COUNTING
“J: The lowest continuing candidate is selected for exclusion” BALLOT_COUNTING
“K: The number of continuing candidates is recalculated” BALLOT_COUNTING, CANDIDATE
“L: The selected ballots are moved to the next continuing preference candidate” BALLOT, BALLOT_COUNTING
“M: The number of remaining seats is checked” BALLOT_COUNTING
“N: The remaining candidates are deemed elected” BALLOT_COUNTING, CANDIDATE
“P: The counting is closed and final result declared” BALLOT_COUNTING
SCENARIOS VOTAIL Part: 1/1
Comment
“Scenarios for ballot counting”
Indexing
01: READY_TO_START
“Ballots, candidate and election data have been loaded”
02: NO_SEATS_FILLED_YET
“No candidates have been elected so far”
03: CANDIDATE_REACHES_QUOTA
“One or more candidates achieve the minimum quota of votes”
04: CANDIDATE_ELECTED
“The highest continuing candidate with quota is deemed to be elected”
05: NO_SURPLUS_AVAILABLE
“There is no surplus available for distribution”
06: SURPLUS_AVAILABLE
“There is at least one surplus availble for distribution”
10: READY_TO_MOVE_BALLOTS
“The number of ballots for transfer to each candidate has been determined”
11: LOWEST_CANDIDATE_EXCLUDED
“Exclude one or more of the lowest continuing candidates”
12: READY_FOR_NEXT_ROUND
“Ballots have been transfered form one candidate to one or more others”
13: FILLING_OF_LAST_SEAT
“There is one remaining seat and at least two continuing candidates, or the number of continuing candidates is just one more than the number of remaining seats”
14: MORE_CANDIDATES_THAN_SEATS
“There are more continuing candidates than remaining seats”
15: SEATS_REMAINING
“There is at least one vacancy yet to be filled”
16: ALL_SEATS_FILLED
“The number of continuing candidates equals the number of seats remaining”
18: CONTINUING_CANDIDATES_EQUAL_REMAINING_SEATS
“The number of continuing candidates equals the number of remaining seats; all continuing candidates are deemed elected”
SYSTEM VOTAIL Part: 1/1
Purpose
“A verified verifiable open source system for remote electronic/computer mediated voting”
Indexing
Cluster Description
COUNTING_PROCESS “The counting of ballots by proportional representation with single transferable vote”
CLASS DICTIONARY VOTAIL Part: 1/1
Comment
“BONc automatically generated class dictionary.”
Indexing
Class Cluster Description
BALLOT COUNTING_PROCESS “A valid set of preferences such as an ordered list of candidates”
BALLOT_BOX COUNTING_PROCESS “The set of all ballot papers with at least one valid preference”
BALLOT_COUNTING COUNTING_PROCESS “Count algorithm for tallying of the votes in Dail and Seanad elections”
CANDIDATE COUNTING_PROCESS “A person eligible and nominated for election”
CONSTITUENCY COUNTING_PROCESS “The overall parameters of the election”