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
785b6f20
Commit
785b6f20
authored
Mar 08, 2018
by
Antonios Angelakis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Finish CMS
parent
074142ed
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
20 deletions
+58
-20
test.tex
test.tex
+58
-20
No files found.
test.tex
View file @
785b6f20
...
...
@@ -331,30 +331,30 @@ privacy.) Τέλος, η σύγκριση του Grader με τα συγκεκρ
\begin{itemize}
\setlength\itemsep
{
0em
}
\item
LogService
\item
LogService
\\
Συλλέγει σε ένα μέρος όλα τα μηνύματα καταγραφής.
\item
ResourceService
\item
ResourceService
\\
Λαμβάνει δεδομένα για όλες τις υπηρεσίες που τρέχουν και μπορεί να τις
ξεκινήσει ταυτόχρονα.
\item
Checker
\item
Checker
\\
Ελέγχει την κατάσταση των υπηρεσιών.
\item
EvaluationService
\item
EvaluationService
\\
Οργανώνει την ουρά υποβολών και διανέμει τις εργασίες στους Workers.
\item
Worker
Εκτελεί τις εργασίες σε ένα αποκλεισμένο περιβάλλον.
\item
ScoringService
\item
ScoringService
\\
Συλλέγει τα αποτελέσματα των εκτελέσεων και τα αξιολογεί για να παράξει
τις βαθμολογίες.
\item
ProxyService
\item
ProxyService
\\
Στέλνει τις βαθμολογίες στον εξυπηρετητή Αποτελεσμάτων.
\item
PrintingService
\item
PrintingService
\\
Αναλαμβάνει την εκτύπωση των εγγράφων.
\item
ContestWebServer
\item
ContestWebServer
\\
Ο εξυπηρετητής της ιστοσελίδας του διαγωνισμού, με τον οποίο αλληλεπιδρούν
οι διαγωνιζόμενοι.
\item
AdminWebServer
\item
AdminWebServer
\\
Ο εξυπηρετητής της ιστοσελίδας διαχείρισης του διαγωνισμού.
\item
RankingWebServer
\item
RankingWebServer
\\
Ο εξυπηρετητής της ιστοσελίδας εμφάνισης των αποτελεσμάτων.
\end{itemize}
...
...
@@ -370,20 +370,58 @@ privacy.) Τέλος, η σύγκριση του Grader με τα συγκεκρ
Ο κύκλος διεξαγωγής ενός διαγωνισμού είναι γνώριμος. Αφού στηθούν όλες οι
απαραίτητες υπηρεσίες, οι διαχειριστές μπορούν να δημιουργήσουν το διαγωνισμό
μέσω του AdminWebServer, μαζί με τα προβλήματα και τα τεστ που περιέχει. Έπειτα,
κάθε διαγωνιζόμενος αλληλεπιδρά με τη σελίδα υποβάλλοντας τις λύσεις του. Αυτές
αποθηκεύονται στο δίσκο μέχρι να δοθούν σε κάποιο Worker από το EvaluationService
και να εκτελεστούν στο ασφαλές περιβάλλον. Σε εκείνο το σημείο αναλαμβάνει τα ηνία
το ScoringService που αξιολογεί τις εκτελέσεις και στέλνει τα αποτελέσματα στο
RankingWebServer, ώστε να ανανεωθεί με την τελευταία εικόνα.
μέσω του AdminWebServer, μαζί με τα προβλήματα και τα τεστ που περιέχει.
Έπειτα, κάθε διαγωνιζόμενος αλληλεπιδρά με τη σελίδα υποβάλλοντας τις λύσεις
του. Αυτές αποθηκεύονται στο δίσκο μέχρι να δοθούν σε κάποιο Worker από το
EvaluationService και να εκτελεστούν στο ασφαλές περιβάλλον. Σε εκείνο το
σημείο αναλαμβάνει τα ηνία το ScoringService που αξιολογεί τις εκτελέσεις και
στέλνει τα αποτελέσματα στο RankingWebServer, ώστε να ανανεωθεί με την
τελευταία εικόνα.
- https://github.com/cms-dev/cms
\bigskip
- βαση!
Η βάση που χρησιμοποιεί το CMS είναι PostgreSQL και η λειτουργία του βασίζεται
στα χαρακτηριστικά της, οπότε μόνο αυτή υποστηρίζεται. Οι γλώσσες προγραμματισμού
που υποστηρίζει η ευσταθής έκδοση του είναι οι: C, C++, PHP, Pascal, Java και
Python2. Στην τελευταία έκδοση υπό ανάπτυξη (development) υποστηρίζονται επίσης
C
\#
, Haskell, Python3 και Rust. Για την επέκταση του με παραπάνω γλώσσες αρκεί
η προσθήκη ενός αρχείου προδιαγραφών για κάθε νέα γλώσσα.
- ισως μερικά ενδιαφεροντα εξτρα χαρακτηριστικα του cms
\subsection
{
Χρήση
}
\subsection
{
Εγκατάσταση και Χρήση
}
Η εγκατάσταση προϋποθέτει την ύπαρξη πλήθους εργαλείων για την υποστήριξη των
γλωσσών και του συστήματος. Όπως έχει αναφερθεί, το CMS αποτελείται από πολλές
διαφορετικές υπηρεσίες, οι οποίες πρέπει να τρέχουν σε ένα ή παραπάνω μηχανήματα
για την πλήρη λειτουργία. Χάρη στην ύπαρξη του ResourceService όλες οι υπηρεσίες
ενός μηχανήματος μπορούν να εκκινήσουν ταυτόχρονα ώστε να μειωθεί η χρονοβόρα
εργασία.
\bigskip
Για να τρέξει επίσης το σύστημα θα πρέπει να γίνουν οι απαραίτητες ρυθμίσεις
στην βάση αλλά και στο CMS. Μόλις ολοκληρωθεί κι αυτό το βήμα, οι διαχειριστές
μπορούν να δημιουργήσουν διαγωνισμούς και προβλήματα με τρεις τρόπους: μέσω της
διεπαφής Admin, κατευθείαν από το σύστημα αρχείων τους περιγράφοντας με αρχείο
προδιαγραφών τη μορφή τους ή με απευθείας εισαγωγή προηγούμενου διαγωνισμού που
εξάχθηκε.
\bigskip
Οι διαγωνιζόμενοι συμμετέχουν στο διαγωνισμό μέσω της σελίδας του
ContestWebServer. Εκεί, βλέπουν για κάθε πρόβλημα την περιγραφή του και όλα
τα σχετικά με αυτό στοιχεία και μπορούν να υποβάλλουν τις λύσεις τους. Ένα
ενδιαφέρον χαρακτηριστικό είναι ότι οι διαγωνιζόμενοι μπορούν να δημιουργούν
δικά τους αρχεία ελέγχου, στα οποία θα ελεγχθεί η λύση τους. Επιπλέον, υπάρχει
η δυνατότητα χρήσης tokens, τα οποία μοιράζονται στους διαγωνιζόμενους και
περιορίζουν τις φορές που μπορούν να δουν τα αναλυτικά αποτελέσματα της
υποβολής τους σε φανερά και κρυφά αρχεία ελέγχου.
\bigskip
Ακολουθούν φωτογραφίες από τις διεπαφές του διαγωνισμού, του Admin και της σελίδας
των αποτελεσμάτων.
\section
{
Mooshak2
}
...
...
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