Καθώς το διαδίκτυο αποκτά ολοένα και σημαντικότερο ρόλο στην κοινωνία, τα υπολογιστικά συστήματα γίνονται ολοένα και μεγαλύτερα, και συγχρόνως πολυπλοκότερα. Διογκώνεται έτσι η ανάγκη για γρήγορη παραγωγή αξιόπιστου λογισμικού. Μία υποσχόμενη απάντηση στην ανάγκη αυτή είναι οι μηχανισμοί αυτοματοποίησης παραγωγής κώδικα για συγκεκριμένα προβλήματα. Η χρήση των μηχανισμών αυτών, αποφέρει σημαντικά κέρδη παραγωγικότητας και ποιότητας του τελικού αποτελέσματος. Ωστόσο η ανάπτυξή τους ακολουθεί ως επί το πλείστων τον «παραδοσιακό» τρόπο ανάπτυξης και συνεπώς παρουσιάζει τα μειονεκτήματα αυτού, όπως αυξημένη προσπάθεια εκσφαλμάτωσης και μεγαλύτερη ανθρωποπροσπάθεια ενώ ταυτοχρόνως απαιτεί σημαντικές τεχνικές γνώσεις. Με στόχο να αντιμετωπιστούν οι αγκυλώσεις που παρουσιάζει η ανάπτυξη μηχανισμών αυτοματοποίησης παραγωγής κώδικα, στην παρούσα διπλωματική εργασία, αξιοποιείται η μηχανική οδηγούμενη από μοντέλα ή μοντελοστρεφής μηχανική (Model Driven Engineering ή MDE). Συγκριμένα, αφού οριστεί ένα αφαιρετικό μοντέλο, πραγματοποιείται μια σειρά από μετασχηματισμούς, με τελικό αποτέλεσμα μια πλήρως λειτουργική εφαρμογή. Με αυτό τον τρόπο, επιταχύνεται διαδικασία ανάπτυξης λογισμικού και παράγεται λογισμικό με μεγαλύτερη αξιοπιστία. Η παρούσα διπλωματική εργασία υλοποιεί το σύστημα DeGraCom (Developing Graphical Commands). Το DeGraCom παρέχει μία φιλική γραφική διεπαφή επιτρέπει στους χρήστες του, ακόμη και αν δεν γνωρίζουν διαδικτυακό προγραμματισμό, να παράγουν διαδικτυακά τμήματα-εντολές με αυτοματοποιημένο τρόπο. Τα τμήματα αυτά ακολουθούν την αρχιτεκτονική Client-Server ούτως ώστε να είναι εύκολη η ενσωμάτωσή τους που σε υπάρχοντες διαδικτυακούς Αυτόματους Μηχανισμούς προς επέκταση των δυνατοτήτων τους. Για την δοκιμή και αξιολόγηση αυτού του συστήματος, τα τμήματα-εντολές που παράγονται δοκιμάστηκαν στην πλατφόρμα TekTrain. Το τελευταίο, παρέχει ένα σύνολο από εργαλεία και διεπαφές, παράλληλα με μία σειρά από έξυπνες συσκευές, με στόχο την διευκόλυνση την εκπαίδευσης των παιδιών στις νέες τεχνολογίες. Η βασική γραφική διεπαφή του επιτρέπει στους χρήστες της να ορίσουν ένα σύνολο από δράσεις/εντολές για τις έξυπνες συσκευές του. Το σύστημα DeGraCom στοχεύει στο να αυτοματοποιήσει την διαδικασία δημιουργίας νέων εντολών.
Design and implementation of an automation mechanism to automatically develop...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
1. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ
ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ
ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
Διπλωματική Εργασία του
Πουλάκη Ευάγγελου
Α.Ε.Μ: 7515
Επιβλέποντες:
Αν. καθηγητής: Ανδρέας Λ. Συμεωνίδης
Διδάκτωρ: Ζολώτας Χριστόφορος
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
2. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΚΙΝΗΤΡΟ
• Ραγδαία αύξηση στην ζήτηση διαδικτυακών εφαρμογών
• Αύξηση της πολυπλοκότητας των εφαρμογών αυτών
• Ανάγκη για γρήγορη παραγωγή αξιόπιστου λογισμικού
• Έλλειψη προσβασιμότητας σε άτομα που δεν έχουν
γνώσεις λογισμικού
3. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΣΚΟΠΟΣ
Ανάπτυξη λογισμικού μοντελοστρεφούς προσέγγισης με
τα εξής χαρακτηριστικά:
• Επιτρέπει στους χρήστες του να σχεδιάσουν και να
δημιουργήσουν διαδικτυακά τμήματα-εντολές με
αυτόματο τρόπο
• Προσβάσιμο και εύκολο στην χρήση, ακόμη και από
χρήστες που δεν έχουν γνώσεις διαδικτυακού
προγραμματισμού
4. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ
Μοντελοστρεφής Μηχανική (Model Driven Engineering):
Βασική αρχή: Όλα μπορούν να χαρακτηριστούν ως μοντέλα
• Μοντέλο: Μία απλουστευμένη αναπαράσταση ενός
αντικειμένου ή συστήματος, η οποία διατηρεί τις
βασικές ιδιότητές της, ώστε να επιτρέπει την
συστηματική ανάλυσή της για ένα συγκεκριμένο σκοπό
• Μετα-μοντέλο: Ένα σύνολο από κανόνες, σύμβολα και
περιορισμούς, που επιτρέπεται να χρησιμοποιηθούν
προκειμένου να σχεδιαστεί ένα έγκυρο μοντέλο, το
οποίο θα συμμορφώνεται με τα στοιχεία του μετα-
μοντέλου
5. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (2)
High-level διάγραμμα του συστήματος DeGraCom
6. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (3)
7. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (4)
Το Σύστημα TekTrain
• Πλατφόρμα η οποία παρέχει μία σειρά από έξυπνες
συσκευές και διεπαφές ώστε η εκπαίδευση παιδιών και
νέων σε τεχνολογίες αιχμής να είναι εύκολη και
γρήγορη.
• Μέσω της γραφικής της διεπαφής, επιτρέπει στους
χρήστες της να ορίσουν ένα σύνολο από
δράσεις/εντολές που θέλουν να πραγματοποιήσει το
ρομπότ της TekTrain. Οι εντολές αυτές αναπαρίστανται
από μπλοκ, καθένα από τα οποία αντιστοιχίζεται σε μία
δράση.
8. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (5)
Μπλοκ Δράσης Μπλοκ Απόφασης Μπλοκ Αναφοράς
Τα μπλοκ-εντολές του TekTrain
9. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (6)
Αναδυόμενο Παράθυρο
Ρύθμισης
Αναδυόμενο Παράθυρο
Διαμόρφωσης
Στοιχεία Εισόδου
Συστατικά στοιχεία των μπλοκ του TekTrain
10. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (7)
11. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (8)
DeGraCom - Υποσύστημα Γραφικής Διεπαφής
12. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (9)
DeGraCom – Endpoints
• /reference-block
• /decision-block
• /action-block
• /deploy-reference-block
• /deploy-decision-block
• /deploy-action-block
• /image-upload
• /download/{filename}
13. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΘΟΔΟΛΟΓΙΑ (10)
DeGraCom - Acceleo
14. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΣΥΜΠΕΡΑΣΜΑΤΑ
DeGraCom – Summary
Βασικός στόχος της διπλωματικής ήταν να δημιουργήσουμε ένα σύστημα στο οποίο θα έχουν
πρόσβαση χρήστες που δεν γνωρίζουν διαδικτυακό προγραμματισμό, ή γενικότερα, δεν έχουν
υψηλές τεχνολογικές γνώσεις. Αυτό το πετύχαμε με δύο τρόπους: πρώτον το σύστημα της
διπλωματικής είναι διαδικτυακό, άρα οι χρήστες του δεν χρειάζεται να το εγκαταστήσουν και
παράλληλα έχουν πρόσβαση σε αυτό από οποιοδήποτε μηχάνημα, και δεύτερον η γραφική διεπαφή
του είναι απλή στην χρήση και εύκολα κατανοητή.
15. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΜΕΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ
DeGraCom – Expanding
• Επέκταση της γκάμας των μπλοκ που μοντελοποιούνται από το σύστημα, με απώτερο σκοπό την
επέκταση της λειτουργικότητας της πλατφόρμας TekTrain
• Επέκταση έτσι ώστε να παράγει τμήματα κώδικα και για άλλες, παρεμφερείς πλατφόρμες
• Άμεση σύνδεσή του παραγόμενου κώδικα με της πλατφόρμες/συστήματα με τα οποία
συσχετίζεται
16. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΕΥΧΑΡΙΣΤΙΕΣ
Θα ήθελα να ευχαριστήσω αρχικά τον κ. Ανδρέα Συμεωνίδη, για την εμπιστοσύνη που έδειξε στο
πρόσωπο μου, αναθέτοντας μου την παρούσα διπλωματική εργασία, καθώς και για την ευκαιρία
που μου έδωσε να ανακαλύψω νέες ενδιαφέρουσες πτυχές της επιστήμης λογισμικού. Ακόμη, θα
ήθελα να ευχαριστήσω τον διδάκτορα Χριστόφορο Ζολώτα, για την άριστη συνεργασία, την
υπομονή και την καθοδήγησή του, καθώς ακόμη και για τις παρατηρήσεις και τη βοήθεια που μου
προσέφερε.
17. ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛΩΝ ΓΙΑ ΓΡΑΦΙΚΕΣ ΓΛΩΣΣΕΣ ΣΤΟ ΔΙΑΔΙΚΤΥΟ
ΕΡΩΤΗΣΕΙΣ
Είμαι διαθέσιμος για τυχόν ερωτήσεις/απορίες
Σας ευχαριστώ πολύ για την προσοχή σας