OK, I know I’m lack of update. But that is because I have been busy writing the ‘Contest Environment‘.

This part I’ll explain what the contest environment is.

The Contest Environment is a system that allow you to upload a source code that solve tasks, compile your submission, run it with the test cases and grade the result. The one of the well-known contest environment around today is the Moe Contest Environment (formally known as mo-eval). This Moe system’s most famous is its sandbox, which is used in many competition around today, including many of the IOI (International Olympiad on Informatics) contests such as the recent POI (Plovdiv International Olympiad on Informatics: IOI2009) and also on Thai contest environment — the cafe grader.

Mainly, the contest environment is made of seven parts: the user, the submitter, the evaluator, the compiler, the sandbox, the queue manager and the feedback.

  1. User: the user that use the contest environment,
  2. Submitter: this can be a web interface or any GUI or any platforms for the user to submit their solution (the source code that can process given task).
  3. Evaluator: program that calls the compiler and sandbox to check the given solution, and grade them according to the result or any other means.
  4. Compiler: compiles the solution’s source into a executable file.
  5. Sandbox: prevents the compiled executable file to perform damages and/or  destroy the server .
  6. Queue Manager: the evaluator cannot process every submission/solution at once, so they must be queued.
  7. Feedback: this is use to send result from the evaluator to the user.

That’s how the contest environment works basically. But under these parts a lot of work is behind, especially the sandbox part.

Reference: