SlideShare a Scribd company logo
1 of 36
Download to read offline
Μοντελοποίηση
μη λειτουργικών απαιτήσεων λογισμικού
σε μοντέλα διαδικτυακών συστημάτων
REST
Θεσσαλονίκη, 16 Μαρτίου 2017
ΦΟΙΤΗΤΗΣ
Δόντσιος Δημήτριος
7526 ―
dontsios@gmail.com
ΕΠΙΒΛΕΠΟΝΤΕΣ
Ανδρέας Λ. Συμεωνίδης
Χριστόφορος Ζολώτας
Δομή της παρουσίασης
Επισκόπηση
Παρουσίαση της
Μεθοδολογίας
Θεωρητικό
Υπόβαθρο
Στόχος της
Διπλωματικής
Εισαγωγή
2
Richardson Maturity Model
Representational State
Transfer:
• Σετ κανόνων και περιορισμών για την
αρχιτεκτονική διαδικτυακών υπηρεσιών
• Επίτευξη εξαιρετικής απόδοσης,
επεκτασιμότητας, απλότητας, εύκολης
τροποποίησης , αξιοπιστία και
μεταφερσιμότητα
• Όλα είναι πόροι
• Χρήση του HTTP ρημάτων με URI για τη
μετάβαση καταστάσεων
Glory of REST
LEVEL 3
Hypermedia Controls
LEVEL 2
HTTP Verbs
LEVEL 1
Resources
LEVEL 0
The Swamp of POX
RESTful διαδικτυακή υπηρεσία
3
Έκρηξη ανάγκης για Web / RESTful API
4
Μηχανές παραγωγής RESTful API
5
Code Implementation X
Code Implementation Y
Code Implementation Z
CIM PIM PSM Y
PSM X
PSM Z
Πρώτη Φάση Δεύτερη Φάση Τρίτη Φάση Τέταρτη Φάση
S-CASE MDE Engine
Εργαλείο μοντελοστραφούς προσέγγισης MDA που επιτυγχάνει γρήγορη
ημιαυτοματοποιημένη παραγωγή κώδικα για RESTful API 3ου επιπέδου στο RMM
6
Επέκταση υπάρχοντος δισδιάστατου μηχανισμού μοντελοστραφούς σχεδίασης
διαδικτυακών υπηρεσιών REST, S-CASE, ώστε να μπορεί να λαμβάνει
υπόψη και μη λειτουργικές απαιτήσεις.
Στόχος της διπλωματικής
7
 Εστίαση στις λειτουργικές απαιτήσεις
 Καμία αυτοματοποίηση για την κάλυψη των μη λειτουργικών απαιτήσεων
Μεθοδολογία ανάπτυξης λογισμικού βασισμένη σε μοντέλα –
αφαιρετικές αναπαραστάσεις της πληροφορίας και των ενεργειών που
απαιτούνται για τη σχεδίαση και την υλοποίηση ενός συστήματος.
Model Driven Engineering
Γιατί MDE:
• Αυτοματοποιημένη παραγωγή κώδικα
• Φθηνό και ποιοτικό λογισμικό γρήγορα
• Σχεδιασμός προσανατολισμένος στο
πρόβλημα
• Παραγωγή κώδικα για πολλαπλές
πλατφόρμες
8
S-CASE MDE Engine – Μηχανισμός Επεκτάσεων
S-CASE
Architecture
Extension
Metamodel
9
Model to Model μετασχηματισμός
EMF Ecore
TechnologyAtlas transformation
Language
 Δηλωτική και Προστακτική
 Κομμάτι του Eclipse M2M
 Matched Rules
 Lazy Rules
 Unique Lazy Rules
 Called Rules
unique lazy rule createAnnCRUDActivityHandler{
from
CRUDActivityHandler : COREPIMIN!CRUDActivityHandler
to
AnnCRUDActivityHandler: DESPIMOUT!AnnCRUDActivityHandler
(
annotatesCRUDActivityHandler <- CRUDActivityHandler
)
}
10
Model to Text μετασχηματισμός
[if (anAnnotationStack.bHasDesignPatternsLayer)]
[if (anAnnotationStack.hasObserverPattern())]
[javaObserver()/]
[/if]
[if (anAnnotationStack.hasBuilderPattern())]
[javaRepresentationModel()/]
[/if]
[if(anAnnotationStack.hasMementoPattern()>0)]
[javaMemento()/]
[/if]
[/if]
11
Μη λειτουργικές απαιτήσεις
Ιδιότητες τους συστήματος και περιορισμοί στις
υπηρεσίες ή
τις λειτουργίες που προσφέρει το σύστημα.
12
 Έλεγχος συστήματος – Παρακολούθηση συμβάντων (audit trail)
 Reporting
 Συμβατότητα
 Επεκτασιμότητα
 Εύκολη τροποποίηση κώδικα
 Επαναχρησιμοποίηση κώδικα
 Διατηρησιμότητα
 Πολλαπλές αναπαραστάσεις πόρων και έλεγχος πρόσβασης και προσπέλασης δεδομένων
 Δυνατότητα απομνημόνευσης παλαιότερης κατάστασης πόρων και ανάκτησης παλαιότερων
καταστάσεων
Πρότυπο
ΜΛΑ
Χτίστη Παρατηρητή Μνήμης Γέφυρας
Έλεγχος Συστήματος ✓ ✓
Reporting ✓
Συμβατότητα ✓ ✓
Επεκτασιμότητα ✓
Διατηρησιμότητα ✓ ✓
Εύκολη Τροποποίηση ✓
Επαναχρησιμοποίηση ✓
Πολλαπλές αναπαραστάσεις πόρων ✓
Έλεγχος πρόσβασης στα δεδομένα ✓ ✓
Δυνατότητα απομνημόνευσης και
ανάκτησης
παλαιότερης κατάστασης
✓
Πρότυπα σχεδίασης και ΜΛΑ που καλύπτουν
13
Δημιουργία στιγμιότυπων αναπαράστασης (υποσύνολο των
properties ενός resource/endpoint) κατά την
εκτέλεση.
Παρακολούθηση συμβάντων/ενεργειών σε κάποιο
resource/endpoint του συστήματος – Εκτέλεση κάποιας
ενέργειας αντίδρασης.
Διατήρηση παλαιότερης κατάστασης ενός
resource/endpoint στη βάση και δυνατότητα ανάκτησής
της.
«Αφαίρεση» των χειριστών των HTTP ρημάτων των
αλγοριθμικών resources/endpoints.
Πρότυπα σχεδίασης και
ο τρόπος με τον οποίο καλύπτουν τις ΜΛΑ
Builder
Observer
Memento
Bridge
14
•Ορισμός του CIM
μεταμοντέλου
•Δημιουργία του
CIM Wizard
CIM
Generator
•Ορισμός του PIM
μεταμοντέλου
•ATL m2m
CIMtoPIM
μετασχηματισμός
PIM
Generator
•Ορισμός του PSM
μεταμοντέλου
•ATL m2m
PIMtoPSM
μετασχηματισμός
PSM
Generator
•Ορισμός νέων
Acceleo m2t
μετασχηματισμών για
την παραγωγή
κώδικα
•Μετασχηματισμός
παλαιών Acceleo
m2t
μετασχηματισμών
•AnnotationLayer
Stack.ecore
Code
Generator
Μεθοδολογία ανάπτυξης της επέκτασης
•RESTful API με
JAX RS και
Hibernate
Annotations
•Πρότυπα
Σχεδίασης
RESTful API
15
DesignPatternsLayerCIM Metamodel
Πρότυπο Χτίστη
16
Στοιχεία του ecore μεταμοντέλου
που μοντελοποιούν την
υπηρεσία με χρήση του
προτύπου Χτίστη
DesignPatternsLayerPIM Metamodel
Πρότυπο Χτίστη
17
Στοιχεία του ecore μεταμοντέλου
που μοντελοποιούν την
υπηρεσία με χρήση του
προτύπου Χτίστη
DesignPatternsLayerPSM Metamodel
Πρότυπο Χτίστη
Στοιχεία του ecore μεταμοντέλου
που μοντελοποιούν την
υπηρεσία με χρήση του
προτύπου Χτίστη
18
DesignPatternsLayerCIM Metamodel
Πρότυπο Παρατηρητή
19
DesignPatternsLayerPIM Metamodel
Πρότυπο Παρατηρητή
20
DesignPatternsLayerPSM Metamodel
Πρότυπο Παρατηρητή
21
DesignPatternsLayerCIM Metamodel
Πρότυπο Γέφυρας
22
DesignPatternsLayerPIM Metamodel
Πρότυπο Γέφυρας
23
DesignPatternsLayerPSM Metamodel
Πρότυπο Γέφυρας
24
DesignPatternsLayerCIM Metamodel
Πρότυπο Μνήμης
25
DesignPatternsLayerPIM Metamodel
Πρότυπο Μνήμης
26
DesignPatternsLayerPSM Metamodel
Πρότυπο Μνήμης
27
account
tag
-descritpion: String
-username: String
-email: String
-password: String
bookmark
-url : String
AlgoTagSearch
[1..*]
[1..*] [1..*]
has attributes
depending on
the searchable
resource
RESTMarks - ERD
28
Υπηρεσία κοινωνικής δικτύωσης.
Χρήστες που έχουν σελιδοδείκτες, οι οποίοι έχουν ετικέτες, στις
οποίες μπορεί κανείς να εκτελέσει αναζήτηση.
Code Generation
29
Code Generation
30
Code Generation
31
API Test
Έννοιες
 Model Driven Engineering – Model
