7. Self Scheduling

Self Scheduling

This section covers how you can compete against other users' agents on the TAC server.

Description & Overview

As registered participant you can self-schedule a new competition on the TAC Server. Other registered are able to view or this competition and can be invited. No user other than you can change the competition setup.

The TAC server will send out a mail to all participants of a competition notifying them that the competition starts soon so that they can prepare their agents in advance. Competitions are queued so that previously registered competitions are executed first. The server will continuously observe the "future competitions" list and execute the first competition in this list whenever the previous competition was finished so that only one competition runs at a time.

Within a grace period users can submit their ready notification before the competition is removed from the "future competitions" list.

Competition States

Created: Initial state after a new competition was created be a registered participant (initiator) and stored in the database.

Scheduled: After the initiator finished adding participants to the competition, he can schedule it for execution by clicking the "start" button in the competion view of the web interface

Initialized: Competitions with state "scheduled" are picked up by a (java quartz) cron job, which then initializes the respectie competition by creating products (timeslots) and by computing all required demand / supply forecasts for it.

Ready: After the competition was initialized, the TAC server sends out a mail to all competition participants asking them to submit a "ready notification" to the server. After the last competition participant submitted the ready notification, the competition state is changed to ready

Running: A competition runner job picks up on "ready" competition after another. During the execution of a competition its state is set to running.

Finished: After a competition is finished regularly, its state is set to finished.

Interrupted: Whenever technical or human interruptions in the competition workflow occur, its state is set to interrupted.

Deleted

Possible Transitions

Created -> Created, Scheduled, Deleted

Scheduled -> Interrupted

Initialized -> Interrupted

Ready -> Interrupted

Running -> Interrupted

Finished -> Created, Deleted

Interrupted -> Created, Deleted

Diagram