@ -5,7 +5,11 @@ Official terminology of ReCodex which will be used in documentation and within c
## WebApp (ReCodex)
## WebApp (ReCodex)
Graphical frontend of the whole ReCodex. This part is used by teachers and students.
Graphical frontend of the whole ReCodex. This part is used by teachers and students.
* **Problem** - Teachers are creating problems which are solved by students. When problem is solved then students submit their solution, this solution with all other informations (needed by worker) is called submission.
* **Exercise** - Teachers are creating exercises which are solved by students. When exercise is solved then students submit their solution, this solution with all other informations (needed by worker) is called submission.
* **Sample solution** - When teachers create exercise, they should provide sample solution. This solution should pass all test cases in specified limits. It can be also used for auto-calibration of exercise.
* **Submission** - Submission is one solution of given exercise, it is sent by student to frontend of ReCodEx. To this term we can include all additional information about source code or submitter.
## QeueueManager (ZeroMQ)
## QeueueManager (ZeroMQ)
Handle incoming requests from php backend and forward them to actual workers, also handle answers from workers which has to be saved to the central database. (possibly files can be transfered through QM).
Handle incoming requests from php backend and forward them to actual workers, also handle answers from workers which has to be saved to the central database. (possibly files can be transfered through QM).
@ -13,13 +17,11 @@ Handle incoming requests from php backend and forward them to actual workers, al
## Worker (Iso-eval)
## Worker (Iso-eval)
Program which executes and evaluates tasks given by QM. Its internally divided into net part (communication with QM) and evaluation part which evaluates task itself.
Program which executes and evaluates tasks given by QM. Its internally divided into net part (communication with QM) and evaluation part which evaluates task itself.
* **Submission** - It corresponds with job. But logically submission is larger term enclosing user submit of exercise (solution) and all other information which are needed for evaluation.
* **Job** - Basically structure which is transfered from QM (Aka. one request from QM is job). Internally set of tasks. Job itself is transfered in form of configuration file written in YAML. Typicaly, job is one standard submission, but there could be also benchmarking submission for configuring limits of exercise or maybe submission for determining hardware and software configuration of given worker. This classification have no effect for evaluating the job.
* **Job** - Basically structure which is transfered from QM (Aka. one request from QM is job). Internally set of tasks. Job itself has configuration which includes all information about this one submission. Typicaly, job is one standard submission, but there could be also benchmarking submission for configuring limits of problem or maybe submission for determining hardware and software configuration of given worker. This classification have no effect for evaluating the job.
* **Task** - Atomic piece of work which can execute external program or some internal command.
* **Task** - Atomic piece of work which can execute external program or some internal command.
* **Tests** - Tests are divided into groups which belongs to tasks, one task can have one or more test files. These test files can be send to standard input or just be there for the use from program.
* **Tests** - Tests are inputs to given student solution of exercise. On specified inputs program should have specified outputs, this is checked with judges. Test files can be send to standard input or just be there for the use from program.
* **Sample outputs** - Sample outputs are basically given results of tasks. Output from program is compared with this files through judge.
* **Sample outputs** - Sample outputs are basically given results of tasks. Output from program is compared with this files through judge.