ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Διαπραγμάτευση μεταξύ Ευφυών Πρακτόρων Λογισμικού στο Περιβάλλον του Σημασιολογικού Ιστού Διπλωματική Εργασία της Καλλιόπης Κράβαρη (ΑΕΜ: 185) Επιβλέπων Καθηγητής: Νικόλαος Βασιλειάδης Θεσσαλονίκη 2009

2

3 ΠΡΟΛΟΓΟΣ Ο Σημασιολογικός Ιστός (Semantic Web) αποτελεί εξέλιξη και επέκταση του υπάρχοντος διαδικτύου. Ο βασικός του στόχος είναι η οργάνωση της πληροφορίας που βρίσκεται διασκορπισμένη στον Παγκόσμιο Ιστό και ο ορισμός της με τέτοιο τρόπο ώστε να είναι πλήρως κατανοητή από τα προγράμματα πράκτορες (agents). Πληθώρα νέων τεχνολογιών και εργαλείων αναπτύχθηκαν και συνεχίζουν να αναπτύσσονται σε αυτή την κατεύθυνση. Στο μεγαλύτερο ποσοστό τους οι τεχνολογίες αυτές έχουν γίνει ευρύτατα αποδεκτές, με αποτέλεσμα το ενδιαφέρον πλέον να στραφεί σε ένα νέο πεδίο, αυτό της συλλογιστικής (reasoning). Η ευρεία όμως αποδοχή των τεχνολογιών του Σημασιολογικού Ιστού έχει καταστήσει πλέον αναγκαία και την υλοποίηση πρακτόρων (agents) και πολυ-πρακτορικών συστημάτων (multi-agent systems) που θα χρησιμοποιούν τις τεχνολογίες αυτές, υλοποιώντας το όραμα του Σημασιολογικού Ιστού. Το αντικείμενο της παρούσας διπλωματικής εργασίας είναι αφενός η μελέτη του Σημασιολογικού Ιστού, της φιλοσοφίας που αυτό πρεσβεύει και φυσικά της συλλογιστικής και αφετέρου η ανάπτυξη ευφυών πρακτόρων που θα χρησιμοποιούν τις τεχνολογίες του και ιδιαίτερα την συλλογιστική και θα συνεργάζονται τελικώς αποδοτικά μεταξύ τους μέσα σε ένα πολύ-πρακτορικό σύστημα. Ειδικότερα, στόχος της εργασίας είναι η δημιουργία μιας υπηρεσίας αναιρέσιμης συλλογιστικής (defeasible reasoning service) για τον Σημασιολογικό Ιστό. Μια υπηρεσία εύκολα προσβάσιμη από οποιονδήποτε πράκτορα, όπου κι αν βρίσκεται αυτός. Η ανάπτυξη της εργασίας έγινε σε συνεργασία με την ερευνητική ομάδα Intelligent Systems and Knowledge Processing (ISKP) του εργαστηρίου Γλωσσών Προγραμματισμού και Τεχνολογίας Λογισμικού του τμήματος Πληροφορικής, της σχολής Θετικών Επιστημών του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης. Στο σημείο αυτό θα ήθελα να ευχαριστήσω τον Επίκουρο Καθηγητή του Τμήματος Πληροφορικής Νικόλαο Βασιλειάδη, για την εμπιστοσύνη και την ανάθεση της παρούσας διπλωματικής εργασίας, την καθοδήγηση και την βιβλιογραφία που μου διέθεσε. Επίσης, θα ήθελα να ευχαριστήσω τον καθηγητή και διευθυντή του εργαστηρίου Ιωάννη Βλαχάβα για το ενδιαφέρον και την συνολική καθοδήγηση του. -3-

4 Τέλος, τις θερμές ευχαριστίες μου στον Στράτο Κοντόπουλο για την υπομονή, την κατανόηση και την διαρκή βοήθεια του. Κράβαρη Καλλιόπη Θεσσαλονίκη, 2009

5 ΠΕΡΙΕΧΟΜΕΝΑ 1 ΕΙΣΑΓΩΓΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Εισαγωγή Αρχική Αρχιτεκτονική του Σημασιολογικού Ιστού Αναθεωρημένη Αρχιτεκτονική του Σημασιολογικού Ιστού Προτεινόμενες Επεκτάσεις της Αρχιτεκτονικής Βασικές Γλώσσες του Σημασιολογικού Ιστού ΕΥΦΥΕΙΣ ΠΡΑΚΤΟΡΕΣ Εισαγωγή Αρχιτεκτονικές Πρακτόρων Πολυ Πρακτορικά Συστήματα Επικοινωνία μεταξύ πρακτόρων ΕΙΔΙΚΟΤΕΡΟ ΥΠΟΒΑΘΡΟ ΑΝΑΙΡΕΣΙΜΗ ΣΥΛΛΟΓΙΣΤΙΚΗ Εισαγωγή Η γλώσσα Αναίρεση ως αποτυχία NAF Εννοιολογικές Συγκρούσεις ΣΤΟΧΟΙ ΤΗΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΕΡΓΑΛΕΙΑ ΕΙΣΑΓΩΓΗ ΤΟ ΣΥΣΤΗΜΑ DR DEVICE Εισαγωγή Αρχιτεκτονική του DR-DEVICE Το συντακτικό της γλώσσας του DR-DEVICE ΤΟ ΠΛΑΙΣΙΟ JADE Εισαγωγή Αρχιτεκτονική του JADE Η Οργάνωση FIPA

6 4.4 JESS Εισαγωγή Αρχιτεκτονική Η αλληλεπίδραση των γλωσσών Jess και Java ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΑ ΑΝΑΙΡΕΣΙΜΗΣ ΣΥΛΛΟΓΙΣΤΙΚΗΣ Ο Ευφυής Πράκτορας Reasoner Τρόποι Επαφής με την Υπηρεσία ΣΕΝΑΡΙΟ ΜΕΣΙΤΕΙΑΣ Συμμετέχοντες Απαιτήσεις και Προτιμήσεις του Carlo Διαθέσιμα Διαμερίσματα Αναλυτική Περιγραφή Σεναρίου Λεπτομέρειες Υλοποίησης ΣΥΜΠΕΡΑΣΜΑΤΑ - ΜΕΛΛΟΝΤΙΚΕΣ ΕΡΓΑΣΙΕΣ ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΡΟΚΛΗΣΕΙΣ ΜΕΛΛΟΝΤΙΚΕΣ ΕΡΓΑΣΙΕΣ ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΤΗΜΑ ΤΑ ΔΙΑΘΕΣΙΜΑ ΔΙΑΜΕΡΙΣΜΑΤΑ ΤΑ ΚΑΤΑΛΛΗΛΑ ΔΙΑΜΕΡΙΣΜΑΤΑ ΤΟ ΚΑΤΑΛΛΗΛΟΤΕΡΟ ΔΙΑΜΕΡΙΣΜΑ Η ΣΤΡΑΤΗΓΙΚΗ ΤΟΥ ΠΕΛΑΤΗ Η ΣΤΡΑΤΗΓΙΚΗ ΤΟΥ ΜΕΣΙΤΗ O ΓΕΝΙΚΟΣ ΠΡΑΚΤΟΡΑΣ JESSAGENT ΒΑΣΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ O ΠΡΑΚΤΟΡΑΣ REASONER... 78

7 1 ΕΙΣΑΓΩΓΗ Ο Σημασιολογικός Ιστός (Semantic Web) αποτελεί εξέλιξη και επέκταση του υπάρχοντος διαδικτύου. Ο βασικός του στόχος είναι η οργάνωση της πληροφορίας που βρίσκεται διασκορπισμένη στον Παγκόσμιο Ιστό και ο ορισμός της με τέτοιο τρόπο ώστε να είναι πλήρως κατανοητή από τα προγράμματα πράκτορες (agents). Από την εποχή που προτάθηκε για πρώτη φορά ο Σημασιολογικός Ιστός μέχρι και σήμερα έχουν γίνει πολλά και σημαντικά βήματα. Τεχνολογίες και εργαλεία προτάθηκαν, υλοποιήθηκαν και υιοθετήθηκαν στο πέρασμα των χρόνων. Ο Σημασιολογικός Ι- στός έφτασε τελικά σε ένα στάδιο ωριμότητας. Αποτέλεσμα ήταν να αναθεωρηθούν κάποια αρχικά στοιχεία του, ώστε να διορθωθούν ατέλειες και να δοθεί νέα ώθηση στην ερευνητική δραστηριότητα. Έτσι, ιδιαίτερο ερευνητικό ενδιαφέρον δίνεται πλέον σε ένα νέο πεδίο, αυτό της συλλογιστικής (reasoning). Ωστόσο το αρχικό όραμα του Σημασιολογικού Ιστού δεν ήταν απλά η δημιουργία κάποιων νέων τεχνολογιών. Οι αρχικοί εμπνευστές του, οραματίστηκαν μια νέα εποχή όπου ευφυείς πράκτορες θα ήταν σε θέση να κατανοούν και να χρησιμοποιούν όλη την πληροφορία που βρίσκεται στον ιστό, έτσι ώστε να συνεργάζονται μεταξύ τους αποδοτικά και να παράγουν χρήσιμο έργο. Οι ευρεία αποδοχή των τεχνολογιών του Σημασιολογικού Ιστού έχει δημιουργήσει το κατάλληλο υπόβαθρο, αυτό που λείπει πλέον είναι οι ευφυείς πράκτορες. Σε αυτό το πλαίσιο κινείται η παρούσα διπλωματική εργασία, στην υλοποίηση δηλαδή πρακτόρων. Στόχος είναι μέσα σε ένα πολυ-πρακτορικό περιβάλλον να συνεργάζονται αρμονικά διάφοροι πράκτορες ώστε να προκύπτει τελικά ένα χρήσιμο αποτέλεσμα για τον άνθρωπο χρήστη. Το ιδιαίτερο αντικείμενο της εργασίας είναι η δημιουργία μιας υπηρεσίας αναιρέσιμης συλλογιστικής (defeasible reasoning service) για τον Σημασιολογικό Ιστό. Ένας βασικός πράκτορας θα παρέχει την υπηρεσία αυτή και οποιοσδήποτε άλλος θα μπορεί να την χρησιμοποιεί ανεξάρτητα από το πού βρίσκεται. Ως παράδειγμα υλοποίησης ε- πιλέχθηκε ένα σενάριο μεσιτείας, είναι όμως δυνατή και η υλοποίηση πολλών άλλων σεναρίων. -7-

8 Για το περιβάλλον των ευφυών πρακτόρων επιλέχθηκε το πλαίσιο JADE, το οποίο είναι ευέλικτο, σύμφωνο με τις προδιαγραφές της FIPA 1 (Foundation for Intelligent Physical Agents) και παρέχει εύκολη επικοινωνία μεταξύ των πρακτόρων. Ο βασικός πράκτορας που παρέχει την υπηρεσία συνεργάζεται με το σύστημα αναιρέσιμης συλλογιστικής DR-DEVICE, το οποίο και παράγει το τελικό αποτέλεσμα. Από την άλλη, η συμπεριφορά - στρατηγική των υπολοίπων πρακτόρων καθορίζεται από ένα σύνολο κανόνων. Για τη συγγραφή και επεξεργασία των κανόνων αυτών επιλέχθηκε η μηχανή κανόνων Jess. Επιλέχθηκε, η μέθοδος αυτή, για την συμπεριφορά κάθε πράκτορα, καθώς είναι ευέλικτη, αποδοτική, επιτρέπει την εύκολη υλοποίηση οποιουδήποτε σεναρίου και δεν επηρεάζει την ίδια την υπηρεσία συλλογιστικής που παρέχεται. Στα έξι κεφάλαια που ακολουθούν περιγράφονται όλα τα θέματα που αναφέρθηκαν παραπάνω. Συγκεκριμένα: Κεφάλαιο 2: Στο κεφάλαιο αυτό παρουσιάζεται ο Σημασιολογικός Ιστός και τα βασικά χαρακτηριστικά του με ιδιαίτερη έμφαση στην αναθεώρηση της αρχιτεκτονικής του και στην τρέχουσα ερευνητική δραστηριότητα στον τομέα αυτό. Επιπλέον, παρουσιάζονται τα σημαντικότερα χαρακτηριστικά της τεχνολογίας των ευφυών πρακτόρων, οι διαθέσιμες αρχιτεκτονικές και το ιδιαίτερο στοιχείο της επικοινωνίας πρακτόρων. Κεφάλαιο 3: Στο τρίτο κεφάλαιο περιγράφονται οι στόχοι της παρούσας εργασίας, οι λόγοι της ανάπτυξης της καθώς και μια σύντομη παρουσίασή της. Ακόμη, αναλύεται στα βασικά του σημεία το πεδίο της συλλογιστικής, συγκεκριμένα της αναιρέσιμης συλλογιστικής που κατέχει σημαντικό ρόλο στην παρούσα εργασία. Κεφάλαιο 4: Σε αυτό το κεφάλαιο παρουσιάζονται αναλυτικά τρία εργαλεία που χρησιμοποιήθηκαν, το σύστημα αναιρέσιμης συλλογιστικής DR-DEVICE, το πλαίσιο ανάπτυξης πολύ-πρακτορικών συστημάτων Jade και η μηχανή κανόνων Jess. Κεφάλαιο 5: Το κεφάλαιο αυτό περιγράφει λεπτομερώς την παρούσα εφαρμογή. Επεξηγούνται όλα τα στοιχεία που την αποτελούν, αναλύεται η ροή της λειτουργία της, δίνονται παραδείγματα και επεξηγούνται τα αποτελέσματα. Κεφάλαιο 6: Τέλος, παρουσιάζονται τα συμπεράσματα που προέκυψαν κατά την εκπόνηση της παρούσας εργασίας και δίνονται προτάσεις για μελλοντική επέκτασή της. 1 FIPA specification,

9 2 Θεωρητικό Υπόβαθρο 2.1 Σημασιολογικός Ιστός Εισαγωγή Ο Σημασιολογικός Ιστός (Semantic Web) αποτελεί εξέλιξη και επέκταση του υπάρχοντος διαδικτύου, στο περιβάλλον του οποίου η πληροφορία ορίζεται έτσι ώστε να μην είναι κατανοητή μόνο από τον άνθρωπο αλλά και από τα προγράμματα πράκτορες (Agents). Κύριος στόχος, επομένως, του ΣΙ ήταν η ανάπτυξη κατάλληλων τεχνολογιών και εργαλείων που θα οδηγήσουν στην αναπαράσταση της πληροφορίας με μορφή πλήρως κατανοητή από τους πράκτορες. Παραδείγματα τέτοιων τεχνολογιών είναι οι γλώσσες XML, RDF και OWL.[1, 2, 3] Έχοντας πλέον ολοκληρωθεί αυτό το σκέλος της ανάπτυξης, η προσοχή έχει στραφεί στην συλλογιστική (reasoning), η οποία είναι ζωτικό κομμάτι του ΣΙ και απαραίτητη για την εξέλιξη του. Όμως, ο αρχικός σχεδιασμός του ΣΙ δεν υποστηρίζει την συλλογιστική, έτσι η αρχική αρχιτεκτονική του ΣΙ αναθεωρήθηκε διατηρώντας, ωστόσο, το αρχικό όραμα του.[4, 5] Αρχική Αρχιτεκτονική του Σημασιολογικού Ιστού Το 2000, ο Tim Berners-Lee σχεδίασε την διαστρωματική αρχιτεκτονική του Σημασιολογικού Ιστού, όπως αυτή παρουσιάζεται στην Εικόνα 2.1. Σε αυτή την αρχιτεκτονική ο ΣΙ αναπτύσσεται σε βήματα, δημιουργώντας έτσι έναν αριθμό από διακριτά μεταξύ τους επίπεδα. Εικόνα 2.1 : Αρχική Αρχιτεκτονική του ΣΙ κατά Tim Berners-Lee. -9-

