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
6ff75e9d
Commit
6ff75e9d
authored
Mar 02, 2018
by
Antonios Angelakis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add idea bullets everywhere and commence chapter 6
parent
7f4eb6ae
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
106 additions
and
2 deletions
+106
-2
test.tex
test.tex
+106
-2
No files found.
test.tex
View file @
6ff75e9d
...
@@ -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
...
...
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