Software Standards
The purpose of the Software Standards section is to ensure that the software provided by the totalisator companies operating in the State of Colorado runs within the intended design specifications and meets Colorado Racing Commission totalisator system policies and procedures, thereby insuring the accuracy and integrity of the data generated by the software and of the totalisator system as a whole.
XVII. General
A. Program Standards
The totalisator system must have a program that:
1. Sells, calculates, and cashes according to the pool profile, current pari-mutuel rules in effect, and number of races applied for.
2. Produces the required reports and logs.
3. Is capable of accepting advanced bets for the number of races and/or cards requested.
4. Networks with the remote wagering sites specified.
5. Offers as many simultaneous wagering cards as applied for.
6. Allows access to program functions and identification of each user based on the individual user ID's/passwords provided from the operating system or program login, in the case of administrative terminals, or by physical connection to the computer system, in the case of TIMs.
7. Maintains automatically all carry-over data required for the next performance on a rotating basis, including system date and time, without operator intervention.
8. Can only be modified by individuals holding specific user IDs which allow gateways into the operating system.
9. Is provided to the association and run as a compiled program, provided without source code or compiler. Interpreted programs/programming languages are not acceptable.
10. Has thorough and complete documentation, as defined in Section II.
11. Employs utility programs that show a change was made to production programs, who made the change, and when the change was made.
12. Provides software/hardware restrictions that will eliminate the capability of printing duplicate on-line tickets.
13. Provides software/hardware restrictions that will reduce the possibility of invalid claims on unclaimed winners.
14. Provides a utility/application that writes requested pari-mutuel wagering data on media readable by the Racing Commission. This data must be generated in the presence of a Commission Representative. The totalisator company must also provide documentation about the structure of the data.
15. Generates data usable across two major revisions, and within all minor revisions, or archived data must be retrievable for reports requested by the Commission within twenty-four hours unless otherwise specified.
16. Contains utility programs that provide backup capability for the system and a method to schedule these backups.
B. The operating system must be separated from the application program, and either the operating system or application must provide some type of individual user ID based auditing.
C. An inventory of all programs included in the system must be available to the Racing Commission.
D. Software must be capable of detecting abnormal system operations and their causes, such as validation problems, communication difficulties, computer downtime, etc., and providing immediate notification to the appropriate individuals (e.g., broadcast to management terminals or system console).
E. A totalisator system must be able to produce a copy, in a Racing Commission approved format, of all data necessary to re-create the wagering activity of any race performance that the Racing Commission requests.
XVIII. Documentation
A. Software documentation, using computer software industry accepted methods, must be available to the Racing Commission and must include, at a minimum:
1. Documentation of modules/sections within the source code, detailing the function of the module/section, the definition of all variables used within the module/section, the source of all variables passed to the module, and the method of passing variables (i.e., passed by reference or by value).
2. Complete documentation of all program functions as seen by the end user of the program.
3. Complete inventory of all programs contained on the system, their purpose, the date and time of their last modification, and the size, in bytes, of each file.
4. Clarification of differences between major and minor revisions of the totalisator software. This clarification must include a complete history of all revisions, the intended reasons for and differences between major and minor revisions, the date of implementation, and a listing of the current revision number.
B. Any change in software requires the assignment of either a new major or minor revision number.
XIX. Backup
A. The totalisator system must be backed-up to removable media. These backups must be made at least at the following intervals:
1. Full system backups (level 0) must be made at weekly intervals. Full system backups must include all files contained on the totalisator system.
2. Incremental system backups (level 1) must be made at daily intervals. Incremental system backups must include all files that were changed since either the last full system (level 0) or incremental backup (level 1).
B. Backups must be stored at an off-site storage area in a disaster-resistant environment.
XX. Changes to Totalisator Software
A. Racing Commission personnel must approve any changes to the software on the central site computers, peripherals, or firmware changes downloaded to terminals.
B. Changes to totalisator software may not be initialized or operated during wagering until tested and approved by the Racing Commission. The daily computer log must show:
1. When the changes were loaded into the computer.
2. The time during which the work was carried out.
3. When the changes were off-loaded.
4. A user ID showing by whom and from which terminal the work was carried out.
XXI. Totalisator Network Standards
A. The common pools must be merged and calculated at the site designated as the network computing center.
B. In a Tote-to-Tote wagering network (using a different system at each site), or at remote sites, the totalisator company must use the Inter-Tote System Protocol endorsed by the Association of Racing Commissioners International. The Racing Commission may determine that remote sites must be closed before the post time of the races.
C. In a TIM-to-Tote Network failure, recorded bets must be distributed with those from the parts of the network still operating.
XXII. Data Transmission Protocols
A. In a TIM-to-Tote network, the association may use whatever communications protocol it wishes.
B. Remote sites shall be treated as Tote-to-Tote networks and will be held to the standards defined in Section V.
C. When the failure to compile pools or payout winning prices can be isolated to the remote site, the stopping of wagering or the manual cashing and accounting of tickets need only occur at the site affected. The relevant information must be transmitted between the central computer and the remote site through the normal communication link or facsimile machine and must be verified by the voice link.
XXIII. Live Transmission of Wagering Information
Satellite tracks for inter-track wagering and all wagering sites must display, for each race, the odds, pool information, post-times, time of day, and payout from the host track. Pari-mutuel systems may be approved that provide this wagering information through the same television broadcast system used for the actual race. Where this is the case, the pari-mutuel system will not be approved unless a contingency plan is in place to display the necessary wagering information at the appropriate times whenever the television broadcast system fails.
XXIV. Advance Wagering
A racetrack association may conduct advance wagering with an approved totalisator system that:
A. Directly records the advance wagers and any cancellations of advance wagers into the regular wagering pools and can provide a computer printout showing the advance wagers for all runners and combinations of all pools in each race.
B. Uses the advance wagers in each win pool to calculate the winning odds or probable payout. These are to be posted on the tote board or on the video system at the opening of regular wagering on each race of a race card.