Driven Architecture
 REST
 Μη λειτουργικές απαιτήσεις λογισμικού
 Πρότυπα σχεδίασης
Φόρτος
• 4 νέα μεταμοντέλα .ecore
• 49 νέα ζευγάρια πακέτα κώδικα μέσω του
.genmodel των ecore μεταμοντέλων.
• 3 ATL μετασχηματισμοί – 900 γραμμές κώδικα
ATL
• 25 Acceleo μετασχηματισμοί – 7500
γραμμές κώδικα Acceleo
• 1 νέος wizard – 2000 γραμμές κώδικα
Java
Μελλοντικές Επεκτάσεις
• Εισαγωγή νέων προτύπων
• Μιξάρισμα των υπαρχόντων
• Επέκταση των προτύπων που
υλοποιήθηκαν
Απολογισμός – 1
Τεχνολογίες
 Java EE
 Ecore
 ATL
 Acceleo
 JAX-RS
 Hibernate

PostgreSQL
 Jetty
 Maven
 Postman
32
Απολογισμός – 2
Πρότυπο Παρατηρητή
 Nέες java κλάσεις Observe και
ObservableHandlers
 Μεταβολή των Controller,
Handler, Hibernate java
classes
 Νέοι πίνακες με τους παρατηρητές
στη βάση δεδομένων
Πρότυπο Χτίστη
 Νέα java κλάση
resourceRepresentationModel.j
ava
 Μεταβολή των Controller και
Handler
 Νέα Hibernate Annotations
Πρότυπο Γέφυρας
 Nέες abstract κλάσεις που
υλοποιούν τους Controllers και
τους Handlers αλγοριθμικών πόρων
 Νέες κλάσεις που επεκτείνουν τους
Controllers και Handlers
Πρότυπο Μνήμης
 Νέα java κλάση
resourceModelMemento.java
 Μεταβολή των Controller,
Handler, Hibernate java
classes
 Νέοι πίνακες με τα στιγμιότυπα
μνήμης στη βάση δεδομένων
33
Απολογισμός – 3
0
1000
2000
3000
4000
5000
6000
Without any Patterns 1 Pattern: Observer 2 Patterns: Observer +
Memento
4 Patterns
Γραμμές κώδικα παραγόμενου RESTful API -
RESTMarks
Least Most
* Καθαρές γραμμές κώδικα – χωρίς brackets,
κενά και σχόλια
** Στοιχεία μέσω του LocMetrics
34
Ευχαριστώ
Θεσσαλονίκη, 16 Μαρτίου 2017

More Related Content

What's hot

ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ISSEL
 
Konstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationISSEL
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationISSEL
 
Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Manos Tsardoulias
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
 
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...ISSEL
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούISSEL
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...ISSEL
 
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Manos Tsardoulias
 
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESΑνάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESISSEL
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...ISSEL
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςISSEL
 

What's hot (14)

ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
 
Konstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenation
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentation
 
Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis Presentation
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
 
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
 
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESΑνάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
 

Viewers also liked

Lelis Αthanasios
Lelis ΑthanasiosLelis Αthanasios
Lelis ΑthanasiosISSEL
 
Christos Psarras
Christos PsarrasChristos Psarras
Christos PsarrasISSEL
 
Στέφανος Μπουρτζούδης
Στέφανος ΜπουρτζούδηςΣτέφανος Μπουρτζούδης
Στέφανος ΜπουρτζούδηςISSEL
 
Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594ISSEL
 
Angelos kaltsikis
Angelos kaltsikisAngelos kaltsikis
Angelos kaltsikisISSEL
 
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013ISSEL
 
Σωτήριος Αγγελής
Σωτήριος ΑγγελήςΣωτήριος Αγγελής
Σωτήριος ΑγγελήςISSEL
 
Νικηφόρος Σακκάς
Νικηφόρος Σακκάς Νικηφόρος Σακκάς
Νικηφόρος Σακκάς ISSEL
 
Ναταλία Μιχαηλίδου
Ναταλία ΜιχαηλίδουΝαταλία Μιχαηλίδου
Ναταλία ΜιχαηλίδουISSEL
 
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsUser-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsISSEL
 

Viewers also liked (10)

Lelis Αthanasios
Lelis ΑthanasiosLelis Αthanasios
Lelis Αthanasios
 
Christos Psarras
Christos PsarrasChristos Psarras
Christos Psarras
 
Στέφανος Μπουρτζούδης
Στέφανος ΜπουρτζούδηςΣτέφανος Μπουρτζούδης
Στέφανος Μπουρτζούδης
 
Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594
 
Angelos kaltsikis
Angelos kaltsikisAngelos kaltsikis
Angelos kaltsikis
 
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
 
Σωτήριος Αγγελής
Σωτήριος ΑγγελήςΣωτήριος Αγγελής
Σωτήριος Αγγελής
 
Νικηφόρος Σακκάς
Νικηφόρος Σακκάς Νικηφόρος Σακκάς
Νικηφόρος Σακκάς
 
Ναταλία Μιχαηλίδου
Ναταλία ΜιχαηλίδουΝαταλία Μιχαηλίδου
Ναταλία Μιχαηλίδου
 
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsUser-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
 

Similar to Dontsios Dimitris

Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168ISSEL
 
Μαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...ISSEL
 
Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Nikos Dimitrakopoulos
 
Software requirements
Software requirementsSoftware requirements
Software requirementsGeorge Kara
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - TrainingAnna Tsolakou
 
Micro Front-ends and Microservices Architecture in Web Application Development
Micro Front-ends and Microservices Architecture in Web Application DevelopmentMicro Front-ends and Microservices Architecture in Web Application Development
Micro Front-ends and Microservices Architecture in Web Application DevelopmentISSEL
 
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...ISSEL
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Trainingpdalianis
 
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...ISSEL
 