10 Το όραμα της πρώτης αρχιτεκτονικής ήταν μια στοίβα γλωσσών - τεχνολογιών, οι οποίες θα εξελίσσονταν βήμα-βήμα, έτσι ώστε κάθε επίπεδο να είναι πλήρως υλοποιημένο πριν την ανάπτυξη του επόμενου επιπέδου. Επομένως, κάθε νέο επίπεδο θα συνέχιζε και θα εξέλυε τη δουλειά που έγινε στο προηγούμενο, επεκτείνοντας τις δυνατότητες του. Θεμέλιο αυτής της αρχιτεκτονικής είναι η RDF [6], τόσο σε συντακτικό όσο και σε σημασιολογικό επίπεδο. Η RDF, λοιπόν, αποτέλεσε την βάση για την δημιουργία των επόμενων γλωσσών του ΣΙ. [1, 2, 3] Όταν πλέον υλοποιήθηκε και το επίπεδο των πιο ισχυρών γλωσσών οντολογιών (ontology languages), δηλαδή της γλώσσας OWL [8] (Web Ontology Language), η προσοχή στράφηκε προς την κατεύθυνση της συλλογιστικής. Στην προσπάθεια ανάπτυξης κατάλληλων γλωσσών (rules languages) διαπιστώθηκε ότι η θεμελιώδης χρήση της RDF οδηγούσε σε μια σειρά προβλημάτων, τόσο συντακτικών όσο και σημασιολογικών, καθώς αδυνατούσε να υποστηρίξει την συλλογιστική. [4, 5] Τελικά, η διαπίστωση ότι αυτή η αρχιτεκτονική αποτελεί μόνο μια υψηλού επιπέδου απεικόνιση του ΣΙ, παραλείποντας σημαντικές λεπτομέρειες του και επομένως δημιουργώντας συντακτικά και σημασιολογικά προβλήματα, οδήγησε στην ανάγκη για μια νέα αναθεωρημένη αρχιτεκτονική. [4, 5] Αναθεωρημένη Αρχιτεκτονική του Σημασιολογικού Ιστού Αντιμετωπίζοντας τα προβλήματα της αρχικής αρχιτεκτονικής, η νέα αναθεωρημένη αρχιτεκτονική παρέχει πλεονεκτήματα διατηρώντας ωστόσο ως ένα βαθμό την διαστρωματική φιλοσοφία του ΣΙ και φυσικά το όραμα του. Αυτή η αναθεωρημένη αρχιτεκτονική παρουσιάζεται στην Εικόνα 2.2, που ακολουθεί. [4, 5] Εικόνα 2.2 : Αναθεωρημένη Αρχιτεκτονική του Σημασιολογικού Ιστού

11 Η RDF λοιπόν, όπως αναφέρθηκε, δεν είναι κατάλληλη για να γίνει ο θεμέλιος λίθος της αρχιτεκτονικής του ΣΙ. Από συντακτικής πλευράς, η φιλοσοφία της RDF προσφέρει τις τριπλέτες (triples), οι οποίες αποτελούν την αποκλειστική συντακτική βάση. Παρόλο, που οι τριπλέτες είναι κατάλληλη μορφή αναπαράστασης για οποιαδήποτε πληροφορία, παρουσιάζουν ένα σημαντικό μειονέκτημα. Όταν η πληροφορία που πρέπει να κωδικοποιηθεί είναι πολύπλοκη, η αναπαράσταση της με τη μορφή των τριπλετων είναι εξαιρετικά δύσκολη και συνήθως καταλήγει σε ένα πολύπλοκο συντακτικό σχήμα, όπου είναι πιθανό να επαναλαμβάνονται τριπλέτες ή ακόμη και να λείπουν, κάνοντας την τελική αναπαράσταση ακατάλληλη. Από σημασιολογικής πλευράς, το πρόβλημα είναι ακόμη μεγαλύτερο. Κάθε τριπλέτα πρέπει να είναι ένα γεγονός και όλα τα γεγονότα (τριπλέτες) πρέπει να αληθεύουν, ανεξάρτητα από την πραγματική πληροφορία που κωδικοποιούν, για να γίνει οποιαδήποτε χρήση τους. Αυτό οδηγεί στην ανάγκη για χρήση πολύπλοκων μηχανισμών επαλήθευσης και αυτό με τη σειρά του είναι πιθανό να οδηγήσει σε σημασιολογικά παράδοξα (semantic paradoxes). Αυτά τα παράδοξα είναι δύσκολο να αντιμετωπιστούν με αποτέλεσμα να προκύπτουν σημασιολογικά χαοτικές καταστάσεις στις γλώσσες ανωτέρων επιπέδων. Επομένως, το πρόβλημα είναι η χρήση τριπλετών για την κωδικοποίηση της πληροφορίας. Για την αντιμετώπιση του προβλήματος θα μπορούσε μεν να διατηρηθεί η χρήση τριπλετών αλλά να μην είναι απαραίτητο αυτές να είναι αληθή γεγονότα. Έτσι, λύνεται το σημασιολογικό ζήτημα αλλά παραμένει το συντακτικό. Οπότε, για να λυθεί το πρόβλημα συνολικά απαιτείται μια διαφορετική προσέγγιση. Σύμφωνα με αυτή τη νέα προσέγγιση, επιτρέπεται διαφορετικό συντακτικό για κάθε γλώσσα του ΣΙ. Έτσι, κάθε γλώσσα, όπως η OWL και οι γλώσσες κανόνων (π.χ.swrl), θα έχει το δικό της συντακτικό και η σημασιολογία της (semantics) θα προστίθενται με επιπλέον κανόνες στο βασικό μοντέλο. Τελικά, αυτή η προσέγγιση υιοθετήθηκε και οδήγησε στην αναθεωρημένη αρχιτεκτονική του ΣΙ, η οποία όπως φαίνεται και στην Εικόνα 2.2 διατηρεί την διαστρωματική λογική της μιας στοίβας. Αυτό συνεπάγεται ότι κάθε σύστημα που αναπτύσσεται θα πρέπει να μπορεί να αντιλαμβάνεται και να προσπελαύνει το συντακτικό χαμηλότερων επιπέδων. -11-

12 2.1.4 Προτεινόμενες Επεκτάσεις της Αρχιτεκτονικής Η αναθεωρημένη αρχιτεκτονική δίνει έμφαση στη διαφορετικότητα κάθε γλώσσας και διατηρεί τη λογική της μιας στοίβας, υιοθετώντας ωστόσο μια πιο χαλαρή εκδοχή της, επιτρέποντας για παράδειγμα τους κανόνες (rules) και τις οντολογίες (OWL) να βρίσκονται στο ίδιο επίπεδο (DLP bit of OWL/Rules). Όμως οι παραδοχές πάνω στις οποίες βασίζεται αυτή η νέα στοίβα, φαίνεται να είναι εσφαλμένες όσον αφορά τις σημασιολογικές σχέσεις μεταξύ των διαφόρων γλωσσών. Έτσι, εμφανίζονται γλώσσες να βρίσκονται σε υψηλότερο επίπεδο από κάποιες άλλες χωρίς ωστόσο να είναι σημασιολογικά συμβατές με αυτές. Μια αντιμετώπιση αυτού του προβλήματος, προτείνεται με την αρχιτεκτονική της Εικόνας 2.3. Αυτή η προσέγγιση προτείνει δυο στοίβες, κάθε μια με διαφορετική σημασιολογία (Datalog First Order). Η πρώτη στοίβα θα βρίσκεται πάνω από το επίπεδο της XML και θα περιλαμβάνει τη σημασιολογία Datalog, ενώ η δεύτερη θα βρίσκεται πάνω από το επίπεδο της RDFS και θα περιλαμβάνει την OWL και άλλες επεκτάσεις πρώτης τάξεως (First Order). Ωστόσο, δεν έχει ακόμη κατορθωθεί να δημιουργηθεί το λογικό πλαίσιο (Logic Framework) που θα περιλαμβάνει και τις δυο σημασιολογίες, γι αυτό και παραλείπεται στο σχήμα της αρχιτεκτονικής. Εικόνα 2.3 : Αρχιτεκτονική ΣΙ με κανόνες Datalog. Μια εναλλακτική προσέγγιση, που διατηρεί τη δομή της μιας στοίβας και ακολουθεί μια ενιαία σημασιολογική προσέγγιση, παρουσιάζεται στην Εικόνα 2.4. Αυτή η προσέγγιση εμφανίζει συγκριτικά πλεονεκτήματα έναντι της προηγούμενης καθώς στο πλαίσιο που υιοθετεί, οι κανόνες (rules) επεκτείνουν τόσο τη δουλειά που έχει γίνει στην RDFS, όσο και στην OWL, δημιουργώντας έτσι ένα κοινό σημασιολογικό πλαίσιο

13 για περαιτέρω ανάπτυξη. Από την άλλη όμως η υιοθέτηση των Datalog κανόνων τελικά οδηγεί σε δύο ΣΙ, τον ΣΙ που βασίζεται στους κανόνες και τον ΣΙ που βασίζεται στις οντολογίες. Καθώς δεν υπάρχει καμία σημασιολογική συνεργασία μεταξύ των δύο αυτών εκδοχών, το πρόβλημα που προκύπτει είναι τεράστιο. Εικόνα 2.4 : Αρχιτεκτονική ΣΙ με κανόνες Πρώτης Τάξεως Οι παραπάνω προτάσεις παρόλο που είναι εξαιρετικά ενδιαφέρουσες, παρουσιάζουν μια σειρά προβλημάτων, γι αυτό και βρίσκονται ακόμη σε στάδιο έρευνας. Βέβαιη ω- στόσο είναι η παραδοχή ότι η αρχιτεκτονική που θα μεγιστοποιήσει τη συμβατότητα με τις υπάρχουσες γλώσσες, ουσιαστικά την RDF και την OWL, θα ωφελήσει ιδιαίτερα την ανάπτυξη του ΣΙ Βασικές Γλώσσες του Σημασιολογικού Ιστού Οι βασικότερες γλώσσες που συνδέθηκαν αλληλένδετα με την ανάπτυξη του ΣΙ και εμφανίστηκαν από την πρώτη κιόλας αρχιτεκτονική που παρουσίασε ο Berners-Lee, είναι η XML, η RDF και η OWL.[6, 7, 8] Η XML (Extensible Markup Language) είναι μια απλή, ευέλικτη γλώσσα που προήλθε από το SGML (Standard Generalized Markup Language), το διεθνές πρότυπο α- ναπαράστασης πληροφορίας. Σχεδιάστηκε για να περιγράφει δεδομένα (data) και μοιάζει αρκετά με την HTML, με τη διαφορά όμως, ότι οι ετικέτες (tags) τις δεν είναι προκαθορισμένες. Ο ορισμός των ετικετών επαφίεται στο χρήστη μέσω ενός εγγράφου δομής Document Type Definition (DTD) ή XML Schema. Η RDF (Resource Description Framework Πλαίσιο Περιγραφής Πόρων) είναι ένα γενικό μοντέλο δηλώσεων αποτελούμενο από δηλώσεις ή ισχυρισμούς (statements) και -13-

14 αναφορές σχετικές με αυτούς. Ουσιαστικά, η γλώσσα RDF επιτρέπει την δημιουργία απλών δηλώσεων για αντικείμενα του διαδικτύου (πόρων). Στην πραγματικότητα η RDF σχεδιάστηκε για πληροφορίες, τις οποίες επεξεργάζονται εφαρμογές και όχι τόσο άνθρωποι-χρήστες. Ένα παράδειγμα εγγράφου RDF παρουσιάζεται στην παρακάτω εικόνα. Εικόνα 2.5 : XML αναπαράσταση RDF εγγράφου. Τέλος, η γλώσσα OWL (Web Ontology Language) είναι μια ισχυρή γλώσσα οντολογιών (ontology language) που επιτρέπει την αναπαράσταση πιο περίπλοκων σχέσεων α- νάμεσα στα αντικείμενα του διαδικτύου. Η OWL ουσιαστικά αποτελεί επέκταση της γλώσσας RDF Schema, η οποία βασίζεται στη RDF και είναι μια αρχική γλώσσα για τη δημιουργία οντολογιών. 2.2 Ευφυείς Πράκτορες Εισαγωγή Η συμβολή των ευφυών πρακτόρων (intelligent agents) στο περιβάλλον του ΣΙ είναι ουσιώδης. Ωστόσο, δεν υπάρχει ακόμη γενικά αποδεκτός ορισμός για την έννοια του ευφυούς πράκτορα. Αυτό συμβαίνει γιατί, αν και υπάρχει μια γενική συμφωνία για το ότι η έννοια της αυτονομίας (autonomy) αποτελεί κεντρικό σημείο στην ιδέα του πράκτορα, το γεγονός ότι ανάλογα με το πεδίο μελέτης διαφοροποιούνται τα χαρακτηριστικά που θεωρούνται σημαντικά καθιστά την υιοθέτηση ενός γενικού ορισμού εξαιρετικά δύσκολη. Στα πλαίσια, ωστόσο, των πολύ-πρακτορικών συστημάτων (multi-agent systems), όπου η αυτοματοποίηση διαδικασιών όπως η διαπραγμάτευση (negotiation) και η μεσιτεία (brokering) είναι σημαντική, η έννοια του πράκτορα αποκτά ιδιαίτερο νόημα. Σύμ-

15 φωνα, λοιπόν, με έναν καλό ορισμό, πράκτορας είναι μια αλληλεπιδραστική οντότητα, μέσα σε ένα κοινό με άλλους πράκτορες περιβάλλον, όπου αντιδρά και ενεργεί με ένα δυναμικό (proactive) ή αντιδραστικό (reactive) τρόπο, σύμφωνα με μια κοινή μορφή αναπαράστασης και επικοινωνίας. [9] Σημαντικό, σε αυτό το σημείο είναι να τονισθούν τα στοιχεία που διαφοροποιούν τους πράκτορες από τα υπόλοιπα προγράμματα. Μια σειρά, λοιπόν, ιδιοτήτων είναι που κάνει τους πράκτορες ιδιαίτερους. Μεταξύ άλλων, οι σημαντικότερες είναι η προσαρμοστικότητα (adaptivity), η αυτονομία (autonomy) και η αντιδραστικότητα (reactivity). Προσαρμοστικότητα είναι η ικανότητα του πράκτορα να μαθαίνει και να βελτιώνεται μέσω της εμπειρίας, αυτονομία είναι η ικανότητα του να ενεργεί ανεξάρτητα κατευθυνόμενος από τους προσωπικούς του στόχους, ενώ αντιδραστικότητα είναι η ικανότητα του να αντιλαμβάνεται και να ενεργεί επιλεκτικά.[10, 11, 12] Αρχιτεκτονικές Πρακτόρων Όπως δεν υπάρχει ένας μοναδικός ορισμός για την έννοια του πράκτορα, έτσι δεν υ- πάρχει και μια μοναδική αρχιτεκτονική. Τα τελευταία χρόνια έχουν προταθεί διάφορες αρχιτεκτονικές (agent architectures), με το εύρος τους να κυμαίνεται από τις αμιγώς αντιδραστικές (reactive) μέχρι τις προσχεδιασμένες (deliberative). Φυσικά, μεταξύ αυτών των άκρων βρίσκονται διάφοροι υβριδικοί συνδυασμοί τους, που επιδιώκουν να εκμεταλλευτούν στο έπακρο τα πλεονεκτήματα κάθε προσέγγισης. Τελικά, το σύνολο των αρχιτεκτονικών μπορεί να ταξινομηθεί σε τέσσερις μεγάλες κατηγορίες, τις βασιζόμενες στη λογική (logic based), τις αντιδραστικές (reactive), τις BDI (belief, desire, intention), και τέλος τις διαστρωματικές (layered) αρχιτεκτονικές. Οι βασιζόμενες στη λογική (logic based) ή αλλιώς συμβολικές (symbolic) αρχιτεκτονικές βασίζονται στις παραδοσιακές τεχνικές (knowledge-based techniques), αναπαριστούν το περιβάλλον συμβολικά και το διαχειρίζονται μέσω μηχανισμών συλλογιστικής. Το πλεονέκτημα τους είναι ότι κωδικοποιούν εύκολα την ανθρώπινη γνώση καθώς είναι και αυτή συμβολική, ωστόσο είναι δύσκολο να μετατραπεί ο πραγματικός κόσμος σε μια ακριβή συμβολική περιγραφή, κάτι που τελικά είναι το σημαντικότερο μειονέκτημα αυτών των αρχιτεκτονικών. Οι αντιδραστικές (reactive) αρχιτεκτονικές, αντίθετα με τις συμβολικές, δεν έχουν κάποιο κεντρικό μοντέλο και γι αυτό δε χρειάζονται πολύπλοκη συλλογιστική. Χρησιμοποιούνται κυρίως για περιπτώσεις λήψης αποφάσεων με βάση τα δεδομένα που προ- -15-

16 κύπτουν από αισθητήρες. Πράκτορες τέτοιας αρχιτεκτονικής λαμβάνουν διάφορες συνθήκες και ανάλογα ενεργούν, χωρίς όμως να κάνουν κανενός είδους σχεδιασμό (planning). Πλεονέκτημα τους είναι ότι αποδίδουν καλύτερα σε δυναμικά περιβάλλοντα, αλλά παρουσιάζουν μια σειρά μειονεκτημάτων μεταξύ των οποίων η αδυναμία τους να μάθουν μέσω της εμπειρίας και η δυσκολία να ενεργήσουν όταν τα δεδομένα από τους αισθητήρες δεν είναι ικανοποιητικά. Οι αρχιτεκτονικές BDI (belief, desire, intention) είναι πιθανότατα οι πιο δημοφιλείς. Έχουν τις ρίζες τους στη φιλοσοφία και παρέχουν μια λογική θεωρία, η οποία προσδιορίζει τις έννοιες της πεποίθησης (belief), της επιθυμίας (desire) και της πρόθεσης (intention). Οι πεποιθήσεις αναπαριστούν την πληροφορία που έχει ο πράκτορας για το περιβάλλον του, οι επιθυμίες αναπαριστούν τις ενέργειες που σχετίζονται με τους στόχους που πρέπει να επιτύχει και οι προθέσεις αναπαριστούν τις επιθυμίες που πρέπει να εκτελέσει π πράκτορας. Τέλος, οι υβριδικές διαστρωματικές (layered) αρχιτεκτονικές επιτρέπουν τόσο αντιδραστικές όσο και προσχεδιασμένες συμπεριφορές. Η οργάνωση της συμπεριφοράς (behavior) του πράκτορα γίνεται σε επίπεδα με δύο τρόπους, είτε οριζόντια (horizontal) είτε κάθετα (vertical), όπως παρουσιάζεται στην Εικόνα 2.6. Το σημαντικότερα πλεονέκτημα αυτής της κατηγορίας είναι ότι επιτρέπει τον εύκολο σχεδιασμό ευφυών πρακτόρων με σύνθετη συμπεριφορά.[10, 11, 12] Εικόνα 2.6 : Οργάνωση των διαστρωματικών αρχιτεκτονικών.

17 2.2.3 Πολυ Πρακτορικά Συστήματα Πολυ πρακτορικό σύστημα (multi-agent system - MAS) είναι ένα περιβάλλον μέσα στο οποίο αναπτύσσεται ένας αριθμός ευφυών πρακτόρων, οι οποίο έχουν είτε κοινούς είτε αντικρουόμενους στόχους. Μέσα σε αυτό το κοινό περιβάλλον οι πράκτορες μπορούν, φυσικά, να επικοινωνούν. Η επικοινωνία τους γίνεται με δύο διαφορετικούς τρόπους, είτε έμμεσα μέσω αλληλεπίδρασης με το ίδιο το περιβάλλον είτε άμεσα μέσω μιας μεταξύ τους επικοινωνίας. Επομένως, όπως είναι φανερό, οι πράκτορες στα ΠΣ άλλοτε συνεργάζονται για την επίτευξη ενός κοινού στόχου και άλλοτε ενεργούνε αυτόνομα για την εξυπηρέτηση των ατομικών τους στόχων. Τα ΠΣ χρησιμοποιούνται ολοένα και περισσότερο σε μια σειρά εφαρμογών από πολύ μικρά συστήματα προσωπικής χρήσης έως κρίσιμα συστήματα βιομηχανικών εφαρμογών. Η σπουδαιότητα τους αυτή οδήγησε στην ανάπτυξη νέων τεχνολογιών, όπως είναι νέες γλώσσες προγραμματισμού και εργαλεία. Αυτές οι νέες γλώσσες ονομάζονται AOL (Agent-Oriented Languages) και έχουν μεγάλες ομοιότητες με τις αντικειμενοστραφείς (object-oriented), χαρακτηριστικό τους είναι ότι επικεντρώνονται στα κύρια χαρακτηριστικά των πολυ πρακτορικών συστημάτων. Σήμερα, υπάρχουν διαθέσιμες αρκετές τέτοιες γλώσσες, άλλες δημιουργήθηκαν εξ αρχής και άλλες αποτελούν επεκτάσεις άλλων γλωσσών. Από την άλλη, οι πλατφόρμες και τα πλαίσια πρακτόρων (Agent Frameworks) είναι εργαλεία που επιτρέπουν την ανάπτυξη πρακτόρων αλλά και πολύ-πρακτορικών συστημάτων. Ορισμένα από αυτά τα πλαίσια έχουν ως στόχο την συμβατότητα με τις προδιαγραφές της FIPA, παράδειγμα τέτοιου πλαισίου είναι το Jade, το οποίο χρησιμοποιείται στην παρούσα εργασία, ενώ άλλα για παράδειγμα επικεντρώνονται σε ειδικής κατηγορίας πράκτορες.[10, 11, 12] Επικοινωνία μεταξύ πρακτόρων Βασικό σημείο σε κάθε πολυ πρακτορικό σύστημα είναι η επικοινωνία και αυτό γιατί κάθε πράκτορας πρέπει να είναι σε θέση να επικοινωνεί με τους χρήστες, το ίδιο το σύστημα αλλά και τους υπόλοιπους πράκτορες. Εξαιρετικό ενδιαφέρον παρουσιάζει η ε- πικοινωνία μεταξύ των πρακτόρων. Η επικοινωνία αυτή πραγματοποιείται με την α- νταλλαγή μηνυμάτων μέσω ειδικών γλωσσών, οι οποίες ονομάζονται γλώσσες επικοινωνίας πρακτόρων (agent communication languages - ACLs). Η πρώτη τέτοια γλώσσα που χρησιμοποιήθηκε ευρέως ήταν η KQML (Knowledge Query and Manipulating Language), ωστόσο η πλέον χρησιμοποιούμενη ACL γλώσσα στις μέρες μας είναι η FIPA ACL (Foundation for Intelligent Physical Agents). -17-

18 Τα πρωταρχικά χαρακτηριστικά την FIPA ACL είναι η δυνατότητα που προσφέρει για χρήση πολλών διαφορετικών γλωσσών περιεχομένου και η δυνατότητα για διαχείριση της επικοινωνίας μέσω προκαθορισμένων πρωτοκόλλων αλληλεπίδρασης (interaction protocols). Η γλώσσα αυτή θεωρεί ότι τα μηνύματα αναπαριστούν ενέργειες, οι οποίες ονομάζονται performatives. Οι πιο χρησιμοποιούμενες ενέργειες, δηλαδή τύποι μηνυμάτων ACL, είναι οι INFORM, REQUEST, AGREE, REFUSE και NOT UN- DERSTOOD, οι οποίες ουσιαστικά αποτελούν τους βασικούς τύπους επικοινωνίας. Τέλος, για να είναι επομένως ένας ευφυής πράκτορας συμβατός με τις προδιαγραφές της FIPA θα πρέπει να είναι σε θέση να αναγνωρίζει οποιοδήποτε τύπο επικοινωνίας (communication act).[10, 11, 12]

19 3 Ειδικότερο Υπόβαθρο 3.1 Αναιρέσιμη Συλλογιστική Εισαγωγή Η αναιρέσιμη συλλογιστική (defeasible reasoning) είναι μια απλή προσέγγιση, που βασίζεται στους κανόνες (rule-based) και μπορεί να χειριστεί αποδοτικά πληροφορία που είναι ελλιπής (incomplete) ή ασυνεπής (inconsistent). Στην προσέγγιση αυτή, η πληροφορία αναπαρίσταται με γεγονότα (facts) και κανόνες (rules), αλλά πρέπει να σημειωθεί ότι καθορίζονται επίσης και οι προτεραιότητες (priorities) μεταξύ των κανόνων αυτών. Τέτοιου είδους συλλογιστική είναι, εκτός των άλλων, ιδιαίτερα χρήσιμη για περιπτώσεις πιθανών συγκρούσεων (ουσιαστικά ασυνεπειών) μεταξύ των στοιχείων της πληροφορίας, γι αυτό και περιέχουν την κλασσική αναίρεση (classical negation) σε αντίθεση με τα συνηθισμένα συστήματα λογικού προγραμματισμού. Επιπλέον, μπορεί να αντιμετωπίσει ακόμη και την αναίρεση ως αποτυχία (negation as failure NAF), τον τυπικό τύπο αναίρεσης για τα μη-μονοτονικά συστήματα λογικού προγραμματισμού. Η αντιμετώπιση της αναίρεσης είναι εξαιρετικά χρήσιμη γιατί στην πραγματικότητα οι συγκρούσεις μεταξύ των κανόνων δεν είναι τίποτα άλλο από το γεγονός ότι το συμπέρασμα του ενός είναι η αναίρεση του άλλου. Ορισμένες περιπτώσεις συγκρούσεων ωστόσο μπορούν να επιλυθούν και με βάση την πληροφορία που παρέχεται από τις προτεραιότητες που ορίστηκαν μεταξύ των κανόνων. Το κύριο πλεονέκτημα που παρουσιάζει, λοιπόν, αυτή η συλλογιστική είναι ότι α- φενός επιτρέπει τον χειρισμό ελλιπούς και ασαφούς πληροφορίας και αφετέρου παρουσιάζει μικρή υπολογιστική πολυπλοκότητα. [13] Η γλώσσα Στην αναιρέσιμη συλλογιστική κάθε αναιρέσιμη θεωρία D (defeasible theory) είναι ουσιαστικά μια τριπλέτα της μορφής (F, R, >), F είναι το σύνολο των γεγονότων, R είναι το σύνολο των κανόνων και > είναι η σχέση προτεραιότητας. Να σημειωθεί ότι κάθε κανόνας μπορεί να ανήκει σε ένα από τα τρία είδη που προσφέρει η συλλογιστική, δηλαδή τους αυστηρούς κανόνες (strict rules), τους αναιρέσιμους (defeasible rules) και τους αναιρέτες (defeaters). -19-

20 Οι αυστηροί κανόνες είναι η κλασσική περίπτωση κανόνων, που αναπαρίστανται με την μορφή Υ Σ και οποτεδήποτε αληθεύει η υπόθεση αληθεύει και το συμπέρασμα του κανόνα. Παράδειγμα τέτοιου κανόνα είναι π.χ. η πρόταση Sons are men, και ο αντίστοιχος κανόνας είναι ο son(x) man(x). Οι αναιρέσιμοι κανόνες από την άλλη μεριά αναπαρίστανται με την μορφή Υ Σ και μπορούν να αναιρεθούν από κάποια αντίθετη πληροφορία (κανόνα). Ένα παράδειγμα είναι η πρόταση Chemicals are typically colored, chemical(x) colored(x), αλλά εάν υπήρχε ένας άλλος κανόνας, π.χ. ένας α- ναιρέτης, που όριζε για κάποιο στοιχείο το αντίθετο θα υπερίσχυε αυτός. Οι αναιρέτες, λοιπόν, αναπαρίστανται με την μορφή Υ ~> Σ και χρησιμοποιούνται μόνο για να αναιρέσουν κάποιο συγκεκριμένο συμπέρασμα. Τέλος, οι σχέσεις προτεραιοτήτων καθορίζουν την σχέση που υπάρχει μεταξύ των κανόνων, ποιος είναι δηλαδή πιο ισχυρός από τον άλλο. Έτσι μεταξύ δύο κανόνων, των r 1 και r 2, που διέπονται από την σχέση r 1 > r 2, ο r 1 ονομάζεται ανώτερος (superior) και ο r 2 κατώτερος (inferior). Οι σχέσεις αυτές είναι εξαιρετικά χρήσιμες γιατί χάρη σε αυτές αποφεύγονται ορισμένες συγκρούσεις. Για παράδειγμα, εάν υπήρχαν δυο κανόνες οι r 1 :Α Β και r 2 :Α Β, τότε ο ένας θα αναιρούσε τον άλλο, ωστόσο εάν ήταν επιπλέον γνωστή η σχέση r 1 > r 2 τότε η σύγκρουση θα είχε αποφευχθεί καθώς θα υπερίσχυε ο r Αναίρεση ως αποτυχία NAF Η αναίρεση ως αποτυχία (negation as failure NAF) είναι ο ένας από τους δύο τύπους αναίρεσης που υποστηρίζει η αναιρέσιμη συλλογιστική. Αυτός ο τύπος αναίρεσης, αν και δεν είναι τόσο ισχυρός όσο η (strong) αναίρεση, είναι χρήσιμος. Χάρη σε αυτήν την αναίρεση (NAF) είναι εφικτό να επιτευχθεί το ζητούμενο με έναν μόνο κανόνα και όχι με μια σειρά κανόνων που θα χρειαζόταν διαφορετικά. Για παράδειγμα, εάν το ζητούμενο είναι να βρεθεί η μεγαλύτερη προσφορά μεταξύ ενός συνόλου προσφορών της μορφής offer(x,y), όπου x είναι αυτός που έκανε την προσφορά και y είναι το ύψος της προσφοράς, τότε ο κατάλληλος για την περίπτωση κανόνας είναι ο offer(x,y), not(offer(x 1,y 1 ), x 1 x, y 1 >y) => max_offer (X,Y). Στο σημείο αυτό πρέπει να σημειωθεί ότι η χρήση της αναίρεσης NAF είναι προαιρετική, καθώς μια αναιρέσιμη θεωρία που χρησιμοποιεί NAF, μπορεί πολύ εύκολα να μετατραπεί σε μια ισοδύναμη που δεν χρησιμοποιεί. Για παράδειγμα, κάθε κανόνας τύ-

