Commit 6ff75e9d authored by Antonios Angelakis's avatar Antonios Angelakis

Add idea bullets everywhere and commence chapter 6

parent 7f4eb6ae
...@@ -89,8 +89,8 @@ ...@@ -89,8 +89,8 @@
παραδειγμάτων στη γλώσσα με απόδειξη μερικής ορθότητας. παραδειγμάτων στη γλώσσα με απόδειξη μερικής ορθότητας.
%%% TODO change %%% TODO change
\begin{keywordsgr} \begin{keywordsgr}
Γλώσσες προγραμματισμού, Προγραμματισμός με αποδείξεις, Ασφαλείς γλώσσες Συστήματα αυτόματης αξιολόγησης, CMS, Grader, PHP, Python, Ανάπτυξη Λογισμικού,
προγραμματισμού, Πιστοποιημένος κώδικας. Ανοιχτό και ελεύθερο λογισμικό.
\end{keywordsgr} \end{keywordsgr}
\end{abstractgr} \end{abstractgr}
...@@ -264,6 +264,14 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα ...@@ -264,6 +264,14 @@ MIT και το Stanford (TODO citation needed). Τέλος, ήταν απαρα
\chapter{Συστήματα Αυτόματης Αξιολόγησης} \chapter{Συστήματα Αυτόματης Αξιολόγησης}
- https://github.com/cms-dev/cms
- https://mooshak.dcc.fc.up.pt/
- https://pc2.ecs.csus.edu/
- https://github.com/klenin/cats-main
\chapter{Υπάρχον Σύστημα} \chapter{Υπάρχον Σύστημα}
Το σύστημα αποτελείται από το το σύστημα αξιολόγησης Kewii, το backend της Το σύστημα αποτελείται από το το σύστημα αξιολόγησης Kewii, το backend της
...@@ -986,18 +994,114 @@ clean code του Robert Martin. Μέρος των αλλαγών ήταν κα ...@@ -986,18 +994,114 @@ clean code του Robert Martin. Μέρος των αλλαγών ήταν κα
\chapter{Λοιπές Προσθήκες} \chapter{Λοιπές Προσθήκες}
Εκτός από τις νέες δυνατότητες που αναλύθηκαν στα προηγούμενα κεφάλαια,
υλοποιήθηκαν και αλλαγές μικρότερης πολυπλοκότητας, που δε χρειάζονται
ολόκληρο κεφάλαιο για να περιγραφούν. Οι σημαντικότερες από αυτές
θα αναφερθούν σε αυτό το κεφάλαιο.
\section{Προσθήκη γλώσσας προγραμματισμού Python} \section{Προσθήκη γλώσσας προγραμματισμού Python}
\subsection{Προσθήκη γλωσσών στο Grader/Kewii}
% TODO: ερωτηση παπασπυρου για chroot jail
Ο Grader, όπως έχει αναφερθεί και σε προηγούμενα κεφάλαια, επιτρέπει
στους διαγωνιζόμενους την υποβολή λύσεων σε οποιαδήποτε γλώσσα
προγραμματισμού από τις υποστηριζόμενες. Οι υποστηριζόμενες γλώσσες
προγραμματισμού είναι οι παρακάτω:
\begin{itemize}
\setlength\itemsep{0em}
\item C
\item C++
\item Pascal
\item Pazcal
\item F\#
\item OCaml
\item Java
\item Fortran
\item Haskell
\end{itemize}
\bigskip
Η προσθήκη μιας νέας γλώσσας στο Grader δεν είναι δύσκολη διαδικασία.
Όσον αφορά στο frontend, αρκεί απλά η προσθήκη στο μενού επιλογής γλώσσας
στην υποβολή και η αντίστοιχη κωδικοποίηση (που γίνεται συνήθως με την επέκταση
των πηγαίων αρχείων της γλώσσας) που θα χρησιμοποιηθεί για την καταχώρηση της
υποβολής σε βάση και Kewii. Όπως ο Kewii δεν εμπλέκεται στη διαδικασία της
αξιολόγησης, ο Grader, αντίστοιχα, έχει καθήκον απλά να περάσει την επιλογή
της γλώσσας και τον πηγαίο κώδικα ώστε να αναλάβει ο Kewii τον έλεγχο.
\bigskip
Ο Kewii αναλαμβάνει, για κάθε υποβολή, να μεταγλωττίσει τον πηγαίο κώδικα ώστε
να παράξει το εκτελέσιμο αρχείο και έπειτα να τρέξει το εκτελέσιμο για κάθε
αρχείο ελέγχου που του έχει ζητηθεί. Η μεταγλώττιση και η εκτέλεση των υποβολών
γίνεται σε ένα περιορισμένο περιβάλλον, με τη χρήση μόνο των αναγκαίων
μεταγλωττιστών και βιβλιοθηκών. Για την προσθήκη μιας γλώσσας θα πρέπει να
εγκατασταθούν στο συγκεκριμένο περιβάλλον τα αντίστοιχα εκτελέσιμα και να
τροποποιηθεί ένα αρχείο διαμόρφωσης που περιέχει τις αντιστοιχίσεις γλωσσών
και εντολών μεταγλώττισης/εκτέλεσης.
\subsection{Επιλογή Python}
% TODO: ερωτηση παπασπυρου για φακτορ παηθον
Η γλώσσα Python είναι
- xaraktiristika
- dimofilia
\section{Αυτόματο ανέβασμα αρχείων ελέγχων/ομάδων} \section{Αυτόματο ανέβασμα αρχείων ελέγχων/ομάδων}
\subsection{Κίνητρο}
- ευκολία χρήσης περιγραφή καταστασης ως τωρα
- ακομα δυσκολοτερο με ομαδες
\subsection{Υλοποίηση}
- περιγραφη/idea
- εικονα
- μορφη json
\subsection{Εργαλείο δημιουργίας}
- περιγραφη ισως κωδικας
- εικονα ιντερακτιβ
\section{Αλλαγή mysql connector} \section{Αλλαγή mysql connector}
- Κατασταση τώρα
\subsection{ connector pdo}
- perigrafi tou me xrisi paradeigmatwn
- pleonektimata security k tetoia
\chapter{Συμπεράσματα} \chapter{Συμπεράσματα}
\section{Καταληκτικές Παρατηρήσεις} \section{Καταληκτικές Παρατηρήσεις}
- συνοψη αναφεροντας ξανα λιγα πραγματα για καθε κεφαάλαιο
- παρουσιαση οπενσορς, παρουσα κατασταση που μπορει να ναι και ντοκιουμεντεησιον
για οποιον ασχοληθει, φιτσουρς
- αλλαγες, βελτιωση ευκολιας χρησης και προσθετες δυνατοτητες
\section{Μελλοντική Έρευνα} \section{Μελλοντική Έρευνα}
- μεταφορα σε framework
- security enchancements
- προσθηκη code reviews
%%% Bibliography %%% Bibliography
......
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