Automated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applicationsAutomated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applicationsISSEL
 
Μαϊτης Αντώνιος
Μαϊτης ΑντώνιοςΜαϊτης Αντώνιος
Μαϊτης ΑντώνιοςAntonis Maitis
 
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...ISSEL
 
Christainas grigorios
Christainas grigoriosChristainas grigorios
Christainas grigoriosISSEL
 
Dileo Presentation (in Greek)
Dileo Presentation (in Greek)Dileo Presentation (in Greek)
Dileo Presentation (in Greek)Giannis Tsakonas
 

Similar to Dontsios Dimitris (20)

Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168
 
Μαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία Κουιρουκίδου
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
 
Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
 
SQL Injection
SQL InjectionSQL Injection
SQL Injection
 
Micro Front-ends and Microservices Architecture in Web Application Development
Micro Front-ends and Microservices Architecture in Web Application DevelopmentMicro Front-ends and Microservices Architecture in Web Application Development
Micro Front-ends and Microservices Architecture in Web Application Development
 
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Training
 
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
Αυτοματοποίηση της μετατροπής των HR επιχειρησιακών διαδικασιών εταιριών σε W...
 
Automated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applicationsAutomated digital transformation of HR business processes to web applications
Automated digital transformation of HR business processes to web applications
 
Beauty salon
Beauty salonBeauty salon
Beauty salon
 
Μαϊτης Αντώνιος
Μαϊτης ΑντώνιοςΜαϊτης Αντώνιος
Μαϊτης Αντώνιος
 
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
 
Christainas grigorios
Christainas grigoriosChristainas grigorios
Christainas grigorios
 
Dileo Presentation (in Greek)
Dileo Presentation (in Greek)Dileo Presentation (in Greek)
Dileo Presentation (in Greek)
 

More from ISSEL

Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...ISSEL
 

More from ISSEL (20)

Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...
 

Recently uploaded

Επίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptx
Επίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptxΕπίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptx
Επίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptx7gymnasiokavalas
 
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdfΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdfChrisa Kokorikou
 
13η ENΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ: ΚΑΤΑΣΚΕΥΕΣ.pdf
13η ENΟΤΗΤΑ  ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ:  ΚΑΤΑΣΚΕΥΕΣ.pdf13η ENΟΤΗΤΑ  ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ:  ΚΑΤΑΣΚΕΥΕΣ.pdf
13η ENΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ: ΚΑΤΑΣΚΕΥΕΣ.pdfMaria Koufopoulou
 
ΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptx
ΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptxΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptx
ΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptx41dimperisteriou
 
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdfMaria Koufopoulou
 
Πρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptx
Πρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptxΠρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptx
Πρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptxntanavara
 
Οι δικές μας αεροσκάφες
Οι δικές μας                    αεροσκάφεςΟι δικές μας                    αεροσκάφες
Οι δικές μας αεροσκάφεςDimitra Mylonaki
 
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdfΤο τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdfEvangelia Patera
 
Παρουσίαση καλλιτεχνικού θεάματος
Παρουσίαση          καλλιτεχνικού θεάματοςΠαρουσίαση          καλλιτεχνικού θεάματος
Παρουσίαση καλλιτεχνικού θεάματοςDimitra Mylonaki
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΝίκος Θεοτοκάτος
 
B2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗ
B2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗB2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗ
B2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗChrisa Kokorikou
 
Έκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptx
Έκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptxΈκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptx
Έκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptx7gymnasiokavalas
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΝίκος Θεοτοκάτος
 
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝΙπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝDimitra Mylonaki
 
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά ΣτοιχείαΔιαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχείαbasket20032020
 
Ημέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptx
Ημέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptxΗμέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptx
Ημέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptx36dimperist
 
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένηΗ εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένηEvangelia Patera
 
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdfΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdfChrisa Kokorikou
 
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"margaritathymara1
 
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptxΟι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx36dimperist
 

Recently uploaded (20)

Επίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptx
Επίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptxΕπίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptx
Επίσκεψη μαθητών στην Έκθεση Η Μαγεία των Μοτίβων.pptx
 
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdfΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
ΣΠΑΣΕ ΤΗ ΣΙΩΠΗ ΑΠΟ ΤΟΥΣ ΜΑΘΗΤΕΣ/ΤΡΙΕΣ ΤΟΥ Β2.pdf
 
13η ENΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ: ΚΑΤΑΣΚΕΥΕΣ.pdf
13η ENΟΤΗΤΑ  ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ:  ΚΑΤΑΣΚΕΥΕΣ.pdf13η ENΟΤΗΤΑ  ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ:  ΚΑΤΑΣΚΕΥΕΣ.pdf
13η ENΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε΄ΤΑΞΗΣ: ΚΑΤΑΣΚΕΥΕΣ.pdf
 
ΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptx
ΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptxΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptx
ΝΕΕΣ ΚΟΥΡΤΙΝΕΣ ΜΕ ΔΩΡΕΑ ΤΟΥ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ.pptx
 
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
15η ΕΝΟΤΗΤΑ ΓΛΩΣΣΑΣ Ε ΤΑΞΗ :ΤΗΛΕΟΡΑΣΗ.pdf
 
Πρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptx
Πρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptxΠρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptx
Πρόγραμμα - Πάμε μια βόλτα στο φεγγάρι.pptx
 
Οι δικές μας αεροσκάφες
Οι δικές μας                    αεροσκάφεςΟι δικές μας                    αεροσκάφες
Οι δικές μας αεροσκάφες
 
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdfΤο τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
Το τέλος του Δυτικού Ρωμαϊκού κράτους.pdf
 
Παρουσίαση καλλιτεχνικού θεάματος
Παρουσίαση          καλλιτεχνικού θεάματοςΠαρουσίαση          καλλιτεχνικού θεάματος
Παρουσίαση καλλιτεχνικού θεάματος
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
 
B2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗ
B2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗB2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗ
B2 TΑΞΗ -ΜΗΝΥΜΑΤΑ ΓΙΑ ΤΑ ΑΔΕΣΠΟΤΑ.pdf-ΜΑΡΚΕΛΛΑ ΤΣΑΤΣΑΡΩΝΗ
 
Έκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptx
Έκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptxΈκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptx
Έκθεση μαθητικής Ζωγραφικής- Η μαγεία των μοτίβων.pptx
 
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
ΚΠΑ Γ' ΓΥΜΝΑΣΙΟΥ 10.2.3 ΔΙΚΑΣΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ
 
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝΙπτάμενη                σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
Ιπτάμενη σκάφη ΚΟΜΙΚ ΠΑΙΔΙΩΝ
 
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά ΣτοιχείαΔιαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
Διαχείρηση Gmail - Βήμα προς Βήμα - Βασικά Στοιχεία
 
Ημέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptx
Ημέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptxΗμέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptx
Ημέρα Επιστημών – Επίδειξη πειραμάτων από τους μαθητές.pptx
 
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένηΗ εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
Η εποχή του Ιουστινιανού-Η ελληνοχριστιανική οικουμένη
 
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdfΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
ΣΤ2 -ΕΓΩ ΚΑΙ ΣΥ ΜΑΖΙ-ΦΙΛΟΙ ΠΑΝΤΟΤΙΝΟΙ .pdf
 
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
1ο ΓΥΜΝΑΣΙΟ ΠΕΙΡΑΙΑ-ECOMOBILITY "ΑΛΛΑΖΟΝΤΑΣ ΤΟΝ ΠΕΙΡΑΙΑ!"
 
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptxΟι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
Οι μικροί αρτοποιοί της Γ τάξης και το ψωμί τους.pptx
 

