Commit 4633de77 authored by Antonios Angelakis's avatar Antonios Angelakis

Finish chapter 2

parent 826ba24a
......@@ -480,7 +480,7 @@ Python, Haskell, Haskell και Prolog, ενώ η επέκταση του ώστ
επιτρέπει τη χρήση του Mooshak, παραδείγματος χάρη για ένα διαγωνισμό τύπου
code golf, δηλαδή επίτευξης της λύσης με το λιγότερο κώδικα.
\subsection{Χρήση}
\subsection{Εγκατάσταση και Χρήση}
Η εγκατάσταση του Mooshak 2 δεν έχει πολλές απαιτήσεις. Συγκεκριμένα,
χρειάζεται μόνο το περιβάλλον της Java και το λογισμικό του εξυπηρετητή. Σε
......@@ -508,13 +508,70 @@ code golf, δηλαδή επίτευξης της λύσης με το λιγό
\section{CATS}
To CATS είναι το τρίτο σύστημα που θα αναλυθεί. Αφορά και αυτό τη διεξαγωγή και
τον έλεγχο προγραμματιστικών διαγωνισμών και συντηρείται από τον Alexander Klenin
του Far Eastern Federal University. Χρησιμοποιείται τόσο για μεγάλες διοργανώσεις,
όπως είναι το ICPC Ρωσίας και Άπω Ανατολής, καθώς και για πλήθος ακαδημαϊκών
μαθημάτων και διαγωνισμών. Κατέχει άδεια GPL 2.0 επιτρέποντας την ελεύθερη
χρήση, τροποποίηση και διανομή του.
\bigskip
Έχει αρκετές δυνατότητες που το διακρίνουν ανάμεσα στα υπόλοιπα συστήματα
συμπεριλαμβανομένων των παρακάτω:
\begin{itemize}
\item Μεγάλος αριθμός προγραμματιστικών γλωσσών και μεταγλωττιστών
\item Αυτόματος ορισμός διαγωνισμών, προβλημάτων και αρχείων ελέγχου με χρήση
ενός zip αρχείου με μια περιγραφή σε XML
\item Έτοιμα πρόσθετα (modules) για την αξιολόγηση των υποβολών, π.χ. για
αυτόματη δημιουργία αρχείων ελέγχου
\item Περιορισμός πρόσβασης ανάλογα με τη διεύθυνση IP των χρηστών
\item Αυτόματος έλεγχος για αντιγραφή κώδικα μεταξύ των διαγωνιζομένων
\end{itemize}
\subsection{Τεχνικά Χαρακτηριστικά}
Το CATS είναι υλοποιημένο σε Perl και χρησιμοποιεί βάση δεδομένων Oracle. Το
σύστημα αποτελείται από τον εξυπηρετητή που "σηκώνει" την ιστοσελίδα του
διαγωνισμού για διαγωνιζόμενους και διαχειριστές και από τον εξυπηρετητή των
αξιολογήσεων, ο οποίος αναλαμβάνει τη δημιουργία των δυνητικά επικίνδυνων
εργασιών που τρέχουν σε ένα περιορισμένο περιβάλλον με τη χρήση ενός πρόσθετου
που λέγεται spawner.
\bigskip
Η εφαρμογή αξιολόγησης εμπεριέχει διεπαφή μέσω της γραμμής εντολών για τη γρήγορη
δημιουργία και αξιολόγηση προβλημάτων από τους διαχειριστές. Αυτή διατίθεται και
ανεξάρτητα από το υπόλοιπο πρόγραμμα προς αντικατάσταση αντίστοιχων διαδικτυακών
εργαλείων όπως είναι το Polygon (TODO: link). Η δημιουργία των προβλημάτων γίνεται
με το ανέβασμα ενός συμπιεσμένου αρχείου το οποίο περιέχει μια XML περιγραφή και
τα απαραίτητα αρχεία ελέγχου.
(TODO: xml format)
\bigskip
Οι γλώσσες προγραμματισμού που υποστηρίζονται είναι οι C, C++, delphi, VB, Java,
C\#, Perl, Python, Ruby, PHP, Erlang, Javascript και SQL.
- https://github.com/klenin/cats-main
\subsection{Χρήση}
\subsection{Εγκατάσταση και Χρήση}
Η εγκατάσταση του CATS είναι αρκετά εύκολη, καθώς έχει πολύ λίγες εξαρτήσεις
και διαθέτει έτοιμα scripts για το deployment και την αρχική παραμετροποίηση.
Αφού τρέξουν αυτά και ρυθμιστεί η σύνδεση με τη βάση, το σύστημα είναι έτοιμο
να χρησιμοποιηθεί.
\bigskip
Η διαδικασία εμφάνισης των ορισμών των προβλημάτων, υποβολής των λύσεων και
διαχείρισης των διαγωνισμών από τους διαχειριστές είναι παρόμοια με τα προηγούμενα
συστήματα και παρουσιάζεται με φωτογραφίες παρακάτω. Είναι ενδιαφέρουσα και χρήσιμη
η δυνατότητα του CATS για διαχείριση διαγωνισμών, αξιολόγηση και παρουσίαση των
αποτελεσμάτων απ᾽ευθείας μέσω της γραμμής εντολών μέσω του API που προσφέρεται.
\section{Σύγκριση με Grader}
TODO: Φωτογραφίες
\chapter{Υπάρχον Σύστημα}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment