@@ -264,12 +264,54 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα
...
@@ -264,12 +264,54 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα
\chapter{Υπάρχον Σύστημα}
\chapter{Υπάρχον Σύστημα}
Το σύστημα αποτελείται από το το σύστημα αξιολόγησης Kewii, που λειτουργεί ως
Το σύστημα αποτελείται από το το σύστημα αξιολόγησης Kewii, το backend της
δαίμονας, με σκοπό την μεταγλώττιση και αξιολόγηση των υποβολών που λαμβάνει,
εφαρμογής μας που λειτουργεί ως δαίμονας στον εξυπηρετητή με σκοπό την
και από τη διαδικτυακή εφαρμογή grader, η οποία αναλαμβάνει, την αλληλεπίδραση
μεταγλώττιση και αξιολόγηση των υποβολών που λαμβάνει, και από τη διαδικτυακή
με χρήστες και διαχειριστές, την (έμμεση) επικοινωνία με τον Kewii και τη
εφαρμογή grader, η οποία αναλαμβάνει την αλληλεπίδραση με χρήστες και
συνολική λογική του συστήματος όσον αφορά στον τρόπο λειτουργίας των επιμέρους
διαχειριστές, την (έμμεση) επικοινωνία με τον Kewii και τη συνολική υλοποίηση
στοιχείων του (διαγωνισμοί, προβλήματα, αρχεία ελέγχου) και τον τρόπο αξιολόγησης.
της λογικής του συστήματος όσον αφορά στον τρόπο λειτουργίας των επιμέρους
στοιχείων του και τον τρόπο αξιολόγησης.
\section{Στοιχεία και έννοιες του συστήματος}
Στην ενότητα αυτή θα περιγραφούν συνοπτικά τα συστατικά στοιχεία του συστήματος
μας. Η γνώση τους είναι απαραίτητη για να γίνει αντιληπτός ο διαχωρισμός μεταξύ
Kewii και Grader, δηλαδή backend και frontend.
\subsection{Προβλήματα}
Προβλήματα είναι οι ανεξάρτητες ασκήσεις που τίθενται προς επίλυση στους διαγωνιζόμενους/χρήστες. Κάθε πρόβλημα έχει χρονικά όρια εκτέλεσης και όρια μνήμης, όπως και ιδιότητες για τον τρόπο εκτέλεσης και αξιολόγησης. Η αξιολόγηση του γίνεται πάνω σε συγκεκριμένα αρχεία εισόδου και εξόδου, τα αρχεία ελέγχου. Προαιρετικά, ένα πρόβλημα μπορεί, επιπλέον, να διαθέτει ένα πρόγραμμα αξιολόγησης των υποβολών.
\bigskip
Τα προβλήματα έχουν νόημα μόνο μέσα σε διαγωνισμούς, καθώς ο διαγωνιζόμενος
παίρνει μέρος σε διαγωνισμούς που περιέχουν προβλήματα και η τελική βαθμολογία
του είναι το άθροισμα των επιδόσεων του στα προβλήματα του διαγωνισμού. Η
αρχική σχεδίαση του συστήματος είχε ως στόχο τη χρήση αυτού σε διαγωνισμούς
πληροφορικής, οπότε τα προβλήματα είναι συνδεδεμένα στενά τόσο με τον
διαγωνισμό που ανήκουν όσο και με τις υποβολές που έχουν γίνει σε αυτά. Κάθε
πρόβλημα μπορεί να ανήκει μόνο σε ένα διαγωνισμό.
\subsection{Διαγωνισμοί}
Οι διαγωνισμοί αντιστοιχούν σε πραγματικούς διαγωνισμούς, εξετάσεις ή σειρές
ασκήσεων. Εμπεριέχουν προβλήματα και είναι ενεργοί/ορατοί σε ένα χρονικό διάστημα
όπου οι διαγωνιζόμενοι μπορούν να υποβάλλουν τις λύσεις τους. Μόλις, ολοκληρωθεί η
διεξαγωγή τους, ο διαχειριστής μπορεί να εκκινήσει την τελική αξιολόγηση, κατά την
οποία βαθμολογούνται οι ενεργές υποβολές των διαγωνιζόμενων σε όλα τα προβλήματα του
διαγωνισμού. Μόνο επιλεγμένοι χρήστες μπορούν να έχουν πρόσβαση και δικαίωμα
συμμετοχής στους διαγωνισμούς.
\subsection{Αρχεία Ελέγχου}
Τα αρχεία ελέγχου είναι ζευγάρια αρχείων εισόδου και εξόδου και ανήκουν σε
προβλήματα.
\subsection{Χρήστες/Διαγωνιζόμενοι}
\subsection{Υποβολές}
\subsection{Προγράμματα Αξιολόγησης}
\section{Σύστημα αξιολόγησης Kewii}
\section{Σύστημα αξιολόγησης Kewii}
...
@@ -297,15 +339,21 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα
...
@@ -297,15 +339,21 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα
\item Αρχεία ελέγχου που θα χρησιμοποιηθούν
\item Αρχεία ελέγχου που θα χρησιμοποιηθούν
\item Όριο μνήμης και χρόνου εκτέλεσης
\item Όριο μνήμης και χρόνου εκτέλεσης
\item Είδος εκτέλεσης
\item Είδος εκτέλεσης
\item Τρόπος αξιολόγησης
\end{itemize}
\end{itemize}
Κάθε πρόβλημα πρέπει να έχει μοναδικό όνομα και είναι απαραίτητο ώστε να
Κάθε πρόβλημα πρέπει να έχει μοναδικό όνομα και είναι απαραίτητο ώστε να
επιλεχθούν τα σωστά αρχεία ελέγχου. Οι γλώσσες υποβολής που υποστηρίζονται
επιλεχθούν τα σωστά αρχεία ελέγχου. Οι γλώσσες υποβολής που υποστηρίζονται
είναι: C, C++, Pascal, Pazcal, F\#, OCaml, SML, Java, Fortran και Haskell. Το
είναι: C, C++, Pascal, Pazcal, F\#, OCaml, SML, Java, Fortran και Haskell. Το
είδος εκτέλεσης μπορεί να είναι batch ή interactive/partial. Στην πρώτη
είδος εκτέλεσης μπορεί να είναι batch ή interactive/partial. Στην πρώτη
περίπτωση τα προγράμματα που υποβάλλονται αποτελούν ανεξάρτητες λύσεις ενώ στην
περίπτωση τα προγράμματα που υποβάλλονται αποτελούν ανεξάρτητες λύσεις ενώ στην
δεύτερη ο κώδικάς αλληλεπιδρά με συγκεκριμένες βιβλιοθήκες ή εντάσσεται σε έναν
δεύτερη ο κώδικάς αλληλεπιδρά με συγκεκριμένες βιβλιοθήκες ή εντάσσεται σε έναν
κοινό κορμό που έχει τεθεί για το συγκεκριμένο πρόβλημα.
κοινό κορμό που έχει τεθεί για το συγκεκριμένο πρόβλημα. Ο τρόπος αξιολόγησης
μπορεί να είναι κανονικός ή ειδικός. Στον κανονικό ελέγχεται η ομοιότητα της
εξόδου του προγράμματος της υποβολής με την ορθή απάντηση, ενώ στον ειδική
αξιολόγηση γίνεται χρήση ενός προγράμματος, που θα έχει τεθεί για το
συγκεκριμένο πρόβλημα, ώστε να βαθμολογηθεί η λύση, επιτρέποντας έτσι την
ύπαρξη προβλημάτων βελτιστοποίησης.
\bigskip
\bigskip
...
@@ -319,6 +367,8 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα
...
@@ -319,6 +367,8 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα
(TODO σχημα εδώ)
(TODO σχημα εδώ)
\bigskip Γενικά, ο Kewii περιορίζεται στις έννοιες των προβλημάτων και των υποβολών