Dontsios Dimitris

  • 1. Μοντελοποίηση μη λειτουργικών απαιτήσεων λογισμικού σε μοντέλα διαδικτυακών συστημάτων REST Θεσσαλονίκη, 16 Μαρτίου 2017 ΦΟΙΤΗΤΗΣ Δόντσιος Δημήτριος 7526 ― dontsios@gmail.com ΕΠΙΒΛΕΠΟΝΤΕΣ Ανδρέας Λ. Συμεωνίδης Χριστόφορος Ζολώτας
  • 2. Δομή της παρουσίασης Επισκόπηση Παρουσίαση της Μεθοδολογίας Θεωρητικό Υπόβαθρο Στόχος της Διπλωματικής Εισαγωγή 2
  • 3. Richardson Maturity Model Representational State Transfer: • Σετ κανόνων και περιορισμών για την αρχιτεκτονική διαδικτυακών υπηρεσιών • Επίτευξη εξαιρετικής απόδοσης, επεκτασιμότητας, απλότητας, εύκολης τροποποίησης , αξιοπιστία και μεταφερσιμότητα • Όλα είναι πόροι • Χρήση του HTTP ρημάτων με URI για τη μετάβαση καταστάσεων Glory of REST LEVEL 3 Hypermedia Controls LEVEL 2 HTTP Verbs LEVEL 1 Resources LEVEL 0 The Swamp of POX RESTful διαδικτυακή υπηρεσία 3
  • 6. Code Implementation X Code Implementation Y Code Implementation Z CIM PIM PSM Y PSM X PSM Z Πρώτη Φάση Δεύτερη Φάση Τρίτη Φάση Τέταρτη Φάση S-CASE MDE Engine Εργαλείο μοντελοστραφούς προσέγγισης MDA που επιτυγχάνει γρήγορη ημιαυτοματοποιημένη παραγωγή κώδικα για RESTful API 3ου επιπέδου στο RMM 6
  • 7. Επέκταση υπάρχοντος δισδιάστατου μηχανισμού μοντελοστραφούς σχεδίασης διαδικτυακών υπηρεσιών REST, S-CASE, ώστε να μπορεί να λαμβάνει υπόψη και μη λειτουργικές απαιτήσεις. Στόχος της διπλωματικής 7  Εστίαση στις λειτουργικές απαιτήσεις  Καμία αυτοματοποίηση για την κάλυψη των μη λειτουργικών απαιτήσεων
  • 8. Μεθοδολογία ανάπτυξης λογισμικού βασισμένη σε μοντέλα – αφαιρετικές αναπαραστάσεις της πληροφορίας και των ενεργειών που απαιτούνται για τη σχεδίαση και την υλοποίηση ενός συστήματος. Model Driven Engineering Γιατί MDE: • Αυτοματοποιημένη παραγωγή κώδικα • Φθηνό και ποιοτικό λογισμικό γρήγορα • Σχεδιασμός προσανατολισμένος στο πρόβλημα • Παραγωγή κώδικα για πολλαπλές πλατφόρμες 8
  • 9. S-CASE MDE Engine – Μηχανισμός Επεκτάσεων S-CASE Architecture Extension Metamodel 9
  • 10. Model to Model μετασχηματισμός EMF Ecore TechnologyAtlas transformation Language  Δηλωτική και Προστακτική  Κομμάτι του Eclipse M2M  Matched Rules  Lazy Rules  Unique Lazy Rules  Called Rules unique lazy rule createAnnCRUDActivityHandler{ from CRUDActivityHandler : COREPIMIN!CRUDActivityHandler to AnnCRUDActivityHandler: DESPIMOUT!AnnCRUDActivityHandler ( annotatesCRUDActivityHandler <- CRUDActivityHandler ) } 10
  • 11. Model to Text μετασχηματισμός [if (anAnnotationStack.bHasDesignPatternsLayer)] [if (anAnnotationStack.hasObserverPattern())] [javaObserver()/] [/if] [if (anAnnotationStack.hasBuilderPattern())] [javaRepresentationModel()/] [/if] [if(anAnnotationStack.hasMementoPattern()>0)] [javaMemento()/] [/if] [/if] 11
  • 12. Μη λειτουργικές απαιτήσεις Ιδιότητες τους συστήματος και περιορισμοί στις υπηρεσίες ή τις λειτουργίες που προσφέρει το σύστημα. 12  Έλεγχος συστήματος – Παρακολούθηση συμβάντων (audit trail)  Reporting  Συμβατότητα  Επεκτασιμότητα  Εύκολη τροποποίηση κώδικα  Επαναχρησιμοποίηση κώδικα  Διατηρησιμότητα  Πολλαπλές αναπαραστάσεις πόρων και έλεγχος πρόσβασης και προσπέλασης δεδομένων  Δυνατότητα απομνημόνευσης παλαιότερης κατάστασης πόρων και ανάκτησης παλαιότερων καταστάσεων
  • 13. Πρότυπο ΜΛΑ Χτίστη Παρατηρητή Μνήμης Γέφυρας Έλεγχος Συστήματος ✓ ✓ Reporting ✓ Συμβατότητα ✓ ✓ Επεκτασιμότητα ✓ Διατηρησιμότητα ✓ ✓ Εύκολη Τροποποίηση ✓ Επαναχρησιμοποίηση ✓ Πολλαπλές αναπαραστάσεις πόρων ✓ Έλεγχος πρόσβασης στα δεδομένα ✓ ✓ Δυνατότητα απομνημόνευσης και ανάκτησης παλαιότερης κατάστασης ✓ Πρότυπα σχεδίασης και ΜΛΑ που καλύπτουν 13
  • 14. Δημιουργία στιγμιότυπων αναπαράστασης (υποσύνολο των properties ενός resource/endpoint) κατά την εκτέλεση. Παρακολούθηση συμβάντων/ενεργειών σε κάποιο resource/endpoint του συστήματος – Εκτέλεση κάποιας ενέργειας αντίδρασης. Διατήρηση παλαιότερης κατάστασης ενός resource/endpoint στη βάση και δυνατότητα ανάκτησής της. «Αφαίρεση» των χειριστών των HTTP ρημάτων των αλγοριθμικών resources/endpoints. Πρότυπα σχεδίασης και ο τρόπος με τον οποίο καλύπτουν τις ΜΛΑ Builder Observer Memento Bridge 14
  • 15. •Ορισμός του CIM μεταμοντέλου •Δημιουργία του CIM Wizard CIM Generator •Ορισμός του PIM μεταμοντέλου •ATL m2m CIMtoPIM μετασχηματισμός PIM Generator •Ορισμός του PSM μεταμοντέλου •ATL m2m PIMtoPSM μετασχηματισμός PSM Generator •Ορισμός νέων Acceleo m2t μετασχηματισμών για την παραγωγή κώδικα •Μετασχηματισμός παλαιών Acceleo m2t μετασχηματισμών •AnnotationLayer Stack.ecore Code Generator Μεθοδολογία ανάπτυξης της επέκτασης •RESTful API με JAX RS και Hibernate Annotations •Πρότυπα Σχεδίασης RESTful API 15
  • 16. DesignPatternsLayerCIM Metamodel Πρότυπο Χτίστη 16 Στοιχεία του ecore μεταμοντέλου που μοντελοποιούν την υπηρεσία με χρήση του προτύπου Χτίστη
  • 17. DesignPatternsLayerPIM Metamodel Πρότυπο Χτίστη 17 Στοιχεία του ecore μεταμοντέλου που μοντελοποιούν την υπηρεσία με χρήση του προτύπου Χτίστη
  • 18. DesignPatternsLayerPSM Metamodel Πρότυπο Χτίστη Στοιχεία του ecore μεταμοντέλου που μοντελοποιούν την υπηρεσία με χρήση του προτύπου Χτίστη 18
  • 28. account tag -descritpion: String -username: String -email: String -password: String bookmark -url : String AlgoTagSearch [1..*] [1..*] [1..*] has attributes depending on the searchable resource RESTMarks - ERD 28 Υπηρεσία κοινωνικής δικτύωσης. Χρήστες που έχουν σελιδοδείκτες, οι οποίοι έχουν ετικέτες, στις οποίες μπορεί κανείς να εκτελέσει αναζήτηση.
  • 33. Έννοιες  Model Driven Engineering – Model Driven Architecture  REST  Μη λειτουργικές απαιτήσεις λογισμικού  Πρότυπα σχεδίασης Φόρτος • 4 νέα μεταμοντέλα .ecore • 49 νέα ζευγάρια πακέτα κώδικα μέσω του .genmodel των ecore μεταμοντέλων. • 3 ATL μετασχηματισμοί – 900 γραμμές κώδικα ATL • 25 Acceleo μετασχηματισμοί – 7500 γραμμές κώδικα Acceleo • 1 νέος wizard – 2000 γραμμές κώδικα Java Μελλοντικές Επεκτάσεις • Εισαγωγή νέων προτύπων • Μιξάρισμα των υπαρχόντων • Επέκταση των προτύπων που υλοποιήθηκαν Απολογισμός – 1 Τεχνολογίες  Java EE  Ecore  ATL  Acceleo  JAX-RS  Hibernate  PostgreSQL  Jetty  Maven  Postman 32
  • 34. Απολογισμός – 2 Πρότυπο Παρατηρητή  Nέες java κλάσεις Observe και ObservableHandlers  Μεταβολή των Controller, Handler, Hibernate java classes  Νέοι πίνακες με τους παρατηρητές στη βάση δεδομένων Πρότυπο Χτίστη  Νέα java κλάση resourceRepresentationModel.j ava  Μεταβολή των Controller και Handler  Νέα Hibernate Annotations Πρότυπο Γέφυρας  Nέες abstract κλάσεις που υλοποιούν τους Controllers και τους Handlers αλγοριθμικών πόρων  Νέες κλάσεις που επεκτείνουν τους Controllers και Handlers Πρότυπο Μνήμης  Νέα java κλάση resourceModelMemento.java  Μεταβολή των Controller, Handler, Hibernate java classes  Νέοι πίνακες με τα στιγμιότυπα μνήμης στη βάση δεδομένων 33
  • 35. Απολογισμός – 3 0 1000 2000 3000 4000 5000 6000 Without any Patterns 1 Pattern: Observer 2 Patterns: Observer + Memento 4 Patterns Γραμμές κώδικα παραγόμενου RESTful API - RESTMarks Least Most * Καθαρές γραμμές κώδικα – χωρίς brackets, κενά και σχόλια ** Στοιχεία μέσω του LocMetrics 34

Editor's Notes

  1. Καλησπέρα Ονομάζομαι Δόντσιος Δημήτριος και ο τίτλος της διπλωματικής μου είναι «Μοντελοποίηση μη λειτουργικών απαιτήσεων λογισμικού σε μοντέλα διαδικτυακών συστημάτων REST»
  2. Αρχικά θα γίνει μια γενική εισαγωγή και θα παρουσιαστεί ο λόγος για τον οποίο είναι αναγκαία η ύπαρξη της διπλωματικής αυτής. Έπειτα θα παρουσιαστεί ο στόχος της και το θεωρητικό υπόβαθρο για την κατανόηση των βασικών εννοιών. Στη συνέχεια θα παρουσιαστεί η μεθοδολογία που ακολουθήθηκε για την επίτευξη των στόχων. Τέλος θα παρουσιαστεί ένας απολογισμός των όσων έγιναν + βίντεο με τεστ της υπηρεσίας.
  3. Τι είναι RESTful διαδικτυακή υπηρεσία; Representational State Transfer (Μεταφορά Αναπαραστάσεων Κατάστασης) και ορίζει έναν τύπο αρχιτεκτονικής λογισμικού υπηρεσιών του World Wide Web. To REST παρέχει ένα σετ από περιορισμούς και οδηγίες για τη σχεδίαση διανεμημένων υπηρεσιών (κυρίως web) με στόχο την καλύτερη απόδοση και μια περισσότερο διατηρήσιμη και επεκτάσιμη αρχιτεκτονική. Πόροι (resources) είναι οι θεμέλιοι λίθοι όλων web based συστημάτων Για να γίνει χρήση ενός πόρου χρειάζονται τρόποι αναγνώρισής του και διαχείρισής του. Το Web παρέχει το URI (Uniform Resource Identifier – Ενιαίο Αναγνωστικό Πόρων) για τους σκοπούς αυτούς. Ένα URI χαρακτηρίζει μοναδικά έναν πόρο, ενώ ταυτόχρονα παρέχει και μια διεύθυνση για τον πόρο αυτόν, μια δυνατότητα δηλαδή μεταχείρισης του πόρου μέσω ενός πρωτοκόλλου, όπως πχ το HTTP. Eξήγηση του RMM Το μοντέλο αυτό καθορίζει στην ουσία τα επίπεδα τα οποία πρέπει να ακολουθήσει κανείς για να χτίσει μια RESTful υπηρεσία, προσθέτοντας κάθε φορά ένα επίπεδο το οποίο καλύπτει κάποιους από τους περιορισμούς. Στην ουσία δημιουργείται ένας μηχανισμός tunneling – transport protocol - μέσα από τον οποίο ανταλλάσσονται αιτήσεις (συνήθως POST) μέσω ενός URI, πχ profilebook.org/Users, και υπάρχει απόκριση που παραδίδεται συνήθως σε μορφή XML. Εισαγωγή της έννοια των πόρων. Πλέον Στο επίπεδο 2 υπάρχουν πλέον πολλοί πόροι. Οι υπηρεσίες επιπέδου 2 υποστηρίζουν τη διαχείριση των πόρων με τη χρήση μεθόδων του πρωτοκόλλου HTTP και κωδικών απάντησης πετυχαίνοντας έτσι ένα εύρωστο σύστημα με μεγάλη λειτουργικότητα. Στο τελευταίο επίπεδο εισάγεται το HATEOAS (Hypertext As The Engine Of Application State), μηχανισμός o οποίος μετατρέπει την υπηρεσία επιπέδου 2 σε μια RESTful υπηρεσία, μια υπηρεσία που λειτουργεί σαν πεπερασμένο αυτόματο. Στο 3ο επίπεδο δεν υπάρχουν πλέον καταστάσεις -> υπάρχουν τα hypermedia controls Hypermedia controls are the combinations of protocol methods and link relations in an hypermedia format that tells the client what state transitions are available and how to perform them.  An hypermedia format defines the contract between client and server. It's the hyperlink-enabled data format you are using for a particular representation of a resource in an hypermedia application. The point of hypermedia controls is that they tell us what we can do next, and the URI of the resource we need to manipulate to do it.
  4. Διαδίκτυο : ως η πιο σημαντική ανθρώπινη εφεύρεση του 20ου αιώνα. Παρόλο που ο πρωταρχικός του στόχος ήταν ο διαμοιρασμός εγγράφων τις τελευταίες δεκαετίες αναδείχθηκε ως μέσο διασύνδεσης διαφορετικών εφαρμογών, γεγονός στο οποίο οδήγησαν η ευρεία χρήση και υποστήριξη του Έτσι, το διαδίκτυο μεταμορφώθηκε σε μια παγκόσμια πλατφόρμα ανταλλαγής και διασύνδεσης δεδομένων και πληροφοριών για ένα οικοσύστημα υπηρεσιών που εκτελούνται στο διαδίκτυο, τις διαδικτυακές εφαρμογές. Είναι πολύ δύσκολο να γίνει ακριβής εκτίμηση όλων των Web APIs που υπάρχουν αυτή τη στιγμή, καθώς, εκτός από αυτά σε οποία έχουν πρόσβαση όλοι μέσω του διαδικτύου, υπάρχουν και ιδιωτικά τα οποία λειτουργούν στα πλαίσια ιδιωτικών εφαρμογών (από Web APIs για ενδοεταιρεικά δίκτυα μέχρι και για Internet of things εφαρμογές). Μια από τις πιο γνωστές ιστοσελίδες – ευρετήρια για τα APIs, το www.programmableweb.com , φιλοξενεί αυτή τη στιγμή πάνω από 16.600 APIs, εκ των οποίων περίπου 9.500 είναι υλοποιημένα σε RESTful αρχιτεκτονική Αντίστοιχα για το 2ο διάγραμμα δείχνει ότι υπάρχουν ανάγκες ανάπτυξης εργαλείων που διευκολύνουν την παραγωγή κώδικα. Εκθετική αύξηση API – γραμμική αύξηση προγραμματιστών Μια άλλη σημαντική εκτίμηση για τον αριθμό των APIs που υπάρχουν αυτή τη στιγμή, εκτίμηση που πραγματοποιήθηκε από το www.apihound.com, υπολογίζει ότι ο αριθμός των APIs αυτή τη στιγμή κυμαίνεται στις 50.000 4πλασιαστεί μέχρι το 2020 Επιπλέον, όπως φαίνεται και στο παρακάτω διάγραμμα, οι ανάγκες για Web APIs έχουν φτάσει σε μέγεθος το οποίο δεν μπορεί να καλυφθεί από τον αριθμό των επαγγελματιών προγραμματιστών και μηχανικών λογισμικού. Το γεγονός αυτό οδηγεί στην ανάγκη δημιουργίας εργαλείων που βοηθούν στην παραγωγή τους. Από τα παραπάνω μπορεί να εξαχθεί το συμπέρασμα ότι η ανάγκη για web APIs, και κυρίως για RESTful Web APIs, αυξάνεται συνεχώς. Για τον λόγο αυτό έχουν αναπτυχθεί εργαλεία που αυτοματοποιούν την παραγωγή WEB API, πχ το Django, EMF-REST και Ruby on Rails. Κανένα όμως από τα εργαλεία που αναπτύχθηκε δεν λαμβάνει υπόψιν του μη λειτουργικά χαρακτηριστικά του συστήματος που θέλουμε να παραχθεί.
  5. To Ruby on Rails είναι ένα πλαίσιο (framework) ανοιχτού κώδικα για τη δημιουργία διαδικτυακών εφαρμογών χρησιμοποιώντας τη γλώσσα προγραμματισμού Ruby. Open Source – MVC – Ευκολη Ruby Το EMF-Rest, είναι ένα framework που βασίζεται στον Eclipse και επιτρέπει την ανάπτυξη μιας διαδικτυακής υπηρεσίας χρησιμοποιώντας τα μεταμοντέλα του Ecore. Όπως φαίνεται και στην παρακάτω εικόνα, o χρήστης του EMF-REST ξεκινάει μοντελοποιώντας τη web υπηρεσία του χρησιμοποιώντας το μεταμοντέλο Ecore. Όταν τελειώσει με αυτό, το EMF-Rest δημιουργεί την υπηρεσία χρησιμοποιώντας JAX-RS, JSON και JavaScript API. Το Django-REST-Framework είναι ακόμα ένα framework για τη δημιουργία RESTful υπηρεσιών. Το συγκεκριμένο βασίζεται στη γλώσσα python. Παραπάνω παρουσιάζονται οι πιο σοβαρές προσπάθειες που έχουν γίνει για να δημιουργηθούν συστήματα που εκτελούν αυτόματη παραγωγή κώδικα για RESTful web υπηρεσίες. Κάποιες από αυτές πετυχαίνουν υψηλότερη κάλυψη των επιπέδων που ορίζει το RMM, ενώ άλλες καταφέρνουν καλύτερη αυτοματοποίηση της διαδικασίας παραγωγής του κώδικα. Το κύριο μειονέκτημα των παραπάνω frameworks είναι η μη ικανότητα παραγωγής Hypermedia controls, του ανωτέρου δηλαδή επιπέδου του RMM. Ακόμα και στις λίγες περιπτώσεις που γίνεται η εισαγωγή και η παραγωγή των hypermedia controls, αυτή είναι συνήθως ελλιπής και αφήνεται στην ευχέρεια ενός προγραμματιστή η μεταβολή της web υπηρεσίας ώστε να ενσωματωθούν σωστά
  6. Tα κυριότερα πλεονεκτήματα του S-CASE σε σχέση με τις υπόλοιπες υπάρχουσες τεχνολογίες είναι: H πλήρης κάλυψη του 3ου επιπέδου του RMΜ, κάτι που σημαίνει ότι οι παραγόμενες υπηρεσίες δεν παραβιάζουν κανέναν από τους περιορισμούς που απαιτείται να ικανοποιούνται έτσι ώστε ένα σύστημα να είναι RESTful. Οι πόροι που παράγονται είναι σημασιολογικά συνδεδεμένοι με hypermedia controls. Έτσι, κάθε φορά που ένας client θέλει να αλληλεπιδράσει με τους πόρους αυτούς μέσω HTTP ερωτημάτων, στις απαντήσεις από τον server ενσωματώνονται όλα τα hypermedia links του πόρου αυτού. Τα links αυτά περιέχουν το URI που απαιτείται έτσι ώστε η συσχέτιση να είναι σαφής και σωστή. Επίσης, στις απαντήσεις εμπεριέχεται και μια λίστα με τις υπόλοιπες επιτρεπόμενες ενέργειες που επιτρέπονται στον πόρο αυτόν. Η εφαρμογή του μοντελοστραφούς προγραμματισμού για την ανάπτυξη RESTful υπηρεσιών. Το MDE Engine ακολουθεί ρητά τα στάδια της MDE προσέγγισης και άρα κληρονομεί όλα τα πλεονεκτήματά της. Το MDE Engine του S-CASE παρέχει έναν κατανοητό μηχανισμό που είναι εύκολα επεκτάσιμος και μπορεί να συνδυάσει και να υποστηρίξει πολλές γλώσσες προγραμματισμού για τη δημιουργία RESTful API που καλύπτουν τις απαιτήσεις του 3ου επιπέδου του RMM. Η χρήση πλήρως διαφανών και κατανοητών μετασχηματισμών με τη χρήση της ATL γλώσσας αυξάνει την εύκολη ανάγνωση και την ακολουθήσει της διαδικασίας του MDE Engine.
  7. Γιατί όμως η διπλωματκή αυτή; Όλα τα παραπάνω συστήματα, και καλύτερα από όλα το S-CASE, μπορούν να καλύψουν στην πλειοψηφία τους όλες τις λειτουργικές απαιτήσεις λογισμικού που θα είχε ένα RESTful API. Η κάλυψη όμως των μη λειτουργικών απαιτήσεων, κυρίως με αυτοματοποιημένη εφαρμογή προτύπων σχεδίασης σε συνδυασμό με τη χρήση μοντελοστραφών μεθόδων σε RESTful υπηρεσίες είναι μια ιδέα που βρίσκεται σε βρεφικό στάδιο. Ένα σύστημα για το οποίο δεν τηρούνται οι ΜΛΑ μπορεί να χαρακτηριστεί από αδύναμο έως άχρηστο. Παράδειγμα μια τραπεζική συναλλαγή που πραγματοποιείται σε 2 λεπτά. Ποιος θα χρησιμοποιούσε την υπηρεσία αυτή;
  8. Γιατί MDE? Υλοποίηση βάση της σχεδίασης και όχι βάση της πλατφόρμας Σχεδιασμός δηλαδή προσανατολισμένος στο πρόβλημα
  9. Τι είναι το S-CASE? Το S-CASE είναι το σύστημα δισδιάστατους μοντελοστραφούς σχεδίασης διαδικτυακών υπηρεσιών REST που θα επεκταθεί, καθώς, όπως αναφέρθηκε σε προηγούμενη ενότητα, είναι αυτό που επιτυγχάνει την καλύτερη κάλυψη των απαιτήσεων του 3ου επιπέδου του RMM. Στην πραγματικότητα, το S-CASE αποτελεί ένα εργαλείο το οποίο παρέχει σε στους χρήστες του τη δυνατότητα να επιταχύνουν τη διαδικασία ανάπτυξης ενός RESTful Web API. Το σύστημα επεκτάσεων που ακολουθεί είναι αυτό που φαίνεται στην εικόνα. Τα μεταμοντέλα επεκτάσεις έχουν τη μορφή που φαίνεται δίπλα Σχηματισμός του Computational Independent Model (CIM – Υπολογιστικά Ανεξάρτητο Μοντέλο). Το μοντέλο αυτό είναι η πιο αφαιρετική προσέγγιση του προς σχεδιασμό συστήματος. Περιλαμβάνει έννοιες, οντότητες και ιδιότητες που ανήκουν αυστηρά στο πεδίο της εφαρμογής. Σε αυτό το στάδιο δεν υπάρχει καμία έννοια που αφορά το σχεδιασμό, την αρχιτεκτονική και την υλοποίηση το συστήματος. Στην προσέγγιση που θα ακολουθηθεί σε αυτήν την εργασία, το πεδίο εφαρμογής είναι το RESTful πεδίο. Κύριες έννοιες του μοντέλου είναι οι αναπαραστάσεις, οι διεπαφές web, οι ιδιότητες των αναπαραστάσεων, οι συσχετίσεις των αναπαραστάσεων κλπ. Μετασχηματισμός M2M (model to model) του CIM για τη δημιουργία του αντίστοιχου Platform Independent Model (PIM – Μοντέλο Ανεξάρτητο της Πλατφόρμας Υλοποίησης). Στο στάδιο αυτό εισάγεται μια αφηρημένη σχεδίαση του συστήματος χωρίς λεπτομέρειες της υλοποίησης. Μετασχηματισμός του PIM για τη δημιουργία Platform Specific Models (PSM – Μοντέλα Εξαρτημένα της Πλατφόρμας Υλοποίησης). Το PSM συμβιβάζεται στη σχεδίαση που προτείνει το PIM αλλά καθορίζει και τον τρόπο με τον οποίο θα υλοποιηθεί η σχεδίαση εισάγοντας πληροφορίες για τη γλώσσα υλοποίησης, για τα frameworks που χρειάζονται, για βιβλιοθήκες, πρότυπα σχεδίασης κλπ. Δημιουργία κώδικα με χρήση προτύπων και μεταδεδομένων που ορίζει το PSM. Κάποια κομμάτια κώδικα μπορεί να είναι πλήρως υλοποιημένα, κάποια μερικώς.
  10. ATL (ATL Transformation Language) is a model transformation language and toolkit. In the field of Model-Driven Engineering (MDE), ATL provides ways to produce a set of target models from a set of source models. Developed on top of the Eclipse platform, the ATL Integrated Environnement (IDE) provides a number of standard development tools (syntax highlighting, debugger, etc.) that aims to ease development of ATL transformations. Γλώσσα μετασχηματισμού μοντέλων. Παρέχει τρόπους για να παράγεις ένα μοντέλο από ένα άλλο. Και τα δύο μοντέλα πρέπει να συμμορφώνονται με ecore μεταμοντέλα. Matched Rule: Είναι δηλωτικοί κανόνες. Επιτρέπουν την αντιστοίχιση κάποιων στοιχείων με το πηγαίο μοντέλο και τη δημιουργία ενός αριθμού ξεχωριστών μοντέλων ως έξοδο. Ο μηχανισμός της ATL καλεί τους matched rules αυτόματα κάθε φορά που κάποιο στοιχείο του κανόνα «ταιριάζει» με κάποιο στοιχείο του μοντέλου που δόθηκε ως είσοδος. Lazy Rules: Μια υποκατηγορία των matched rules είναι οι lazy rules. Η βασική τους διαφορά έγκειται στο γεγονός ότι οι lazy rules πρέπει να καλεστούν από άλλους κανόνες. Unique Lazy Rules: Λειτουργεί όπως ο Lazy Rule, αλλά εκτελείται ακριβώς μια φορά για κάθε στοιχείο για το οποίο καλείται. Με άλλα λόγια, όσες κλήσεις και να γίνουν σε αυτόν τον κανόνα σε ένα συγκεκριμένο στοιχείο, ο κανόνας θα εκτελεστεί μια φορά ακριβώς, την πρώτη, και τις υπόλοιπες φορές επιστρέφει το ίδιο μετασχηματισμένο στοιχείο. Called Rules: Είναι προστακτικοί κανόνες που πρέπει να καλεστούν από άλλους κανόνες και δεν έχουν κανένα στοιχείο ως είσοδο. Χρησιμοποιούνται για τη γέννηση στοιχείων σε ένα μοντέλο για τα οποία δεν υπάρχει αντιστοιχία στο μοντέλο που θα μετασχηματιστεί.
  11. Acceleo is an open-source code generator from the Eclipse Foundation that allows people to use a model-driven approach to building applications. It is an implementation of the "MOFM2T" standard, from the Object Management Group (OMG), for performing model-to-text transformation. Open-source μηχανή παραγωγής κώδικα. Βασίζεται σε μοντέλα που υπακούν σε ecore μεταμοντέλα και υλοποιεί model to text μετασχηματισμούς με χρήση «προτύπων»
  12. Ότι δεν είναι λειτουργική είναι μη λειτουργική απαίτηση. Απαντάει στο πως ή το πόσο καλά κάνει κάτι το σύστημα. Έλεγχος συστήματος – Παρακολούθηση συμβάντων (audit trail). Είναι πολύ σημαντικό, για την καταγραφή κακόβουλων ενεργειών σε ένα σύστημα, για την αναγνώριση σφαλμάτων αλλά και για στατιστικούς λόγους να γίνεται κάποιου είδους παρακολούθηση (auditing) σε συγκεκριμένους πόρους. Παράδειγμα οι κινήσεις σε έναν τραπεζικό λογαριασμό, όταν ο λογαριασμός είναι κοινός μεταξύ 2 ή περισσότερων ατόμων. Reporting. Πολλές φορές υπάρχει ανάγκη ώστε να γίνονται αναφορές. Για παράδειγμα κατά την χρέωση ενός λογαριασμού, ο κάτοχος του θα ήθελε να ενημερώνεται για την ενέργεια αυτή. Συμβατότητα. Είναι θεμιτό μια παραγόμενη υπηρεσία να είναι συμβατή με ήδη υπάρχοντα κομμάτια κώδικα και τεχνολογίες. Επεκτασιμότητα. Η προσθήκη νέων λειτουργικών σε ένα υπάρχον σύστημα λογισμικού και η επιπλέον παραμετροποίησή του όταν αυτό είναι υπό εκτέλεση. Εύκολη τροποποίηση κώδικα. Ένα σύστημα λογισμικού πρέπει να είναι ευανάγνωστο και να μπορεί να τροποποιηθεί εύκολα. Επαναχρησιμοποίηση κώδικα. Είναι θεμιτό κομμάτια κώδικα να μπορούν να επαναχρησιμοποιηθούν. Διατηρησιμότητα. Ένα σύστημα πρέπει να είναι διατηρήσιμο. Να μπορεί να επεκταθεί και να αναβαθμιστεί έτσι ώστε να μπορεί να εκτελεστεί παρά την αλλαγή των τεχνολογιών με τις οποίες συνδέεται. Κάποιες μη λειτουργικές απαιτήσεις για μια RESTful υπηρεσία. Πολλαπλές αναπαραστάσεις πόρων και έλεγχος πρόσβασης και προσπέλασης δεδομένων. Σε πολλές RESTful υπηρεσίες απαιτείται η ύπαρξη ενός μηχανισμού που θα δημιουργεί αναπαραστάσεις πόρου – έναν πόρο αντίγραφο με ιδιότητες ένα υποσύνολο των ιδιοτήτων του αρχικού πόρου. Οι αναπαραστάσεις αυτές μπορούν να χρησιμοποιηθούν για τον έλεγχο των πληροφοριών που βλέπει ένας πελάτης. Δυνατότητα απομνημόνευσης παλαιότερης κατάστασης πόρων και ανάκτησης παλαιότερων καταστάσεων. Εξ ’ορισμού, ένα RESTful API είναι stateless (χωρίς κατάσταση), λόγος στον οποίο οι περισσότερες RESTful υπηρεσίες δεν κρατούν ιστορικό καταστάσεων. Πολλές φορές όμως συναντάται η ανάγκη διατήρησης ιστορικού των καταστάσεων έτσι ώστε να μπορεί να εκτελεστεί ένας μηχανισμός rollback. Παράδειγμα ένα edit σε ένα post σε ένα blog και η επιλογή undo.
  13. Βασικός τροπος ικανοποιησης ΜΛΑ είναι τα πρότυπα σχεδίασης.
  14. Builder: Χρήση query parameter για την επιλογή συγκεκριμένης αναπαράστασης. Αν αυτή έχει οριστεί κατά τη σχεδίαση θα επιστραφεί. Αν όχι θα επιστραφεί ένα κενό σώμα με οδηγίες. Observer: Δημιουργία παρατηρητών, εγγραφή σε ενέργειες, διαγραφή από ενέργειες, δυνατότητα αποστολής e-mail Χρήση query παραμέτρων για τα παραπάνω Memento: Δυνατόητα διατήρησης της παλαιότερης κατάστασης. Τόσα στιγμιότυπα όσα ορίστηκαν κατά τη σχεδίαση. Command: Rollback Bridge: Δυνατότητα προσθήκης επιπλέον αλγορίθρμων. Command: Επιλογή αλγορίθμου κατά την εκτέλεση.
  15. H αλυσίδα ενεργειών για την διεκπεραίωση της διπλωματικής
  16. Builder Pattern: Σκοπός του προτύπου αυτού είναι ο διαχωρισμός της κατασκευής ενός σύνθετου αντικειμένου από τις αναπαραστάσεις του, έτσι ώστε η ίδια διαδικασία της κατασκευής να μπορεί να δημιουργήσει διάφορες αναπαραστάσεις. Ένας client δημιουργεί το αντικείμενο Director, και παραμετροποιεί το επιθυμητό αντικείμενο Builder. Στη συνέχεια ο Director ειδοποιεί τον Βuilder οποτεδήποτε ένα προϊόν πρέπει να κατασκευαστεί. O Builder δέχεται και διαχειρίζεται τις αιτήσεις του Director και προσθέτει συστατικά μέρη στο προϊόν. Τελικά ο client ανακτά το αντικείμενο από τον Βuilder
  17. Επεξήγηση του κάθε pattern Ξεχωριστά
  18. Επεξήγηση του κάθε pattern Ξεχωριστά
  19. Το πρότυπο ορίζει μια-προς-πολλά σχέσεις εξάρτησης ανάμεσα σε αντικείμενα, έτσι ώστε όταν ένα αντικείμενο αλλάζει κατάσταση, όλα τα υπόλοιπα που εξαρτώνται από αυτό ειδοποιούνται και ανανεώνονται αυτόματα. To αντικείμενο υποκείμενο (subject) διατηρεί μια λίστα με αντικείμενα που καλούνται παρατηρητές (observers) και ενημερώνει τη λίστα αυτή σε κάθε αλλαγή της κατάστασής του To Subject γνωρίζει τους παρατηρητές του. Παρέχει μια διεπαφή για την καταχώρηση και την διαγραφή αντικειμένων που των Observers. Tο ConcreteSubject αποθηκεύει την κατάσταση που θέλει να παρακολουθεί ο ConcreteObserver και τον ενημερώνει σε περίπτωση αλλαγής της κατάστασης. Ο observer με τη σειρά του, ορίζει μια διεπαφή για να ανανεώνει αντικείμενα που πρέπει να ανανεώνονται όταν γίνονται αλλαγές σε ένα subject. Τέλος, o ConcreteObserver διατηρεί την κατάσταση και υλοποιεί τη διαδικασία μέσω της οποίας αποθηκεύεται η κατάσταση που παρακολουθείται
  20. Επεξήγηση του κάθε pattern Ξεχωριστά
  21. Επεξήγηση του κάθε pattern Ξεχωριστά
  22. Το πρότυπο διαχωρίζει μια αφαίρεση (abstraction) από την υλοποίησή της έτσι ώστε οι δυο τους να υπάρχουν ανεξάρτητα. Χρησιμοποιείται όταν κάτω από την ίδια διεπαφή πρέπει να ενσωματωθούν διάφορες λειτουργικότητες. Το πρότυπο χρησιμοποιεί την ενθυλάκωση, τη συνάθροιση και ενίοτε την κληρονομικότητα για να πετύχει τους στόχους του Στο πρότυπο αυτό ως Abstraction ορίζεται η αφαίρεση(διεπαφή/αφηρημένη δομή) της λύσης, η οποία διατηρεί συσχέτιση με τον Implementor. Ο Implementor ορίζει τη διεπαφή για κλάσεις. Οι RefinedAbstractions κληρονομούν την Abstraction για να εισάγουν επιπλέον λειτουργικότητα και ο ConcreteImplementor υλοποιεί την κλάση που απαιτείται από τη λύση
  23. Επεξήγηση του κάθε pattern Ξεχωριστά
  24. Επεξήγηση του κάθε pattern Ξεχωριστά
  25. Το πρότυπο Memento (Μνήμης), είναι ένα συμπεριφορικό πρότυπο που παρέχει τη δυνατότητα ανάκτησης μιας προγενέστερης κατάστασης ενός αντικειμένου. Στόχος της χρήσης του είναι να επιτευχθεί η λήψη ενός στιγμιότυπου – αντιγράφου της σύστασης ενός αντικειμένου, χωρίς να παραβιάζονται τα περιεχόμενα και η δομή του αντικειμένου, με στόχο την επαναφορά της κατάστασης στο στιγμιότυπο αυτό.
  26. Επεξήγηση του κάθε pattern Ξεχωριστά
  27. Επεξήγηση του κάθε pattern Ξεχωριστά