X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=doc%2Findex.html;h=ad199de2ec0cbf3e3af150e0b0998d91c6cd79e1;hb=4464469aeea4ad5fa1aeda81fd443aaf145aee84;hp=61a501b035c057f21cb1af5747f605ca6fff2ea1;hpb=0070c7b0968cfcc243038dc8d23e8537fdb16433;p=eval.git diff --git a/doc/index.html b/doc/index.html index 61a501b..ad199de 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,58 +1,151 @@ -The MO Contest Environment +The Moe Contest Environment - + -

The MO Contest Environment

+

The Moe Contest Environment

-

The MO Contest Environment a.k.a. MO-Eval is a simple system for conducting programming competitions similar to the -International Olympiad in Informatics – a contest -where the participants solve programming tasks, which are then evaluated off-line after the end of the -competition. It's built in a modular way, so extending to other types of programming contests -(e.g., to on-line contests like the ACM ICPC) should be -pretty easy, but it hasn't been done yet. +

The Moe Contest Environment (formerly Moe) is a system for conducting +programming competitions similar in spirit to the +International Olympiad in Informatics – +contestants solve programming tasks, submit the source code of their solutions, +which is then automatically tested on a set of test inputs. -

We use this environment at the Czech Olympiad in programming -(officially a part of the Mathematical Olympiad) since 2002 and also at the CPSPC -(Czech-Polish-Slovak Preparation Camp) when it's held in the Czech Republic. +

Moe is built in a modular way, making it easy to adapt it to the specifics +of a particular contest, to other types of tasks, or other programming languages. + +

A brief description of the system and of the ideas behind it can be found in the following two papers +published in Olympiads in Informatics: + +

+ +

Modules

+ + +
module + description + status +
sandbox + Runs the contestant's solution in a controlled and secure environment, + limiting its execution time, memory consumption and system calls. + works +
judges + A set of utilities for comparing the solution's output with the correct + answer at a given level of strictness. + works +
evaluator
(a.k.a. grader) +
This module controls the whole process of grading the solution. It runs + the compilers, the sandbox and the judges as described in configuration + files. + works +
evaluator v2 + We have decided to rewrite the evaluator from scratch in Python for greater + flexibility. It will however need some more time to finish. + in progress +
queue manager + Distributes grading between a cluster of computers, each of them running + the evaluator. + works, but needs revision +
submitter + Handles submitting of solutions by contestants and passing them to the + evaluation system. Contains a server daemon and a front-end for contestants. + (If your contest uses a web-based contestant interface, you probably do not + need this, although it can serve as a clean interface between your web services + and the evaluator.) + works, but needs revision +

Download

-

You can download the current release eval-1.0 -or browse the archive of past releases. +

Moe is still under heavy development, so the best way to obtain the latest +version is directly from our Git repository at git://git.ucw.cz/moe.git. +The master branch of the repository is kept in a stable state, new development +is done on other branches and then merged to the master. You can also browse +the repository online. + +

We occasionally publish snapshot tarballs in our FTP archive.

Documentation

+

Warning: Most parts of this documentation are outdated. Please consult the papers above +to get a more up-to-date picture. +

+

Contests

+ +

Moe (or some of its modules) are used at the following contests: + +

+ +

Languages

+ +

Moe is known to work with these programming languages: + +

+ +

Adding a new language should be easy, as long as the language behaves in a sane +way (e.g., if it does not need to use a zillion threads for a trivial program +as Java does). +

Portability

-

The environment runs under Linux. We currently use a slightly modified installation of Debian -GNU/Linux, but it will happily work with any other Linux distribution with a 2.4 or newer kernel. Everything except the sandbox -module (which heavily depends on the Linux kernel) should be easily portable to other UNIX systems, although you will probably -need to install some of the GNU utilities (especially bash) and Perl. Porting to Windows is out of question. +

Moe is developed and tested on Linux, but all modules except the sandbox should +happily work on any UNIX-like system providing a reasonable set of GNU +utilities (especially bash) and Perl. This probably includes MinGW or Cygwin +on Windows, but we have not tested that. -

Author

+

The sandbox heavily depends on the target OS. The current version works +only on Linux with kernel version 2.6 or newer and only on the i386 and amd64 +architectures. Porting to other architectures should require only minor changes, +porting to other systems is likely to be hard. + +

Authors

+ +

Moe has been written by the following people: + +

-

MO-Eval has been written by Martin Mares. -Great thanks go to Jan Kara and Milan Straka for their help and for many fine ideas. +

We are also thankful to Jan Kára and Milan Straka for their help and for +many fine ideas.

License

-

The MO-Eval package can be used and distributed under the terms of the GNU General -Public License version 2. +

Moe can be used and distributed under the terms of the GNU General Public License version 2.

Feedback

-

All bug reports, suggestions and patches are welcome. Please mail them to mj@ucw.cz. +

All bug reports, suggestions and patches are welcome. Please mail them to our mailing +list moe@ucw.cz. You can ask +the list server to subscribe to this list.