21 που r: L1,,Ln, not M1,, not Mk => L μπορεί να αντικατασταθεί με τους εξής κανόνες r: L1,,Ln, pr => L,=> pr, ~L1 => pr, ~Ln => pr.[13] Εννοιολογικές Συγκρούσεις Στην αναιρέσιμη συλλογιστική, όπως έχει ήδη αναφερθεί υπάρχουν συγκρούσεις, οι συγκρούσεις αυτές συνήθως έχουν να κάνουν με το συμπέρασμα του κανόνα. Η πιθανότερη, λοιπόν, περίπτωση σύγκρουσης είναι κανόνες με αντίθετα συμπεράσματα. Ό- μως, αυτή δεν είναι η μοναδική περίπτωση, καθώς αρκετές φορές προκύπτουν ακόμη και εννοιολογικές συγκρούσεις (conflicting literals). Σε αυτή την περίπτωση, δύο ή περισσότερα κατηγορήματα θεωρείται ότι συγκρούονται όταν οι έννοιες τους είναι αντίθετες ή αλληλοσυγκρουόμενες. Σε πραγματικές εφαρμογές αυτή η περίπτωση είναι πολύ συνηθισμένη, για παράδειγμα το ρίσκο που είναι διατεθειμένος να αναλάβει ένας επενδυτής μπορεί να είναι υψηλό (high), μέσο (medium) ή χαμηλό (low). Όπως είναι φυσικό υπάρχουν συγκρούσεις μεταξύ αυτών των κατηγοριών, που πρέπει με κάποιο τρόπο να επιλυθούν. Τέτοιου τύπου προβλήματα λύνονται με την προσθήκη κανόνων, όπως οι παρακάτω για την συγκεκριμένη περίπτωση.. conflict :: low, medium conflict :: low, high conflict :: medium, high Έτσι, εάν για παράδειγμα το ζητούμενο είναι το υψηλό (high), συγκρουόμενοι κανόνες δεν είναι μόνο αυτοί που έχουν high αλλά και αυτοί με το low και medium. Ένα άλλο παράδειγμα, συχνά εμφανιζόμενο σε πραγματικές συνθήκες είναι η διαπραγμάτευση. Σε αυτή την περίπτωση κάθε ενδιαφερόμενος κάνει μια προσφορά offer(x) και τελικά επικρατεί η μεγαλύτερη. Καθώς η προσφορά αυτή είναι ένα θετικό αλφαριθμητικό πρέπει, επιπλέον, να καθοριστεί όπως και στο προηγούμενο παράδειγμα ο κανόνας που περιγράφει την σύγκρουση μεταξύ των αλφαριθμητικών. Στην προκειμένη περίπτωση ο κανόνας αυτός είναι ο C(offer(x)) = { offer(x) { offer(y) y x. Γενικά, όταν προκύπτουν τέτοιου είδους συγκρούσεις, δηλαδή συγκρούσεις μεταξύ εννοιών αλφαριθμητικών η αναιρέσιμη θεωρία πρέπει να αναθεωρηθεί ώστε να συμπεριλαμβάνει και την σύγκρουση αυτή. Για παράδειγμα δεδομένου ενός κανόνα conflict :: L, M, η αναιρέσιμη θεωρία αναθεωρείται με την προσθήκη των εξής κανόνων: -21-

22 ri : q1,q2,,qn L, ri: q1,q2,,qn M ri : q1,q2,,qn M, ri: q1,q2,,qn L ri : q1,q2,,qn => L, ri: q1,q2,,qn => M ri : q1,q2,,qn => M, ri: q1,q2,,qn => L Επιπλέον, κάθε σχέση προτεραιότητας μεταξύ των κανόνων, που υπάρχει στην αρχική θεωρία, πρέπει να μεταφερθεί και στους αντίστοιχους νέους κανόνες που προέκυψαν. Δεδομένου, λοιπόν, δύο κανόνων και μιας σχέσης όπως οι παρακάτω r1: q1,q2,,qn => L r2: p1,p2,,pn => M r1 > r2 η αναθεωρημένη αναιρέσιμη θεωρία θα περιέχει εκτός από τους νέους κανόνες και τις νέες σχέσεις προτεραιοτήτων όπως φαίνεται παρακάτω r1 : q1,q2,,qn => M r2 : p1,p2,,pn => L r1 > r2 r1 > r2 3.2 Στόχοι της Διπλωματικής Εργασίας Το ενδιαφέρον στο περιβάλλον του Σημασιολογικού Ιστού, όπως έχει ήδη παρουσιαστεί, είναι στραμμένο πλέον στην συλλογιστική και τους ευφυείς πράκτορες. Συνεχώς αναπτύσσονται πολυ-πρακτορικά συστήματα (MAS) και η ανάγκη για υπηρεσίες συλλογιστικής, ιδιαίτερα αναιρέσιμης συλλογιστικής, είναι πλέον δεδομένη. Διαπραγματεύσεις, ανεξαρτήτως αντικειμένου, μεταξύ ευφυών πρακτόρων θα ήταν εξαιρετικά δύσκολες, αν όχι αδύνατες, χωρίς τέτοιες υπηρεσίες. Στο πλαίσιο αυτό, η παρούσα διπλωματική εργασία στοχεύει στη δημιουργία μιας υπηρεσίας αναιρέσιμης συλλογιστικής (defeasible reasoning service) για τον Σημασιολογικό Ιστό. Μια υπηρεσία, διαθέσιμη να χρησιμοποιηθεί από οποιονδήποτε πράκτορα, όπου κι αν βρίσκεται αυτός, εύκολα και αποδοτικά. Το ιδιαίτερο με αυτή την υπηρεσία, πέρα από την ευελιξία και την απόδοση της καθώς βασίζεται στο σύστημα DR-DEVICE [22], είναι το γεγονός ότι παρέχεται μέσω ε-

23 νός ευφυούς πράκτορα. Ο πράκτορας αυτός ονομάζεται Reasoner και το περιβάλλον του είναι το πλαίσιο JADE [23]. Το πλαίσιο JADE είναι σύμφωνο με τις προδιαγραφές της FIPA [21] και η ευελιξία του επιτρέπει πολλαπλούς τρόπους επαφής με τον πράκτορα και κατ επέκταση με την υπηρεσία. Οι στόχοι της εργασίας, όμως, δεν περιορίζονται στην προαναφερθείσα υπηρεσία. Υλοποιείται, επιπλέον, ένα σενάριο μεσιτείας με τη συμμετοχή ευφυών πρακτόρων αντιπροσώπων για τον πελάτη και τον μεσίτη, οι οποίο επικοινωνούν τόσο μεταξύ τους όσο και με τον πράκτορα Reasoner που παρέχει την υπηρεσία συλλογιστικής. Το σενάριο αυτό ολοκληρώνεται με επιτυχία και καταδεικνύει τη χρησιμότητα και την απόδοση της υπηρεσίας που παρέχεται από τον πράκτορα Reasoner. Σημαντικό σημείο είναι το γεγονός ότι οι υπόλοιποι πράκτορες, δηλαδή ο πελάτης και ο μεσίτης, υλοποιήθηκαν διαφορετικά από ότι ο ευφυής πράκτορας Reasoner. Η συμπεριφορά στρατηγική τους καθορίστηκε με ένα σύνολο κανόνων, για την συγγραφή και επεξεργασία των οποίων επιλέχθηκε η μηχανή κανόνων Jess [24], μια μέθοδος ευέλικτη και αποδοτική, που δεν επηρεάζει την ίδια την υπηρεσία συλλογιστικής που παρέχεται. Αυτή η ιδιαίτερη επιλογή έγινε για δύο λόγους, αφενός για να μελετηθεί η μηχανή κανόνων και παράλληλα η γλώσσα Jess σε συνδυασμό με τους ευφυείς πράκτορες και το πλαίσιο JADE και αφετέρου για να δημιουργηθεί ένα πλαίσιο εύκολης υιοθέτησης ή αλλαγής της στρατηγικής των ευφυών πρακτόρων. -23-

24

25 4 Εργαλεία 4.1 Εισαγωγή Στην παρούσα διπλωματική εργασία χρησιμοποιήθηκαν ορισμένα σημαντικά εργαλεία, όπως το σύστημα αναιρέσιμης συλλογιστικής DR-DEVICE [22], το πλαίσιο ανάπτυξης πρακτόρων JADE [23] και η μηχανή κανόνων JESS [24]. Κάθε ένα από αυτά αποτέλεσε σημαντικό στοιχείο στην ανάπτυξη της εργασίας στο βαθμό που το αφορούσε. Το σύστημα DR-DEVICE προσφέρει την απαραίτητη υποστήριξη για την παροχή της υπηρεσίας αναιρέσιμης συλλογιστικής από τον ευφυή πράκτορα Reasoner. Το πλαίσιο ανάπτυξης JADE προσέφερε ένα σταθερό περιβάλλον για τους ευφυείς πράκτορες της εφαρμογής, παρέχοντας αρκετές χρήσιμες δυνατότητες. Τέλος, η μηχανή κανόνων JESS προσέφερε την δυνατότητα ανάπτυξης ευφυών πρακτόρων ιδιαίτερου τύπου, στους οποίους είναι πλέον εύκολη η υιοθέτηση και η αλλαγή στρατηγικής. Όλα αυτά τα σημαντικά εργαλεία παρουσιάζονται αναλυτικά στις ενότητες που ακολουθούν. 4.2 Το Σύστημα DR DEVICE Εισαγωγή Το DR-DEVICE [13] είναι ένα σύστημα αναιρέσιμης συλλογιστικής για τον Σημασιολογικό Ιστό. Αναπτύχθηκε πάνω στο σύστημα κανόνων CLIPS και βασίστηκε στο R- DEVICE [14], ένα παλαιότερο παραγωγικό σύστημα κανόνων για RDF μεταδεδομένα. Τα σημαντικότερα χαρακτηριστικά του συστήματος, μεταξύ άλλων είναι: i. η υποστήριξη πολλών τύπων για τους κανόνες αναιρέσιμης λογικής, όπως είναι οι αυστηροί κανόνες (strict rules), οι αναιρέσιμοι (defeasible rules) και αναιρέτες (defeaters) αλλά και η υποστήριξη προτεραιοτήτων μεταξύ των κανόνων. ii. iii. η υποστήριξη επίσης τόσο της κλασσικής αναίρεσης όσο και της αναίρεσης ως αποτυχία (negation- as - failure) η άμεση εισαγωγή RDF οντολογιών και δεδομένων από το διαδίκτυο ως γεγονότα στο πρόγραμμα αναιρέσιμης λογικής. -25-

26 iv. η άμεση εισαγωγή προγραμμάτων αναιρέσιμης λογικής από το διαδίκτυο με το RuleML, ένα συντακτικό κανόνων σύμφωνο με το XML. v. η άμεση εξαγωγή των αποτελεσμάτων του προγράμματος σαν ένα RDF έγγραφο στο διαδίκτυο. Επομένως, το σύστημα DR-DEVICE είναι ένα ισχυρό σύστημα που υποστηρίζει όλα τα στοιχεία της αναιρέσιμης συλλογιστικής, δηλαδή γεγονότα (facts), κανόνες (rules) και οντολογίες (ontologies). Επιπλέον όμως, υποστηρίζει και τα κύρια πρότυπα του Σημασιολογικού Ιστού, RDF, RDFS και RuleML. Τέλος, να σημειωθεί ότι το σύστημα DR-DEVICE έχει και μια απλή και εύχρηστη διεπαφή χρήστη, η οποία παρουσιάζεται στην εικόνα που ακολουθεί. Εικόνα 4.1 : Διεπαφή Χρήστη του Συστήματος DR-DEVICE Αρχιτεκτονική του DR-DEVICE Το σύστημα DR-DEVICE αποτελείται από δύο βασικά στοιχεία, το RDF loader/translator και το rule loader/translator, όπως παρουσιάζεται και στο σχήμα που α- κολουθεί (Εικόνα 4.1).

27 Εικόνα 4.2 : Αρχιτεκτονική του Συστήματος DR-DEVICE. Η λειτουργία του συστήματος μπορεί να αναλυθεί σε μια σειρά έξι βημάτων, τα ο- ποία και παρουσιάζονται αναλυτικά στην συνέχεια. i. Αρχικά, ο χρήστης εισάγει (1) στον rule loader ένα πρόγραμμα κανόνων, δηλαδή εισάγει το URL ή το τοπικό όνομα του σχετικού αρχείου. Το αρχείο αυτό, το πρόγραμμα κανόνων ουσιαστικά, περιέχει μεταξύ άλλων κανόνες σε ένα συντακτικό τύπου RuleML, το URL του RDF εγγράφου με τα δεδομένα, το οποίο θα προωθηθεί στη συνέχεια στον RDF loader, καθώς και το όνομα που θα έχει το τελικό RDF έγγραφο με τα αποτελέσματα που θα προκύψουν. ii. iii. iv. Το παραπάνω RuleML έγγραφο μετατρέπεται (2) σε ένα αμιγώς CLIPS συντακτικό (3) με τη χρήση του Xalan XSLT processor. Κατόπιν, το πρόγραμμα κανόνων του DR-DEVICE μεταφέρεται στον rule translator (4). Εντωμεταξύ, ο RDF loader προσπελαύνει το RDF έγγραφο με τα αρχικά δεδομένα (5) και μετατρέπει τα δεδομένα αυτά σε CLIPS αντικείμενα (6), σύμφωνα με το πρότυπο που χρησιμοποιείται στο R-DEVICE. O rule translator μεταφράζει τους κανόνες αναιρέσιμης λογικής σε κανόνες CLIPS, με μια διαδικασία δύο βημάτων (7, 8). -27-

28 v. Μέσω της μηχανής του CLIPS, εκτελείται η συλλογιστική πάνω στους κανόνες και έτσι τελικά προκύπτει το αποτέλεσμα σε μορφή αντικειμένων (objects) (9). vi. Τέλος, τα παραπάνω αντικείμενα εξάγονται σε ένα RDF/XML έγγραφο, το ο- ποίο και είναι διαθέσιμο προς τον χρήστη Το συντακτικό της γλώσσας του DR-DEVICE Το DR-DEVICE έχει δύο συντακτικά, το πρώτο συμβατό με την RuleML και το δεύτερο όμοιο με το συντακτικό του CLIPS. Στην ενότητα αυτή, ωστόσο, παρουσιάζεται μόνο το πρώτο συντακτικό (RuleML compatible) και όχι το δεύτερο καθώς θεωρείται ιδιαίτερα γνωστό. Οι τρείς τύποι κανόνων που υποστηρίζονται από το DR-DEVICE, αναπαρίστανται στο συντακτικό με συγκεκριμένες λέξεις κλειδιά, τις strictrule για τους αυστηρούς κανόνες, defeasiblerule για τους αναιρέσιμους και defeater για τους αναιρέτες. Οπότε, ένας κανόνας, για παράδειγμα ο r4: bird(x) => flies(x), στο συντακτικό αυτό θα γινόταν όπως παρουσιάζεται παρακάτω στην Εικόνα 4.2. Εικόνα 4.3 : Αναπαράσταση κανόνα σε RuleML. Παρόλο που στο DR-DEVICE χρησιμοποιούνται τα περισσότερα χαρακτηριστικά της RuleML, υπάρχουν και ορισμένα χαρακτηριστικά της γλώσσας του που δεν μπορεί να περιγράψει το DTD έγγραφο της RuleML. Έτσι, στα πλαίσια του συστήματος δημιουργήθηκε ένα νέο DTD, επέκταση του βασικού με επιπλέον χαρακτηριστικά την ισχυ-

29 ρή αναίρεση (strong negation) και την αναίρεση ως αποτυχία (negotiation as failure). Το DTD αυτό παρουσιάζεται στην Εικόνα 4.3 που ακολουθεί. Εικόνα 4.4 : DTD για το RuleML συντακτικό του DR-DEVICE. Τέλος, ιδιαίτερο ενδιαφέρον παρουσιάζουν οι ιδιότητες (attributes) του βασικού στοιχείου (root element) του RuleML εγγράφου, δηλαδή του rulebase. Με την ιδιότητα του rdf_import καθορίζεται το RDF έγγραφο με τα αρχικά δεδομένα, με την rdf_export καθορίζεται η διεύθυνση του αρχείου στο οποίο θα εξαχθούν τα τελικά αποτελέσματα και με την rdf_export_classes καθορίζονται οι κλάσεις των οποίων τα στιγμιότυπα θα εξαχθούν στην RDF/XML μορφή. Παράδειγμα των ιδιοτήτων αυτών παρουσιάζεται στην Εικόνα που ακολουθεί. Εικόνα 4.5 : Οι ιδιότητες του στοιχείου rulebase. -29-

30 4.3 Το πλαίσιο JADE Εισαγωγή Το JADE (Java Agent DΕvelopment Framework) είναι ένα πλαίσιο middle-ware που αναπτύχθηκε από το TILAB (TELECOM ITALIA LAB) για την ανάπτυξη κατανεμημένων πολύ-πρακτορικών (multi-agent) εφαρμογών, πλήρως σύμφωνων με τις προδιαγραφές της FIPA (Foundation for Intelligent Physical Agents Το JADE είναι μια εφαρμογή ανοιχτού κώδικα (open source), πλήρως υλοποιημένη στη γλώσσα Java. Παρουσιάστηκε για πρώτη φορά το 2000 και έχει τέσσερις κινητήριες αρχές: i. Interoperability: Καθώς το JADE είναι σύμφωνο με τις προδιαγραφές της FIPA, οι πράκτορες του μπορούν να συνεργαστούν με οποιονδήποτε άλλο πράκτορα, με την προϋπόθεση ότι και αυτός είναι σύμφωνος με το ίδιο πρότυπο. ii. Uniformity and portability: Το JADE παρέχει ένα ομογενές σύνολο από APIs, τα οποία είναι ανεξάρτητα από το δίκτυο (underlying network) και την έκδοση της Java (Java version), παρέχοντας έτσι ομοιομορφία και φορητότητα. iii. Easy to use: Η πολυπλοκότητα του συστήματος είναι κρυμμένη πίσω από ένα απλό σύνολο APIs, κάνοντας έτσι το JADE ιδιαίτερα εύχρηστο. iv. Pay-as-you-go philosophy: Δεν χρειάζεται οι προγραμματιστές να χρησιμοποιούν όλα τα εργαλεία που παρέχει το JADE. Έτσι, δεν χρειάζεται να γνωρίζουν τίποτα για όλα αυτά, επιτρέποντας τους να ασχοληθούν μόνο με χαρακτηριστικά που τους ενδιαφέρουν. Έτσι, όπως γίνεται φανερό από τα παραπάνω, το JADE παρέχει τόσο μια πλατφόρμα για την εκτέλεση των πρακτόρων όσο και ένα σύνολο εργαλείων για την ανάπτυξη και τον έλεγχο αυτών των πρακτόρων. Επιπλέον, λόγω της φορητότητας, το κατανεμημένο περιβάλλον που παρέχεται από το JADE επιτρέπει τη συμμετοχή στην ίδια πλατφόρμα πολλών διαφορετικών υπολογιστών ακόμη και εάν έχουν διαφορετικό λειτουργικό σύστημα. Η μεγάλη αποδοχή του JADE στην ανάπτυξη πρακτόρων οφείλεται όχι μόνο στο γεγονός ότι παρέχει πλήρως υλοποιημένο το μοντέλο επικοινωνίας 2 πρακτόρων της FI- PA αλλά και στο ότι μέσω της αρχιτεκτονικής επικοινωνίας του επιτρέπει τον εύκολο, 2 το μοντέλο επικοινωνίας πρακτόρων της FIPA υποστηρίζει μεταξύ άλλων πρωτόκολλα αλληλεπίδρασης και μεταφοράς, οντολογίες, μηνύματα ACL (Agent Communication Language), γλώσσες περιεχομένου (content languages) και σχήματα κωδικοποίησης (encoding schemes).

31 αποδοτικό και ευέλικτο χειρισμό μηνυμάτων που ανταλλάσσουν οι πράκτορες. Η βασική αρχή για αυτό είναι η δημιουργία μιας ουράς μηνυμάτων ACL για κάθε πράκτορα και η δυνατότητα πρόσβασης σε αυτή με πολλούς διαφορετικούς τρόπους. Επιπρόσθετα, η μεταφορά των μηνυμάτων αυτών γίνεται με τρόπο απόλυτα διαφανή στο χρήστη, έτσι ο χρήστης έχει την δυνατότητα να επιλέγει κάθε φορά το καταλληλότερο πρωτόκολλο μεταφοράς, μεταξύ πχ. HTTP, Java RMI, IIOP κλπ. Τέλος, πρέπει να σημειωθεί ότι το JADE υποστηρίζει και διασύνδεση με το Jess, ένα Java κέλυφος που υλοποιεί το clips, επιτρέποντας έτσι τον έλεγχο των συλλογιστικών ικανοτήτων των πρακτόρων. Όλα αυτά τα χαρακτηριστικά έκαναν το JADE ένα δημοφιλές σύστημα τόσο μεταξύ των ερευνητών όσο και μεταξύ γνωστών εταιριών, μελών της FIPA.[11, 12, 15, 16, 17, 18] Αρχιτεκτονική του JADE Εισαγωγικά να σημειωθεί ότι το JADE συμπεριλαμβάνει τόσο τις βιβλιοθήκες (πχ. κλάσεις της Java) που χρειάζονται για την ανάπτυξη των εφαρμογών όσο και το runtime περιβάλλον που παρέχει τις βασικές υπηρεσίες που είναι απαραίτητες για την ε- κτέλεση των πρακτόρων. Κάθε στιγμιότυπο του run-time ονομάζεται container (καθώς περιέχει τους πράκτορες). Το σύνολο όλων των containers ονομάζεται πλατφόρμα (platform) και παρέχει ένα ομογενές επίπεδο που αποκρύπτει από τους πράκτορες (όπως ε- πίσης και από τους προγραμματιστές) την πολυπλοκότητα και την ποικιλομορφία των επιμέρους συστατικών (υλικό, λειτουργικό σύστημα, δίκτυο, κλπ.). Το JADE καθώς είναι εξαιρετικά ευέλικτο, είναι κατάλληλο για περιβάλλοντα με περιορισμένους πόρους αλλά επιπλέον έχει ήδη ενσωματωθεί σε πολύπλοκες αρχιτεκτονικές, όπως είναι οι.net και J2EE. Τέλος, μπορεί ακόμη και να εγκατασταθεί σε κινητά τηλέφωνα, με την προϋπόθεση ότι υποστηρίζουν την Java. Εικόνα 4.6 : Αρχιτεκτονική του JADE. -31-

32 Όπως έχει ήδη αναφερθεί, το JADE είναι πλήρως σύμφωνο με τις προδιαγραφές της FIPA, οι οποίες επιπλέον ορίζουν και το γενικό μοντέλο μιας πλατφόρμας πρακτόρων, όπως φαίνεται στην Εικόνα 4.6. Επομένως, σύμφωνα με αυτό το μοντέλο το JADE α- ναλαμβάνει την μεταφορά και την διαχείριση των μηνυμάτων μεταξύ των πρακτόρων αλλά και τη διαχείριση του ίδιου του συστήματος. Τα βασικά χαρακτηριστικά αυτής της αρχιτεκτονικής είναι δύο, το AMS (Agent Management System) και το DF (Directory Facilitator), τα οποία αναλύονται στη συνέχεια. Εικόνα 4.7 : Γενικό μοντέλο μιας πλατφόρμας πρακτόρων. Το AMS (Agent Management System) είναι και το ίδιο ένας πράκτορας, που παρέχει ένα περιβάλλον με πολλές υπηρεσίες για τους πράκτορες που βρίσκονται στην πλατφόρμα. Ουσιαστικά, το AMS είναι ο πράκτορας που έχει τον εποπτικό έλεγχο της πλατφόρμας και παρέχει την υπηρεσία White Pages. Όπως είναι φυσικό κάθε πλατφόρμα έχει το δικό της AMS πράκτορα. Από την άλλη, το DF (Directory Facilitator) είναι επίσης πράκτορας και παρέχει την υπηρεσία Yellow Pages (είναι δηλαδή σαν ένας χρυσός οδηγός). Αναλυτικότερα, ο AMS είναι ο πράκτορας με τον οποίο πρέπει να επικοινωνήσει οποιοσδήποτε άλλος πράκτορας που θέλει να χρησιμοποιήσει την πλατφόρμα. Με αυτή την επικοινωνία ο νέος πράκτορας θα λάβει ένα έγκυρο AID (AID Identifier) κάνοντας έτσι register στην πλατφόρμα. Το AID είναι ένα μοναδικό προσδιοριστικό, που μεταξύ άλλων αποτελείται από ένα μοναδικό καθολικό όνομα. Το όνομα αυτό αποτελείται από το nickname του πράκτορα και την διεύθυνση του διαχωρισμένα από το σύμβολο (@). Για παράδειγμα, ένα τέτοιο όνομα είναι το RMA@IBM:1099/JADE. Όπως φαίνεται από το παράδειγμα, η διεύθυνση αποτελείται από τρία μέρη το όνομα του υπολογιστή (host), τη θύρα (port) και την κατάληξη /JADE. Επιπρόσθετα, ο AMS έχει και ακόμη

33 ένα ρόλο, ελέγχει πλήρως τον κύκλο ζωής κάθε πράκτορα που βρίσκεται στην πλατφόρμα. Ο κύκλος ζωής ενός πράκτορα παρουσιάζεται στην Εικόνα 4.7 και περιγράφεται αμέσως μετά. Εικόνα 4.8 : Ο κύκλος ζωής ενός πράκτορα. Αρχικά, ο πράκτορας δημιουργείται και καθώς δεν έχει κάνει register με τον AMS δεν μπορεί να επικοινωνήσει με κανέναν άλλο πράκτορα. Όταν αρχικοποιείται, κάνει δηλαδή register και παίρνει το AID του αποκτά πλήρη λειτουργικότητα και τίθεται στην κατάσταση active. Στην κατάσταση αυτή μπορεί να εκτελεί κάποια ενέργεια (πχ. αποστολή μηνύματος) ή να κάνει κάποια επεξεργασία (συλλογιστική). Σε οποιαδήποτε χρονική στιγμή ο πράκτορας μπορεί να τεθεί είτε στην κατάσταση waiting (περιμένοντας να συμβεί κάποια ενέργεια) είτε στην κατάσταση suspended (όπου αναστέλλεται κάθε συμπεριφορά του). Τέλος, όταν ο πράκτορας βρίσκεται στην κατάσταση transit σημαίνει ότι μετακινείται και αλλάζει πλατφόρμα. Αντίστοιχα, όσον αφορά στον DF, κάθε πράκτορας που παρέχει κάποια υπηρεσία πρέπει να κάνει register με έναν ή περισσότερους DF πράκτορες, ώστε να δημοσιεύσει την υπηρεσία του. Κάθε DF πράκτορας κρατάει μια λίστα με όλες τις διαθέσιμες υπηρεσίες καθώς και τα αντίστοιχα AID των πρακτόρων που τις παρέχουν. Με αυτό τον τρόπο, ένας τρίτος πράκτορας που χρειάζεται κάποια υπηρεσία, στέλνει ένα μήνυμα στον DF πράκτορα και εκείνος του επιστρέφει τα AID των πρακτόρων που παρέχουν αυτή την υπηρεσία. Γνωρίζοντας πλέον τα AID μπορεί να επικοινωνήσει με όποιον πράκτορα επιθυμεί χωρίς να χρειάζεται πλέον η μεσολάβηση του DF πράκτορα. Η διαδικασία αυτή παρουσιάζεται στην παρακάτω εικόνα. -33-

34 Εικόνα 4.9 : Η υπηρεσία Yellow Pages. Τέλος, στο σημείο αυτό αξίζει να επισημανθεί ο κατανεμημένος χαρακτήρας που παρουσιάζει η αρχιτεκτονική του JADE. Κατανεμημένος χαρακτήρας, συνοπτικά σημαίνει ότι μια πλατφόρμα μπορεί να κατανέμεται σε πολλούς διαφορετικούς υπολογιστές (hosts). Αυτό σε συνδυασμό με όλα τα παραπάνω παρουσιάζονται σε ένα πιθανό σενάριο στην Εικόνα 4.9.[11, 12, 15, 16, 17, 18] Εικόνα 4.10 : Ένα τυπικό σενάριο στο Jade Η Οργάνωση FIPA Η FIPA (Foundation for Intelligent, Physical Agents) ιδρύθηκε το 1996 ως μια διεθνής μη κερδοσκοπική οργάνωση με στόχο την ανάπτυξη προτύπων για την τεχνολογία πρακτόρων (software agent technology). Εκείνη την εποχή οι ευφυείς πράκτορες ήταν γνωστοί μόνο στην ακαδημαϊκή κοινότητα, έτσι η FIPA αποφάσισε να αναπτύξει τα πρότυ-

35 πα που θα έκαναν τους πράκτορες χρήσιμους για ένα μεγάλο αριθμό εφαρμογών και επομένως χρήσιμους για τον βιομηχανικό εμπορικό κόσμο. Οπότε, τελικά, ο πυρήνας της FIPA δομείται από τις εξής βασικές αρχές: Οι τεχνολογίες πρακτόρων παρέχουν μια νέα διέξοδο για την επίλυση παλιών και νέων προβλημάτων. Κάποιες από αυτές τις τεχνολογίες (agent technologies) έχουν ήδη φτάσει σε ένα καλό επίπεδο ωριμότητας. Για να μπορέσουν να χρησιμοποιηθούν ευρέως κάποιες τεχνολογίες πρέπει να προτυποποιηθούν. Η προτυποποίηση των εσωτερικών μηχανισμών των ίδιων των πρακτόρων δεν αποτελεί πρωταρχικό στόχο, παρά μόνο η υποδομή και η γλώσσα που απαιτείται για μια ανοιχτή διαλειτουργικότητα (interoperation). Φυσικά, κατά την διάρκεια όλων αυτών των ετών προτάθηκαν διάφορες ιδέες σχετικές με τους πράκτορες, άλλες τελικά προτυποποιήθηκαν, άλλες βρίσκονται υπό ανάπτυξη και άλλες εντέλει απορρίφθηκαν. Από όλες, όμως, αυτές τις ιδέες τρεις ξεχώρισαν και αποτελούν το κύριο ενδιαφέρον της FIPA, η επικοινωνία των πρακτόρων (agent communication), η διαχείριση πρακτόρων (agent management) και η αρχιτεκτονική τους (agent architecture).[11, 21] 4.4 JESS Εισαγωγή Το Jess [24] είναι μια μηχανή κανόνων (rule engine) και επιπλέον μια ιδιαίτερη γλώσσα (scripting language) που αναπτύχθηκε στα εργαστήρια Sandia National Laboratories. Είναι υλοποιημένο σε Java και γι αυτό είναι κατάλληλο να χρησιμοποιηθεί με οποιοδήποτε σύστημα που βασίζεται στη γλώσσα αυτή (java based). Η αρχική έμπνευση για την ανάπτυξη του ήταν το κέλυφος CLIPS (expert system shell), αυτός είναι και ο λόγος που οι αντίστοιχες γλώσσες (rule languages jess/clips) μοιάζουν τόσο πολύ. Ωστόσο, το jess, αντίθετα με το CLIPS, είναι δυναμικό και προσανατολισμένο στη γλώσσα Java (Java centric), παρέχοντας έτσι άμεσα πλήρη πρόσβαση σε όλα τα χαρακτηριστικά της. Τελικά, το Jess είναι ένα ισχυρό εργαλείο, το οποίο μπορεί να χρησιμοποιηθεί σε ένα μεγάλο εύρος εφαρμογών με πολύ καλή απόδοση. Το ιδιαίτερο που το κάνει τόσο -35-

36 ευέλικτο είναι το γεγονός ότι μπορεί να συνεργαστεί το ίδιο καλά με εφαρμογές που είναι πλήρως υλοποιημένες με την γλώσσα κανόνων του (Jess rule language) αλλά και με εφαρμογές που είναι υλοποιημένες εξ ολοκλήρου στη γλώσσα Java. Επιπλέον, μπορεί να χρησιμοποιηθεί το ίδιο αποδοτικά και με εφαρμογές που αναπτύχθηκαν με ο- ποιονδήποτε συνδυασμό των παραπάνω, δηλαδή της γλώσσας Jess και της Java.[19, 20] Αρχιτεκτονική Όπως έχει ήδη αναφερθεί το Jess μπορεί να χρησιμοποιηθεί σε πολλές διαφορετικές εφαρμογές και με πολλούς διαφορετικούς τρόπους, ανάλογα με την ανάγκη που παρουσιάζεται στο εκάστοτε πρόβλημα. Έτσι, το σημαντικότερο και πρωταρχικό ζήτημα σε κάθε εφαρμογή που αναπτύσσεται με τη βοήθεια του Jess είναι η επιλογή της κατάλληλης αρχιτεκτονικής, μεταξύ των άπειρων πραγματικά εναλλακτικών. Ένας τρόπος για να οργανωθούν οι διάφορες εναλλακτικές, όπως αναφέρουν και οι ίδιοι οι δημιουργοί του, είναι με μια λίστα. Μια τέτοια λίστα, για παράδειγμα, διατάσσεται με βάση το ποσοστό συμμετοχής της γλώσσας Java στην ανάπτυξη της εφαρμογής. Στην εικόνα 4.10 που ακολουθεί παρουσιάζεται η λίστα αυτή με αυξητική διάταξη. Εικόνα 4.11 : Λίστα εναλλακτικών αρχιτεκτονικών για την χρήση του Jess.

37 Οι πολυάριθμες εναλλακτικές, οδήγησαν τελικά και σε υλοποίηση πολυάριθμων εφαρμογών. Οι εφαρμογές που αναπτύχθηκαν με τη βοήθεια του Jess δεν είναι μόνο ακαδημαϊκής φύσης αλλά και εμπορικής. Για παράδειγμα, μεταξύ αυτών των εμπορικών εφαρμογών είναι έμπειρα συστήματα (expert systems), πράκτορες (agents) ακόμη και παιχνίδια (games). Στο σημείο αυτό είναι σημαντικό να τονισθεί η διπλή φύση του Jess. Από την μία είναι μια μηχανή κανόνων (rule engine) και από την άλλη είναι μια γλώσσα προγραμματισμού (Jess language). Στην πρώτη περίπτωση, αυτό που κάνει είναι να εφαρμόσει τους κανόνες ενός προγράμματος (rule based program) πάνω στα κατάλληλα δεδομένα. Οι κανόνες αυτοί μπορεί να είναι εκατοντάδες ή ακόμη και χιλιάδες αλλά το Jess είναι γρήγορο και επομένως η απόδοση του είναι καλή. Στη δεύτερη περίπτωση πρόκειται για μια προγραμματιστική γλώσσα γενικού σκοπού, που έχει την δυνατότητα άμεσης πρόσβασης σε όλες τις κλάσεις και τις βιβλιοθήκες της Java. Πλεονέκτημα της είναι ότι δεν χρειάζεται μεταγλώττιση, σε αντίθεση με τον κώδικα της γλώσσας Java, έτσι μπορεί να εκτελεστεί άμεσα επιτρέποντας την επαυξητική ανάπτυξη μεγάλων προγραμμάτων. Επιπλέον, ένα ακόμη σημαντικό πλεονέκτημα της είναι ότι μπορεί να επεκταθεί εύκολα με εντολές γραμμένες είτε σε Java είτε σε Jess.[19, 20] Η αλληλεπίδραση των γλωσσών Jess και Java Η γλώσσα Jess είναι γενικού σκοπού και έχει απλό και εύκολο συντακτικό, παρόμοιο με αυτό του CLIPS. Αν και το συντακτικό της είναι διαφορετικό από αυτό της γλώσσας Java συνεργάζεται αποδοτικά μαζί της και παρουσιάζει ορισμένες ομοιότητες σε βασικά χαρακτηριστικά. Δεδομένου ότι έχει όλα τα χαρακτηριστικά μιας προγραμματιστικής γλώσσας και ότι δεν χρειάζεται μεταγλώττιση ο κώδικας της, είναι μια εξαιρετικά γρήγορη γλώσσα. Όσον αφορά στη γλώσσα Java η ομοιότητα τους περιορίζεται σε λίγα βασικά χαρακτηριστικά, όπως είναι τα σύμβολα (symbols) που μοιάζουν με τους προσδιοριστές (identifiers) της Java, ή τα λίγα ειδικά σύμβολα της Jess που αντιστοιχούν σε συγκεκριμένες δεσμευμένες λέξεις της Java, όπως για παράδειγμα το σύμβολο nil που είναι το αντίστοιχο null της Java. Ωστόσο, αυτό που ουσιαστικά παρουσιάζει ενδιαφέρον είναι η ικανότητα της να καλεί οποιαδήποτε μέθοδο της Java μέσα από τον κώδικα της. Στην πραγματικότητα, η αλληλεπίδραση Jess Java είναι το δυνατό σημείο του Jess και αυτό που το έκανε αποδεκτό και χρήσιμο για την κοινότητα των προγραμματιστών. -37-

38 Έτσι, από τη μια μέσα από τον κώδικα Java μπορεί να προσπελαστεί κάθε στοιχείο της Jess βιβλιοθήκης και από την άλλη η γλώσσα Jess έχει πλήρη πρόσβαση στην Java. Αποτέλεσμα όλων αυτών είναι να μπορούν να δημιουργηθούν αντικείμενα της Java, να καλούνται οι μέθοδοι τους και γενικά να πραγματοποιείται οποιαδήποτε αλληλεπίδραση με την Java χωρίς να γραφτεί καθόλου Java κώδικας. Χρησιμοποιώντας την γλώσσα Jess είναι επομένως δυνατό να δημιουργηθούν τμήματα Java εφαρμογών ή ακόμη και ολόκληρες εφαρμογές. Το όφελος της χρήσης κώδικα Jess έναντι του κώδικα Java είναι το κέρδος σε χρόνο. Δεν είναι μόνο ότι ο κώδικας Jess εκτελείται άμεσα ενώ αντίστοιχα αυτός της Java πρέπει πρώτα να μεταγλωττιστεί, είναι και ότι στο Jess μπορεί να εκτελεστεί ακόμη και μια μόνο γραμμή κώδικα ενώ στην Java πρέπει να γραφτεί ολόκληρο το πρόγραμμα, να μεταγλωττιστεί και στη συνέχεια να εκτελεσθεί. Επιπλέον, σε περίπτωση προσθήκης νέων λειτουργιών, ο Java κώδικας θα πρέπει να αναδιοργανωθεί ενώ ο Jess όχι.[19, 20]

39 5 Υλοποίηση 5.1 Υπηρεσία Αναιρέσιμης Συλλογιστικής Ο Ευφυής Πράκτορας Reasoner Όπως έχει ήδη αναφερθεί, ένας από τους στόχους της εργασίας είναι η παροχή μιας υ- πηρεσίας αναιρέσιμης συλλογιστικής (defeasible reasoning service) μέσω ενός ευφυούς πράκτορα, του Reasoner. Ο πράκτορας αυτός, υλοποιήθηκε εξ ολοκλήρου στη γλώσσα προγραμματισμού Java, η οποία είναι και η γλώσσα υλοποίησης των πρακτόρων στο πλαίσιο JADE, το περιβάλλον δηλαδή της παρούσας εφαρμογής. Δουλειά του Reasoner είναι να δέχεται αιτήματα από άλλους πράκτορες που επιθυμούν να εφαρμοστεί η αναιρέσιμη λογική σε δεδομένα που κατέχουν και να επιστρέφει σε αυτούς το σωστό αποτέλεσμα. Ο Reasoner, επομένως και η υπηρεσία που παρέχει, είναι διαθέσιμος μέσα από το περιβάλλον του JADE, όπως φαίνεται και στην Εικόνα 5.1 που ακολουθεί. Εικόνα 5.1 : Ο Reasoner.στο περιβάλλον του JADE. Η επαφή με τον πράκτορα μπορεί, κατά περίπτωση, να γίνει με διάφορους τρόπους, η επικοινωνία όμως μαζί του γίνεται μονάχα με μηνύματα ACL συγκεκριμένου τύπου. Ένα νέο αίτημα, για να ληφθεί υπόψη, πρέπει οπωσδήποτε να είναι τύπου REQUEST διαφορετικά ο Reasoner θα το αγνοήσει και θα επιστρέψει στον αποστολέα ένα ενημερωτικό μήνυμα τύπου NOT_UNDERSTOOD. Στην περίπτωση επιτυχούς αιτήματος -39-

40 (τύπου REQUEST) ο πράκτορας μετά την ολοκλήρωση της διαδικασίας επιστρέφει το αποτέλεσμα μέσω μηνύματος τύπου INFORM. Εικόνα 5.2 : Input Output του πράκτορα Reasoner. Στρατηγικής σημασίας είναι το περιεχόμενο αυτών των μηνυμάτων, το οποίο πρέπει να είναι αποκλειστικά η διεύθυνση (path) στην οποία θα βρίσκεται διαθέσιμη η βάση κανόνων (rulebase). Ουσιαστικά, με κάθε αίτηση αυτό που κοινοποιείται στον Reasoner είναι το σημείο από το οποίο θα παραλάβει τα δεδομένα του πελάτη για επεξεργασία. Οι λόγοι της αποστολής μονάχα της διεύθυνσης και όχι για παράδειγμα του συνόλου των δεδομένων είναι μεταξύ άλλων η βελτιστοποίηση της απόδοσης σε χρόνο και χώρο. Πρέπει να σημειωθεί ότι, η ίδια πολιτική ακολουθείται και κατά την αποστολή του τελικού αποτελέσματος. Παράδειγμα των παραπάνω παρουσιάζεται στην Εικόνα 5.3.

41 Εικόνα 5.3 : Ανταλλαγή κατάλληλων ACL μηνυμάτων. Από τη στιγμή που θα ληφθεί ένα αίτημα μέχρι την στιγμή που θα αποσταλεί πίσω το αποτέλεσμα πραγματοποιείται μια διαδικασία διακριτών βημάτων. Αρχικά, εφόσον το μήνυμα ACL που λήφθηκε είναι τύπου REQUEST, ο πράκτορας (Reasoner) παίρνει το περιεχόμενο του και χρησιμοποιώντας την διεύθυνση που βρίσκει εκεί λαμβάνει τα δεδομένα της βάσης κανόνων (rulebase). Πρέπει να σημειωθεί ότι για κάθε νέο αίτημα δημιουργείται και ένα νέο project. Έτσι, όταν ο πράκτορας ετοιμάσει το φάκελο με τα κατάλληλα δεδομένα, καλεί το σύστημα DR-DEVICE για να αναλάβει το συγκεκριμένο θέμα. Όταν, ολοκληρώσει την επεξεργασία των δεδομένων, το DR-DEVICE επιστρέφει το αποτέλεσμα με τη μορφή ενός RDF εγγράφου. Έπειτα, ο Reasoner δημιουργεί ένα αντίγραφο του παραπάνω εγγράφου, σε χώρο ειδικά διαθέσιμο για τον σκοπό αυτό, και στέλνει την μοναδική αυτή διεύθυνση μέσω ACL μηνύματος, τύπου INFORM, πίσω στον αρχικό πράκτορα. Έτσι, ο ενδιαφερόμενος πράκτορας μπορεί να ανακτήσει τα δεδομένα του αποτελέσματος από το σημείο που του υπέδειξε ο Reasoner Τρόποι Επαφής με την Υπηρεσία Στην προηγούμενη ενότητα παρουσιάστηκε αναλυτικά ο ευφυής πράκτορας Reasoner και η υπηρεσία αναιρέσιμης συλλογιστικής που παρέχει. Όπως, επίσης, είναι γνωστό το πλαίσιο JADE παρέχει μια πληθώρα δυνατοτήτων, μεταξύ αυτών η απομακρυσμένη επικοινωνία πρακτόρων και η υπηρεσία Yellow Pages. Έτσι, οποιοσδήποτε πράκτορας επιθυμεί να κάνει χρήση της υπηρεσίας μπορεί να έρθει σε επαφή με τον Reasoner με ορισμένους απλούς αλλά εντελώς διαφορετικούς τρόπους, ωστόσο σε κάθε περίπτωση η επικοινωνία μεταξύ των πρακτόρων γίνεται πάντοτε με την ανταλλαγή μηνυμάτων ACL. Οι τρεις πιθανότερες περιπτώσεις παρουσιάζονται στην συνέχεια. Στην απλούστερη περίπτωση ο ενδιαφερόμενος πράκτορας βρίσκεται στην ίδια πλατφόρμα με τον πράκτορα Reasoner. Το μόνο που έχει να κάνει σε αυτή την περίπτωση είναι μέσω του κατάλληλου ACL μηνύματος να κοινοποιήσει το αίτημα του και να περιμένει την απάντηση. Παράδειγμα τέτοιας περίπτωσης, με τον Reasoner και δύο ενδιαφερόμενους πράκτορες, παρουσιάζεται στην Εικόνα 5.4 που ακολουθεί. -41-

42 Εικόνα 5.4 : Όλοι οι πράκτορες στην ίδια πλατφόρμα του JADE. Μια περισσότερο σύνθετη περίπτωση αλλά εξίσου λειτουργική είναι η περίπτωση όπου ο ενδιαφερόμενος πράκτορας βρίσκεται σε κάποια άλλη απομακρυσμένη πλατφόρμα. Σε αυτή την περίπτωση για να επικοινωνήσει με τον Reasoner πρέπει πρώτα να αποκτήσει πρόσβαση στην πλατφόρμα που βρίσκεται αυτός (remote access) και στη συνέχεια να ζητήσει την βοήθεια του. Ο πιο απλός τρόπος για να αποκτήσει πρόσβαση είναι μέσω της επιλογής "add platform via AMS AID" που παρέχει το JADE. Η χρήση του, όμως, προϋποθέτει τη γνώση της διεύθυνσης της πλατφόρμας που βρίσκεται ο Reasoner καθώς και του ονόματος του AMS πράκτορα αυτής της πλατφόρμας. Ενδεικτικό παράδειγμα παρουσιάζεται στην επόμενη Εικόνα. Εικόνα 5.5 : Διαδικασία πρόσβασης απομακρυσμένης πλατφόρμας. Το αποτέλεσμα της παραπάνω διαδικασίας παρουσιάζεται παρακάτω. Όπως είναι εμφανές, πλέον, κάθε πράκτορας της αρχικής πλατφόρμας μπορεί να επικοινωνήσει με

43 οποιονδήποτε πράκτορα της απομακρυσμένης πλατφόρμας, σαν να βρίσκονται όλοι στην ίδια εικονική πλατφόρμα. Έτσι, όπως και στην προηγούμενη περίπτωση μέσα από απλά ACL μηνύματα πραγματοποιείται η επικοινωνία με τον Reasoner. Εικόνα 5.6 : Περίπτωση απομακρυσμένης πλατφόρμας. Η τρίτη περίπτωση αφορά την υπηρεσία Yellow Pages. Για την περίπτωση που κάποιος πράκτορας επιθυμεί να εντοπίσει μια υπηρεσία αναιρέσιμης συλλογιστικής, ο Reasoner καταχωρείται στον αρμόδιο DF πράκτορα. Η διαδικασία της υπηρεσίας Yellow Pages εκτελείται όπως ορίζεται από το JADE και στη συνέχεια η παροχή της υπηρεσίας συλλογιστικής από τον Reasoner γίνεται όπως και στις προηγούμενες περιπτώσεις, μέσω μηνυμάτων ACL. Να σημειωθεί ότι η υπηρεσία καταχωρείται με το όνομα "Defeasible-Reasoning-Service". Επισκόπιση του DF πράκτορα παρουσιάζεται στη συνέχεια όπου φαίνεται και η καταχώρηση της υπηρεσίας του πράκτορα Reasoner. Εικόνα 5.7 : Περίπτωση αναζήτησης υπηρεσίας μέσω Yellow Pages. -43-

44 5.2 Σενάριο Μεσιτείας Συμμετέχοντες Στην ενότητα αυτή παρουσιάζεται ένα πλήρες παράδειγμα εφαρμογής της αναιρέσιμης λογικής σε ένα σενάριο μεσιτείας (brokering trade scenario). Ειδικότερα, πρόκειται για μια διαδικασία ενοικίασης διαμερίσματος (apartment renting), μια δραστηριότητα δύσκολη και χρονοβόρα. Στο συγκεκριμένο σενάριο 3 εμπλέκονται τρία ανεξάρτητα μέρη, ο πελάτης (customer), ο μεσίτης (broker) και ο πράκτορας που παρέχει την υπηρεσία συλλογιστικής (reasoner). Αυτά τα τρία ανεξάρτητα μέρη αντιπροσωπεύονται από ευφυείς πράκτορες, οι οποίοι επικοινωνούν μεταξύ τους, δημιουργώντας ένα πολυ πρακτορικό σύστημα (Multi-Agent System MAS). Το σύστημα αυτό υλοποιήθηκε στο πλαίσιο που χρησιμοποιείται στην παρούσα εργασία, δηλαδή το JADE. O πελάτης (customer), ο οποίος για παράδειγμα ονομάζεται Carlo, είναι ένας πιθανός ενοικιαστής που επιθυμεί να νοικιάσει ένα διαμέρισμα. Ο Carlo όμως έχει κάποιες απαιτήσεις και θέλει το διαμέρισμα να τις ικανοποιεί, τέτοιες απαιτήσεις για παράδειγμα είναι το μέγεθος του διαμερίσματος, η τοποθεσία και ο όροφος. Επιπλέον, όμως έχει και κάποιες προτιμήσεις, οι οποίες θα πρέπει τελικά να ληφθούν και αυτές υπόψη για να βρεθεί το κατάλληλο διαμέρισμα. Ο μεσίτης (broker), από την άλλη, έχει στην βάση δεδομένων του έναν αριθμό από διαθέσιμα διαμερίσματα. Δουλειά του, λοιπόν, είναι να συνδυάσει τις απαιτήσεις του πελάτη (Carlo) με τα χαρακτηριστικά κάθε διαθέσιμου διαμερίσματος, έτσι ώστε να του προτείνει τελικά όσα από αυτά είναι κατάλληλα. Τέλος, ο reasoner είναι μια ανεξάρτητη υπηρεσία, η οποία έχει την δυνατότητα να εφαρμόζει τους κανόνες της αναιρέσιμης συλλογιστικής σε βάσεις κανόνων που διέπονται από την αναιρέσιμη λογική, παράγοντας το τελικό αποτέλεσμα σε RDF μορφή. Η είσοδος (input) της υπηρεσίας είναι, δηλαδή, μια βάση κανόνων και το αποτέλεσμα (output) είναι ένα RDF αρχείο Απαιτήσεις και Προτιμήσεις του Carlo Ο Carlo, όπως αναφέρθηκε, έχει μια σειρά από απαιτήσεις και προτιμήσεις για το διαμέρισμα που αναζητά. Οι επιθυμίες του αυτές παρουσιάζονται αναλυτικά παρακάτω: 3 Υιοθετήθηκε από το [2].

45 1. Επιθυμεί το διαμέρισμα να είναι τουλάχιστον 45m 2 και να έχει τουλάχιστον 2 υπνοδωμάτια. Εάν το διαμέρισμα βρίσκεται στον 3 ο όροφο ή και ψηλότερα πρέπει οπωσδήποτε να έχει ανελκυστήρα. Επιπλέον, επιθυμεί να επιτρέπονται και τα κατοικίδια. 2. Είναι διατεθειμένος να πληρώσει 300$ για ένα κεντρικό διαμέρισμα 45m 2 και 250$ για ένα παρόμοιο στα προάστια. Επιπλέον, είναι διατεθειμένος να πληρώσει 5$ επιπλέον για κάθε τετραγωνικό μέτρο (m 2 ) για ένα μεγαλύτερο διαμέρισμα και 2$ για κάθε τετραγωνικό μέτρο (m 2 ) κήπου. Συνολικά, δεν μπορεί να πληρώσει περισσότερα από 400$. 3. Τέλος, εάν είχε περισσότερες από μία επιλογές θα προτιμούσε την φθηνότερη. Δεύτερη στη σειρά των προτιμήσεων του είναι η ύπαρξη κήπου ενώ τελευταία στις προτιμήσεις του είναι η ύπαρξη επιπλέον χώρου. Όλα αυτά, όμως, για να χρησιμοποιηθούν θα πρέπει πρώτα να μετατραπούν από την φυσική γλώσσα σε μια κατάλληλη μορφή, δηλαδή να εκφραστούν σε αναιρέσιμη λογική. Στην Εικόνα 5.1 παρουσιάζεται ένα τμήμα από το έγγραφο RuleML που περιέχει τις απαιτήσεις του Carlo. Όπως φαίνεται και στο τμήμα του εγγράφου που παρατίθεται για κάθε ιδιότητα των διαμερισμάτων, παραδείγματος χάρη το μέγεθος ή ο αριθμός των υπνοδωματίων, χρησιμοποιείται ένα συγκεκριμένο κατηγόρημα. Οι οκτώ βασικές ιδιότητες, επομένως, αντιστοιχούν σε οκτώ κατηγορήματα, τα οποία είναι τα εξής: size(x,y), όπου y είναι το μέγεθος του διαμερίσματος x (σε m 2 ) bedrooms(x,y), όπου το διαμέρισμα x έχει y υπνοδωμάτια price(x,y), όπου y είναι η τιμή του διαμερίσματος x floor(x,y), όπου το διαμέρισμα x είναι στον y o όροφο gardensize(x,y), όπου το διαμέρισμα x έχει ένα κήπο μεγέθους y lift(x), σημαίνει ότι υπάρχει ανελκυστήρας pets(x), σημαίνει ότι επιτρέπονται τα κατοικίδια central(x), σημαίνει ότι το διαμέρισμα x βρίσκεται σε κεντρική τοποθεσία -45-

46 Εικόνα 5.8 : Τμήμα RuleML εγγράφου για τις απαιτήσεις του Carlo. Εκτός, όμως, από τα κατηγορήματα που περιγράφουν τις βασικές ιδιότητες των διαμερισμάτων υπάρχουν και άλλα δύο ιδιαίτερα σημαντικά για την σύνταξη των κανόνων. Τα κατηγορήματα αυτά είναι τα: acceptable(x), που σημαίνει ότι το διαμέρισμα x ικανοποιεί τις απαιτήσεις του offer(x,y), που σημαίνει ότι είναι διατεθειμένος να πληρώσει y$ για το x Οι απαιτήσεις του Carlo τελικά, με τη βοήθεια όλων των παραπάνω κατηγορημάτων, αντιπροσωπεύονται μέσω μιας σειράς κανόνων. Ο πρωταρχικός κανόνας θεωρεί ότι όλα τα διαμερίσματα αρχικά είναι αποδεκτά, r1: => acceptable(x). Οι κανόνες που ακολουθούν, ωστόσο, καθορίζουν πότε ένα διαμέρισμα δεν είναι αποδεκτό, δηλαδή ό-

47 ταν δεν ικανοποιεί τις απαιτήσεις του Carlo. Οι κανόνες αυτοί, εξαιρέσεις ουσιαστικά του πρώτου κανόνα (r1), είναι οι: r2: bedrooms(x,y), Y < 2 => acceptable(x) r3: size(x,y), Y < 45 => acceptable(x) r4: pets(x) => acceptable(x) r5: floor(x,y), Y > 2, lift(x) => acceptable(x) r6: price(x,y), Y > 400 => acceptable(x) με r2 > r1, r3 > r1, r4 > r1, r5 > r1 και r6 > r1. Ένα άλλο σημαντικό ζήτημα είναι το ποσό που είναι διατεθειμένος να πληρώσει ο Carlo, οι δύο κανόνες που σχετίζονται με αυτό είναι οι: r7: size(x,y), Y 45, garden(x,z), central(x) => offer(x, Z + 5(Y 45)) r8: size(x,y), Y 45, garden(x,z), central(x) => offer(x, Z + 5(Y 45)) Όπως είναι λοιπόν φυσικό, για να θεωρηθεί κατάλληλο ένα διαμέρισμα πρέπει το ποσό που μπορεί να προσφέρει ο Carlo να είναι τουλάχιστον όσο και το ενοίκιο που ζητά ο ιδιοκτήτης. Έτσι, ο κανόνας r9: offer(x,y), price(x,z), Y < Z => acceptable(x) είναι σαφώς πιο ισχυρός από τον αρχικό, r9 > r1. Πέρα όμως από τις απαιτήσεις ο Carlo έχει και κάποιες προτιμήσεις, οι οποίες όταν ληφθούν υπόψη θα μειώσουν ακόμη περισσότερο τον αριθμό των κατάλληλων διαμερισμάτων. Οι προτιμήσεις του, όπως έχει ήδη αναφερθεί, βασίζονται στην τιμή και το μέγεθος του διαμερίσματος καθώς και στην ύπαρξη κήπου. Οι σχετικοί κανόνες και οι σχέσεις προτεραιοτήτων που τους διέπουν είναι οι εξής: r10: cheapest(x) => rent(x) r11: cheapest(x), largestgarden(x) => rent(x) r12: cheapest(x), largestgarden(x), largest(x) => rent(x) r11 > r10, r12 > r10, r12 > r Διαθέσιμα Διαμερίσματα Τα διαθέσιμα διαμερίσματα που έχει στη διάθεση του ο μεσίτης βρίσκονται σε ένα RDF έγγραφο, μέρος του οποίου παρατίθεται στην Εικόνα που ακολουθεί. Κάθε διαμέρισμα, όπως φαίνεται, είναι και ένας ξεχωριστός RDF πόρος και κάθε ιδιότητα του διαμερίσματος είναι αντίστοιχα ιδιότητα του πόρου. Να σημειωθεί ότι ολόκληρο το έγγραφο είναι διαθέσιμο στην διεύθυνση

48 Εικόνα 5.9 : Τμήμα RDF εγγράφου για τα διαθέσιμα διαμερίσμα Αναλυτική Περιγραφή Σεναρίου Ο Carlo, όπως έχει ήδη αναφερθεί, επιθυμεί να ενοικιάσει ένα διαμέρισμα, έτσι αναθέτει στον πράκτορα του την διεκπεραίωση της απαιτούμενης συναλλαγής. Ο πράκτορας του Carlo, λοιπόν, ξεκινά μια διαδικασία για να φέρει εις πέρας την αποστολή του. Πρώτη ενέργεια, επομένως, του πράκτορα είναι να κοινοποιήσει στον μεσίτη (broker), ουσιαστικά στον πράκτορα του μεσίτη, τις απαιτήσεις του Carlo ζητώντας πίσω όλα τα διαθέσιμα διαμερίσματα που ικανοποιούν τις απαιτήσεις αυτές. Έτσι, με την αποστολή του κατάλληλου μηνύματος από τον πράκτορα του Carlo στον πράκτορα του μεσίτη ολοκληρώνεται το πρώτο (1) βήμα της διαδικασίας. Από την πλευρά του, ο μεσίτης έχει μια λίστα με όλα τα διαθέσιμα διαμερίσματα αλλά δεν μπορεί να συνδυάσει τις ιδιότητες τους με τις απαιτήσεις του πελάτη. Έτσι, για να κατορθώσει να προτείνει τα κατάλληλα διαμερίσματα ζητά την βοήθεια ενός α- νεξάρτητου μέρους, ουσιαστικά μιας ανεξάρτητης υπηρεσίας συλλογιστικής. Η υπηρεσία αυτή, όπως περιγράφηκε σε προηγούμενη ενότητα, παρέχεται από έναν ειδικό πράκτορα, τον Reasoner, ο οποίος χρησιμοποιώντας την μηχανή αναιρέσιμης συλλογιστικής DR-DEVICE επιστρέφει την σωστή απάντηση στο πρόβλημα του μεσίτη. Έτσι, ο

49 μεσίτης (broker), στο δεύτερο (2) βήμα, στέλνει τις απαιτήσεις του πελάτη του και τη λίστα με τα διαθέσιμα διαμερίσματα, περιμένοντας την απάντηση του Reasoner. Μόλις ο Reasoner λάβει ένα αίτημα, καλεί την εφαρμογή DR-DEVICE εφοδιάζοντας την με τα δεδομένα του αιτήματος. Αυτή με τη σειρά της επεξεργάζεται τα δεδομένα και επιστρέφει ένα RDF έγγραφο, το οποίο περιέχει τελικά τα διαμερίσματα που ικανοποιούν όλες τις απαιτήσεις. Όταν το αποτέλεσμα είναι έτοιμο, ο Reasoner ενημερώνει τον μεσίτη και αυτός με τη σειρά του ενημερώνει τον πελάτη. Έτσι, τα βήματα τρία (3) και τέσσερα (4) της διαδικασίας ολοκληρώνονται. Τελικά, ο πελάτης λαμβάνει την απάντηση που ζητά, μια λίστα με τα κατάλληλα διαμερίσματα. Ωστόσο, είναι εξαιρετικά πιθανό η λίστα αυτή να περιέχει περισσότερα από ένα κατάλληλα διαμερίσματα και, έτσι, ο πελάτης πρέπει να διαλέξει ποιο από αυτά προτιμά. Για ακόμη μια φορά, λοιπόν, πρέπει να ζητήσει βοήθεια. Στο πέμπτο (5) βήμα της διαδικασίας, στέλνει ένα αίτημα στον Reasoner αυτή τη φορά, κοινοποιώντας του τη λίστα των διαμερισμάτων που έχει πλέον στην διάθεση του και τις προτιμήσεις του. Όπως είναι αναμενόμενο, ο Reasoner κάνει για ακόμα μια φορά τη δουλειά του, καλεί την εφαρμογή DR-DEVICE και λαμβάνει από αυτή το αποτέλεσμα, δηλαδή το καταλληλότερο διαμέρισμα. Έτσι, ο Reasoner, στο έκτο (6) κατά σειρά βήμα, απαντά και προτείνει την καλύτερη συναλλαγή για τον πελάτη. Τελικά, η διαδικασία ολοκληρώνεται και ο Carlo μπορεί, πλέον, με ασφάλεια να πραγματοποιήσει την καλύτερη δυνατή συναλλαγή, βασισμένη τόσο στις απαιτήσεις του όσο και στις προτιμήσεις του. Όλη αυτή η διαδικασία διεξάγεται σε έξι διακριτά βήματα, όπως αυτά αναλύθηκαν παραπάνω, και παρουσιάζεται γραφικά στη εικόνα που ακολουθεί. Εικόνα 5.10 : Τα έξι διακριτά βήματα του σεναρίου μεσιτείας. -49-

50 5.2.5 Λεπτομέρειες Υλοποίησης Στο σενάριο αυτό, λοιπόν, εμπλέκονται τρία ανεξάρτητα μέρη, ο Customer, ο Broker και ο Reasoner.Οι δύο πρώτοι, ο Customer και ο Broker υλοποιήθηκαν εντελώς διαφορετικά από τον τρίτο, ο οποίος και περιγράφηκε στην προηγούμενο ενότητα. Σημείο κλειδί για τους δύο πρώτους είναι η μηχανή κανόνων, και παράλληλα γλώσσα, Jess. Με τη βοήθεια της καθορίστηκε η συμπεριφορά κάθε πράκτορα, ανεξάρτητα από την υλοποίηση του Reasoner και χωρίς να επηρεάζει στο ελάχιστο ούτε αυτόν ούτε την υπηρεσία αναιρέσιμης συλλογιστικής που παρέχει. Πρέπει να σημειωθεί ότι, το πλαίσιο ανάπτυξης του πολυ-πρακτορικού συστήματος της εργασίας, δηλαδή το JADE, υποστηρίζει την συνεργασία με την μηχανή κανόνων Jess καθώς είναι ευέλικτη και αποδοτική. Έτσι, η συγγραφή και επεξεργασία των κανόνων της συμπεριφοράς στρατηγικής κάθε πράκτορα, με τη χρήση της Jess είναι σχετικά εύκολη και απλή. Το ιδιαίτερο σε αυτή την εργασία, όμως, είναι ότι, δίνεται επιπλέον ευελιξία. Δεν υλοποιείται ένας διαφορετικός πράκτορας για κάθε περίπτωση αλλά ορίστηκε μονάχα ένας. Ο πράκτορας αυτός δέχεται ως όρισμα την διεύθυνση (path) στην οποία βρίσκεται το αρχείο (file.clp), που καθορίζει την συμπεριφορά του πράκτορα, επιτρέποντας έτσι τη χρήση πολλαπλών στιγμιοτύπων του. Κάθε τέτοιο στιγμιότυπο είναι ένας νέος πράκτορας με μια ιδιαίτερη στρατηγική, υλοποιημένη στη γλώσσα Jess. Αποτέλεσμα όλων αυτών είναι η πλέον αποδοτική υλοποίηση του σεναρίου που μελετάται και η δημιουργία ενός πλαισίου, το οποίο θα μπορεί να χρησιμοποιηθεί για την υλοποίηση πληθώρας άλλων περιπτώσεων σεναρίων. Στην προκειμένη περίπτωση, λοιπόν, οι ευφυείς πράκτορες Customer και Broker αποτελούν στιγμιότυπα του γενικού πράκτορα (jessagent) και για τον καθένα από αυτούς συντάχθηκε ένα ξεχωριστό αρχείο τύπου.clp, το μοναδικό ουσιαστικά που διαφοροποιείται. Στην Εικόνα 5.11 που ακολουθεί παρουσιάζονται οι πράκτορες Customer και Broker κατά την αρχικοποίηση τους στο περιβάλλον του JADE. Αρχικά στο περιβάλλον βρίσκεται ο πράκτορας Reasoner, ο οποίος όπως αναλύθηκε στην σχετική ενότητα είναι ενεργός και έτοιμος να δεχθεί νέα αιτήματα από οποιονδήποτε άλλο πράκτορα. Στη συνέχεια εισάγονται διαδοχικά ο μεσίτης και ο πελάτης (Carlo).

51 Εικόνα 5.11 : Αρχικοποίηση για τους πράκτορες Customer και Broker. Τελικά, όταν πλέον εισαχθούν και οι τρεις πράκτορες στο περιβάλλον του JADE (Εικόνα 5.12) ξεκινά άμεσα η διαδικασία του σεναρίου όπως αυτή παρουσιάστηκε στην προηγούμενη ενότητα. Όπως είναι εμφανές και από την εικόνα που ακολουθεί, στο συγκεκριμένο σενάριο θεωρήθηκε, χωρίς να διαδραματίζει καθοριστικό ρόλο, ότι όλοι οι πράκτορες βρίσκονται στην ίδια πλατφόρμα. Εικόνα 5.12 :Οι τρεις πράκτορες του σεναρίου στο περιβάλλον του JADE. Η ανταλλαγή των μηνυμάτων γίνεται όπως καθορίστηκε από τον βασικό πράκτορα Reasoner, δηλαδή μηνύματα τύπου REQUEST για τα αιτήματα, μηνύματα τύπου IN- FORM για τα αποτελέσματα. Με τη βοήθεια του πράκτορα Introspector παρουσιάζεται η αποστολή και λήψη μηνυμάτων για κάθε πράκτορα χωριστά (Εικόνα 5.13). -51-

52 Εικόνα 5.13 : Ο πράκτορες Introspector του JADE. Καλύτερη, ωστόσο, και πιο άμεση εποπτεία της ανταλλαγής μηνυμάτων μεταξύ των πρακτόρων μπορεί να γίνει με τη βοήθεια ενός άλλου πράκτορα του JADE, του Sniffer. Στην Εικόνα 5.14 παρουσιάζεται ο παραπάνω πράκτορας όπου και διακρίνεται εύκολα η αλληλουχία των μηνυμάτων καθώς επίσης και ο τύπος κάθε μηνύματος. Εικόνα 5.14 : Ο πράκτορες Sniffer του JADE. Τέλος, παρουσιάζεται ένα γραφικό πλαίσιο που αναπτύχθηκε στα πλαίσια της διπλωματικής εργασίας για τον πελάτη Carlo, όπου συγκεντρώνονται όλα όσα χρειάζεται. Επάνω αριστερά ορίζεται το αρχείο που καθορίζει την στρατηγική του και ακριβώς από κάτω παρουσιάζονται τα δύο RuleML αρχεία που περιέχουν τις απαιτήσεις και τις προ-

53 τιμήσεις του αντίστοιχα. Με το κουμπί REQUEST ενεργοποιείται ο πράκτορας του Carlo και αρχίζει η διαδικασία, όπως αυτή έχει ήδη περιγραφεί. Στην δεξιά πλευρά εμφανίζονται τα αποτελέσματα που λαμβάνει ο πράκτορας του Carlo, αρχικά από τον μεσίτη (Broker) και τελικά, κάτω δεξιά, από τον ίδιο τον Reasoner που του προτείνει το καταλληλότερο διαμέρισμα. Εικόνα 5.15 : Γραφικό πλαίσιο για τον πράκτορα του Carlo. Οι λόγοι ανάπτυξης του είναι αφενός η ευκολότερη και σφαιρικότερη εποπτεία του πράκτορα και αφετέρου η χρήση του για παρουσίαση του σεναρίου σε πραγματικό χρόνο. -53-

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ανταλλαγή Κανόνων ανάμεσα σε Ευφυείς Πράκτορες στο Σημασιολογικό Ιστό Διπλωματική Εργασία της Καστώρη Γραμματής-Ειρήνης

Διαβάστε περισσότερα

28 Πολυπρακτορικά Συστήµατα

28 Πολυπρακτορικά Συστήµατα ΚΕΦΑΛΑΙΟ 28 28 Πολυπρακτορικά Συστήµατα "There is no such thing as a single agent system". [Woodridge, 2002] Η παραπάνω ρήση από το βιβλίο του M.Wooldridge τονίζει, ίσως µε περισσή έµφαση, ότι είναι πλέον

Διαβάστε περισσότερα

Ευφυείς Τεχνολογίες ----Πράκτορες

Ευφυείς Τεχνολογίες ----Πράκτορες Ευφυείς Τεχνολογίες ----Πράκτορες Ενότητα 4: Αρχιτεκτονικές Ευφυών Πρακτόρων Δημοσθένης Σταμάτης demos@it.teithe.gr www.it.teithe.gr/~demos Μαθησιακοί Στόχοι της ενότητας 4 H κατανόηση των διαφόρων μοντέλων/αρχιτεκτονικών

Διαβάστε περισσότερα

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ ιπλωµατικές 2011-2012 των κ.κ. Βλαχάβα, Βασιλειάδη, Βράκα και Τσουµάκα Θέµατα κ. Ι.

Διαβάστε περισσότερα

Σημασιολογικό Ιστό, Ευφυείς Πράκτορες, Υπηρεσίες Ιστού

Σημασιολογικό Ιστό, Ευφυείς Πράκτορες, Υπηρεσίες Ιστού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Intelligent Systems and Knowledge Processing (ISKP) Group Θέματα Διπλωματικών Εργασιών για το Ακαδημαϊκό Έτος 2010-2011 για το Μεταπτυχιακό Πρόγραμμα

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ:

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ: ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: Υπολογιστικά Συστήµατα & Τεχνολογίες Πληροφορικής ΣΥΓΓΡΑΦΕΑΣ: Γιώργος Γιαννόπουλος, διδακτορικός φοιτητής

Διαβάστε περισσότερα

Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α

Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Δ

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΛΟΓΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (III) ΙΖΑΜΠΩ ΚΑΡΑΛΗ ΑΘΗΝΑ 2008 Σύγχρονεςανάγκες για αναπαράσταση γνώσης

Διαβάστε περισσότερα

Θεωρητική προσέγγιση του Σημασιολογικού Ιστού στο χώρο της πολιτισμικής πληροφορίας: μία πρότυπη εφαρμογή στη βιβλιοθηκονομία

Θεωρητική προσέγγιση του Σημασιολογικού Ιστού στο χώρο της πολιτισμικής πληροφορίας: μία πρότυπη εφαρμογή στη βιβλιοθηκονομία Θεωρητική προσέγγιση του Σημασιολογικού Ιστού στο χώρο της πολιτισμικής πληροφορίας: μία πρότυπη εφαρμογή στη βιβλιοθηκονομία Σοφία Ζαπουνίδου, Αρχειονόμος Βιβλιοθηκονόμος, Πανεπιστήμιο Θεσσαλίας Κεντρική

Διαβάστε περισσότερα

Ευφυείς Τεχνολογίες ----Πράκτορες

Ευφυείς Τεχνολογίες ----Πράκτορες Ευφυείς Τεχνολογίες ----Πράκτορες Ενότητα 5: Πολυπρακτορικά Συστήματα (Πολλαπλών Πρακτόρων) Δημοσθένης Σταμάτης demos@it.teithe.gr www.it.teithe.gr/~demos Μαθησιακοί Στόχοι της ενότητας 5 Η κατανόηση των

Διαβάστε περισσότερα

2. JADE Μια Σύντομη Αναφορά

2. JADE Μια Σύντομη Αναφορά 1 Εισαγωγή 1. FIPA H FIPA (Foundation for Intelligent Physical Agents) είναι μια μη κερδοσκοπική οργάνωση, με έδρα την Γενεύη, που σκοπό έχει την προώθηση της επιτυχίας των βασισμένων σε πράκτορες εφαρμογών.

Διαβάστε περισσότερα

Ευφυείς Τεχνολογίες ----Πράκτορες

Ευφυείς Τεχνολογίες ----Πράκτορες Ευφυείς Τεχνολογίες ----Πράκτορες Ενότητα 7: Επικοινωνία Πρακτόρων στο περιβάλλον JADE Δημοσθένης Σταμάτης demos@it.teithe.gr www.it.teithe.gr/~demos Μαθησιακοί Στόχοι της ενότητας 7 Η κατανόηση του θεωρητικού

Διαβάστε περισσότερα

Ευφυείς Τεχνολογίες ----Πράκτορες

Ευφυείς Τεχνολογίες ----Πράκτορες Ευφυείς Τεχνολογίες ----Πράκτορες Ενότητα 8: Ευφυείς Πράκτορες Ανασκόπηση Τύποι-Εφαρμογές Δημοσθένης Σταμάτης demos@it.teithe.gr www.it.teithe.gr/~demos Ενότητα 8 Ανασκόπηση των Ευφυών Πρακτόρων και των

Διαβάστε περισσότερα

1.2 Jason BDI Αρχιτεκτονική

1.2 Jason BDI Αρχιτεκτονική 1.2 Jason 1.2.1 BDI Αρχιτεκτονική Το Belief-Desire-Intention (BDI) είναι ένα μοντέλο λογισμικού που έχει αναπτυχθεί για τον προγραμματισμό ευφυών πρακτόρων. Χαρακτηρίζεται από την υλοποίηση των πεποιθήσεων,

Διαβάστε περισσότερα

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

Τεχνολογία Ευφυών Πρακτόρων (Intelligent Software Agents)

Τεχνολογία Ευφυών Πρακτόρων (Intelligent Software Agents) Τεχνολογία Ευφυών Πρακτόρων (Intelligent Software Agents) Ορισµός και θεωρητικές θεµελιώσεις Χαρακτηριστικά Αλληλεπίδραση µε το περιβάλλον Θέµατα αναπαράστασης και επικοινωνίας πρακτόρων Ευφυής Πράκτορας:

Διαβάστε περισσότερα

Ευφυείς Τεχνολογίες ----Πράκτορες

Ευφυείς Τεχνολογίες ----Πράκτορες Ευφυείς Τεχνολογίες ----Πράκτορες Ενότητα 3: Εισαγωγή στους Ευφυείς Πράκτορες Δημοσθένης Σταμάτης demos@it.teithe.gr www.it.teithe.gr/~demos Μαθησιακοί Στόχοι της ενότητας 3 H κατανόηση της φύσης των πρακτόρων

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

Διαβάστε περισσότερα

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Επιμέλεια: Καρανικολάου Θεοδώρα Επιβλέπων καθηγητής: Δενδρινός Μάρκος Αθήνα, 2017 Σκοπός Στόχος της πτυχιακής

Διαβάστε περισσότερα

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες

Διαβάστε περισσότερα

Περί της Ταξινόμησης των Ειδών

Περί της Ταξινόμησης των Ειδών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Tel.: +30 2310998051, Ιστοσελίδα: http://users.auth.gr/theodoru Περί της Ταξινόμησης

Διαβάστε περισσότερα

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Eυφυή Πληροφοριακά Συστήματα. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Eυφυή Πληροφοριακά Συστήματα. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Eυφυή Πληροφοριακά Συστήματα Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Ανάγκη για Ευφυή Πληροφοριακά Συστήματα Η συσσώρευση ολοένα και μεγαλύτερου

Διαβάστε περισσότερα

Περιεχόμενα ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Πρόλογος 15

Περιεχόμενα ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Πρόλογος 15 Περιεχόμενα Πρόλογος 15 ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 1 Τεχνητή νοημοσύνη 21 1.1 Εισαγωγή 21 1.2 Ιστορική εξέλιξη 22 1.3 Εφαρμογές Τεχνητής Νοημοσύνης 25 2 Επίλυση Προβλημάτων 29 2.1 Διαμόρφωση

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

Διαβάστε περισσότερα

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου:

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ ΥΠΠΕΘ 04.07.2019 ΕΠΙΜΟΡΦΩΣΗ ΣΤΟ ΝΕΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΥΛΙΚΟ Αντικειμενοστραφής Προγραμματισμός.

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ MANAGEMENT ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ. Ορισμοί

ΕΙΣΑΓΩΓΗ ΣΤΟ MANAGEMENT ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ. Ορισμοί Ορισμοί Ηγεσία είναι η διαδικασία με την οποία ένα άτομο επηρεάζει άλλα άτομα για την επίτευξη επιθυμητών στόχων. Σε μια επιχείρηση, η διαδικασία της ηγεσίας υλοποιείται από ένα στέλεχος που κατευθύνει

Διαβάστε περισσότερα

ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ

ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ ΣΩΤΗΡΙΟΣ ΓΟΥΔΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ Κ.ΤΑΡΑΜΠΑΝΗΣ ΕΞΕΤΑΣΤΗΣ

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 6. Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων. Το RDF Το Warwick Framework. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

ΜΑΘΗΜΑ 6. Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων. Το RDF Το Warwick Framework. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας ΜΑΘΗΜΑ 6 195 Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων Το RDF Το Warwick Framework 196 1 Resource Data Framework RDF Τα πολλαπλά και πολλαπλής προέλευσης σχήµατα παραγωγής δηµιουργούν την ανάγκη δηµιουργίας

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών

Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Λίνα Μπουντούρη - Μανόλης Γεργατσούλης Ιόνιο Πανεπιστήμιο 15ο Πανελλήνιο Συνέδριο Ακαδημαϊκών Βιβλιοθηκών Διαδίκτυο και Επίπεδα ετερογένειας δεδομένων

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

Διαβάστε περισσότερα

Σχεδιασµός Ανάπτυξη Οντολογίας

Σχεδιασµός Ανάπτυξη Οντολογίας Σχεδιασµός Ανάπτυξη Οντολογίας ΈλεναΜάντζαρη, Γλωσσολόγος, Ms.C. ΙΑΤΡΟΛΕΞΗ: Ανάπτυξη Υποδοµής Γλωσσικής Τεχνολογίας για το Βιοϊατρικό Τοµέα Τι είναι η οντολογία; Μιαοντολογίαείναιέναλεξικόόρωνπου διατυπώνονται

Διαβάστε περισσότερα

Πρότυπα και Τεχνολογίες Semantic Web και Web 2.0 και η εφαρμογή τους στην Ηλεκτρονική Διακυβέρνηση

Πρότυπα και Τεχνολογίες Semantic Web και Web 2.0 και η εφαρμογή τους στην Ηλεκτρονική Διακυβέρνηση Πρότυπα και Τεχνολογίες Semantic Web και Web 2.0 και η εφαρμογή τους στην Ηλεκτρονική Διακυβέρνηση Νίκος Λούτας (nlout@uom.gr) http://nikosloutas.com Υποψήφιος Διδάκτορας, Εργαστήριο Πληροφοριακών Συστημάτων,

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Ευθύμιος Ταμπούρης tambouris@uom.gr Επιστημονική Επιχειρηματική Χρήση των Η/Υ Η επιστημονική κοινότητα ασχολείται με τη λύση πολύπλοκων μαθηματικών προβλημάτων

Διαβάστε περισσότερα

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας) Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016 Γεωργία Καπιτσάκη (Λέκτορας) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα συλλογής

Διαβάστε περισσότερα

RobotArmy Περίληψη έργου

RobotArmy Περίληψη έργου RobotArmy Περίληψη έργου Στην σημερινή εποχή η ανάγκη για αυτοματοποίηση πολλών διαδικασιών γίνεται όλο και πιο έντονη. Συνέχεια ακούγονται λέξεις όπως : βελτιστοποίηση ποιότητας ζωής, αυτοματοποίηση στον

Διαβάστε περισσότερα

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ

ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ ΥΠΗΡΕΣΙΑ «TAXISNET» - ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΦΟΡΟΛΟΓΙΚΩΝ ΔΗΛΩΣΕΩΝ ΓΙΑ ΤΟ ΤΜΗΜΑ ΕΣΩΤΕΡΙΚΩΝ ΠΡΟΣΟΔΩΝ ΚΑΙ ΤΗΝ ΥΠΗΡΕΣΙΑ ΦΟΡΟΥ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΤΟΥ ΥΠΟΥΡΓΕΙΟΥ ΟΙΚΟΝΟΜΙΚΩΝ ΤΗΣ ΚΥΠΡΙΑΚΗΣ ΔΗΜΟΚΡΑΤΙΑΣ Οδηγίες

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018 Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

Διαβάστε περισσότερα

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Βασισμένης σε Περιπτώσεις (Case Based Reasoning): Το σύστημα PAS (Property Appraisal System) ΣΤΑΥΡΟΥΛΑ ΠΡΑΝΤΣΟΥΔΗ

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Βασισμένης σε Περιπτώσεις (Case Based Reasoning): Το σύστημα PAS (Property Appraisal System) ΣΤΑΥΡΟΥΛΑ ΠΡΑΝΤΣΟΥΔΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Εκτίμηση αξίας ακινήτων με χρήση Συλλογιστικής Βασισμένης σε Περιπτώσεις (Case Based

Διαβάστε περισσότερα

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αλέξανδρος Βαλαράκος (alexv@iit.demokritos.gr) (alexv@aegean.gr) Υποψήφιος ιδάκτορας Τµήµα Μηχανικών Υπολογιστικών και Πληροφοριακών Συστηµάτων.

Διαβάστε περισσότερα

Ανάπτυξη Συστήματος Διαχείρισης Περιεχομένου με Τεχνολογίες Σημασιολογικού Ιστού και Σημασιολογικής Επιφάνειας Εργασίας

Ανάπτυξη Συστήματος Διαχείρισης Περιεχομένου με Τεχνολογίες Σημασιολογικού Ιστού και Σημασιολογικής Επιφάνειας Εργασίας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ανάπτυξη Συστήματος Διαχείρισης Περιεχομένου με Τεχνολογίες Σημασιολογικού Ιστού και Σημασιολογικής Επιφάνειας Εργασίας

Διαβάστε περισσότερα

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

Διαβάστε περισσότερα

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 1: Σημασιολογία και Μεταδεδομένα Μ.Στεφανιδάκης 5-2-2016. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα2 Προγραμματιστικά Περιβάλλοντα Δημιουργία Εφαρμογών 5.1 Πρόβλημα και Υπολογιστής Τι ονομάζουμε πρόβλημα; Πρόβλημα θεωρείται κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

Διαβάστε περισσότερα

Linked Data for the Masses: Η προσέγγιση και το λογισμικό

Linked Data for the Masses: Η προσέγγιση και το λογισμικό Linked Data for the Masses: Η προσέγγιση και το λογισμικό Γιώργος Αναδιώτης, Πάνος Ανδριόπουλος, Πάνος Αλεξόπουλος, ημήτρης Βεκρής, Αριστοτέλης Ζωσάκης IMC Technologies S.A. 15/05/2010 Linked Data for

Διαβάστε περισσότερα

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

Διαβάστε περισσότερα

Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 1 Δρ. Βασιλική Κούφη Περιεχόμενα 1. Εισαγωγή 2. Κύκλος ζωής ανάπτυξης Βάσεως Δεδομένων 3. Oracle SQL Developer Data

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

Διαβάστε περισσότερα

ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) 2.1 Κωνσταντίνος Ταραμπάνης Καθηγητής Τμήμα Οργάνωσης και Διοίκησης Επιχειρήσεων Πανεπιστήμιο Μακεδονίας Γρ. 307 2310-891-578 kat@uom.gr ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: 2012 2013

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: 2012 2013 ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία Γεώργιος Πετάσης Ακαδημαϊκό Έτος: 2012 2013 ΤMHMA MHXANIKΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ, Πανεπιστήμιο Πατρών, 2012 2013 Τι είναι η γλωσσική τεχνολογία;

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνητή νοημοσύνη

Πληροφορική 2. Τεχνητή νοημοσύνη Πληροφορική 2 Τεχνητή νοημοσύνη 1 2 Τι είναι τεχνητή νοημοσύνη; Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν μέχρι κάποιο

Διαβάστε περισσότερα

2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ: ΑΣΦΑΛΕΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Διαβάστε περισσότερα

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ Ταυτότητα Σεναρίου Τίτλος: Προγραμματίζοντας ένα Ρομπότ Γνωστικό Αντικείμενο: Πληροφορική Διδακτική Ενότητα: Ελέγχω-Προγραμματίζω τον Υπολογιστή Τάξη: Γ Γυμνασίου

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα 10: Ανάπτυξη ΠΣ Μαρίνος Θεμιστοκλέους Email: mthemist@unipi.gr Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Δευτέρα 11-12 πμ Ενδεικτικά Περιεχόμενα Εργασίας

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών

Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών 15ο ΠΑΝΕΛΛΗΝΙΟ ΣΥΝΕΔΡΙΟ ΑΚΑΔΗΜΑΪΚΩΝ ΒΙΒΛΙΟΘΗΚΩΝ Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών ΓΑΪΤΑΝΟΥ ΠΑΝΩΡΑΙΑ gaitanou@benaki.gr

Διαβάστε περισσότερα

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4 Διαδικασίες παραγωγής λογισμικού Στόχοι Παρουσίαση μοντέλων παραγωγής λογισμικού Περιγραφή τριών γενικών μοντέλων παραγωγής λογισμικού και πότε μπορούν να χρησιμοποιούνται Γενική περιγραφή των μοντέλων

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα 4o Εργαστήριο Σ.Α.Ε Ενότητα : Μελέτη και Σχεδίαση Σ.Α.Ε Με χρήση του MATLAB Aναστασία Βελώνη Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 1: Σημασιολογία και Μεταδεδομένα Μ.Στεφανιδάκης 10-2-2017 Η αρχή: Το όραμα του Σημασιολογικού Ιστού Tim Berners-Lee, James Hendler and Ora Lassila, The Semantic

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Παραδοτέο Π.2.1. Υπερχώρος και διαχείριση μοντέλων

Παραδοτέο Π.2.1. Υπερχώρος και διαχείριση μοντέλων Έργο: Τίτλος Υποέργου: «ΘΑΛΗΣ: Ενίσχυση της Διεπιστημονικής ή και Διιδρυματικής έρευνας και καινοτομίας με δυνατότητα προσέλκυσης ερευνητών υψηλού επιπέδου από το εξωτερικό μέσω της διενέργειας βασικής

Διαβάστε περισσότερα

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

Διαβάστε περισσότερα

Speed-0 WMP: Web and Mobile Platform Software Requirements Specification

Speed-0 WMP: Web and Mobile Platform Software Requirements Specification Speed-0 Web and Mobile Platform Speed-0 WMP: Web and Mobile Platform Software Requirements Specification Version Revision History Date Version Description People 5/4/2012 Αρχικές Προδιαγραφές

Διαβάστε περισσότερα

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους του Σταύρου Κοκκαλίδη Μαθηματικού Διευθυντή του Γυμνασίου Αρχαγγέλου Ρόδου-Εκπαιδευτή Στα προγράμματα Β Επιπέδου στις ΤΠΕ Ορισμός της έννοιας του σεναρίου.

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 ELab Π Τ Υ Χ Ι Α

Διαβάστε περισσότερα

Αν σας ενδιαφέρει κάποιο θέμα, δείτε τη σχετική βιβλιογραφία και στείλτε μου για να συναντηθούμε και να το συζητήσουμε.

Αν σας ενδιαφέρει κάποιο θέμα, δείτε τη σχετική βιβλιογραφία και στείλτε μου  για να συναντηθούμε και να το συζητήσουμε. Πτυχιακές και Διπλωματικές Εργασίες για τους προπτυχιακούς και μεταπτυχιακούς φοιτητές του Τμήματος Πληροφορικής και Τηλεπικοινωνιών Ακαδημαϊκό Έτος 2008-2009 Αναπληρωτής Καθηγητής Μανόλης Κουμπαράκης

Διαβάστε περισσότερα