Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
S
softlab-thesis
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Antonios Angelakis
softlab-thesis
Commits
4633de77
Commit
4633de77
authored
Mar 11, 2018
by
Antonios Angelakis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Finish chapter 2
parent
826ba24a
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
60 additions
and
3 deletions
+60
-3
thesis.tex
thesis.tex
+60
-3
No files found.
thesis.tex
View file @
4633de77
...
@@ -480,7 +480,7 @@ Python, Haskell, Haskell και Prolog, ενώ η επέκταση του ώστ
...
@@ -480,7 +480,7 @@ Python, Haskell, Haskell και Prolog, ενώ η επέκταση του ώστ
επιτρέπει τη χρήση του Mooshak, παραδείγματος χάρη για ένα διαγωνισμό τύπου
επιτρέπει τη χρήση του Mooshak, παραδείγματος χάρη για ένα διαγωνισμό τύπου
code golf, δηλαδή επίτευξης της λύσης με το λιγότερο κώδικα.
code golf, δηλαδή επίτευξης της λύσης με το λιγότερο κώδικα.
\subsection
{
Χρήση
}
\subsection
{
Εγκατάσταση και
Χρήση
}
Η εγκατάσταση του Mooshak 2 δεν έχει πολλές απαιτήσεις. Συγκεκριμένα,
Η εγκατάσταση του Mooshak 2 δεν έχει πολλές απαιτήσεις. Συγκεκριμένα,
χρειάζεται μόνο το περιβάλλον της Java και το λογισμικό του εξυπηρετητή. Σε
χρειάζεται μόνο το περιβάλλον της Java και το λογισμικό του εξυπηρετητή. Σε
...
@@ -508,13 +508,70 @@ code golf, δηλαδή επίτευξης της λύσης με το λιγό
...
@@ -508,13 +508,70 @@ code golf, δηλαδή επίτευξης της λύσης με το λιγό
\section
{
CATS
}
\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
{
Τεχνικά Χαρακτηριστικά
}
\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
- https://github.com/klenin/cats-main
\subsection
{
Χρήση
}
\subsection
{
Εγκατάσταση και Χρήση
}
Η εγκατάσταση του CATS είναι αρκετά εύκολη, καθώς έχει πολύ λίγες εξαρτήσεις
και διαθέτει έτοιμα scripts για το deployment και την αρχική παραμετροποίηση.
Αφού τρέξουν αυτά και ρυθμιστεί η σύνδεση με τη βάση, το σύστημα είναι έτοιμο
να χρησιμοποιηθεί.
\bigskip
Η διαδικασία εμφάνισης των ορισμών των προβλημάτων, υποβολής των λύσεων και
διαχείρισης των διαγωνισμών από τους διαχειριστές είναι παρόμοια με τα προηγούμενα
συστήματα και παρουσιάζεται με φωτογραφίες παρακάτω. Είναι ενδιαφέρουσα και χρήσιμη
η δυνατότητα του CATS για διαχείριση διαγωνισμών, αξιολόγηση και παρουσίαση των
αποτελεσμάτων απ᾽ευθείας μέσω της γραμμής εντολών μέσω του API που προσφέρεται.
\section
{
Σύγκριση με Grader
}
TODO: Φωτογραφίες
\chapter
{
Υπάρχον Σύστημα
}
\chapter
{
Υπάρχον Σύστημα
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment