• Nenhum resultado encontrado

Διαμεσολαβητές λογισμικού ως προσωπικοί βοηθοί

N/A
N/A
Protected

Academic year: 2023

Share "Διαμεσολαβητές λογισμικού ως προσωπικοί βοηθοί"

Copied!
78
0
0

Texto

(1)
(2)

Ευχαριστίες

Θα ήθελα να εκφράσω και να απευθύνω τις θερμότερες ευχαριστίες μου στον υπεύθυνο καθηγητή μου, κ. Γαβαλά Δαμιανό, ο οποίος συνέβαλε κατά το μέγιστο να φέρω σε πέρας την εργασία μου. Επιπλέον, θα ήθελα να ευχαριστήσω τους γονείς και τους φίλους (Κατερίνα, Μπάμπη, Στεφανία και Γλυκερία) που με άκουγαν σε στιγμές παράκρουσης και με συνεφέραν.

(3)

Διαμεσολαβητές Λογισμικού ως Προσωπικοί Βοηθοί

Τζέκου Όλγα

Υπεύθυνος: Γαβαλάς Δαμιανός

Περίληψη

Ένας διαμεσολαβητής (agent) αποτελεί λογισμικό που χαρακτηρίζεται από αυτό που μπορεί να κάνει και από αυτό που κάνει στην πραγματικότητα.

Οι διαμεσολαβητές είναι οντότητες που ενεργούν εξ ονόματος άλλων οντοτήτων.

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

Η παρούσα εργασία δεν έχει σκοπό να παρουσιάσει κάποια καινοτομία, αλλά αποτελεί συγκέντρωση σχετικής βιβλιογραφίας και εφαρμογών.

Αναπτύσσονται ο

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

(4)

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΚΕΦΑΛΑΙΟ 1 ... - 1 -

ΕΙΣΑΓΩΓΗ ... - 1 -

ΚΕΦΑΛΑΙΟ 2 ... - 4 -

ΟΡΙΣΜΟΙ ΚΑΙ ΤΥΠΟΙ ΔΙΑΜΕΣΟΛΑΒΗΤΩΝ ... - 4 -

2.1 Ορισμοί ... - 4 -

2.2 Τύποι ... - 4 -

2.2.1 Ευφυείς Διαμεσολαβητές (Intelligent Agents) ... - 5 -

2.2.1.1 Βιομηχανικές εφαρμογές ... - 7 -

2.2.1.2. Εμπορικές εφαρμογές ... - 8 -

2.2.1.3 Ιατρικές εφαρμογές ... - 10 -

2.2.2 Κινητοί Διαμεσολαβητές (Mobile Agents) ... - 11 -

2.2.2.1 AGLET ... - 14 -

2.2.2.2 TCL ... - 14 -

2.2.2.3 ARA (Agent for Remote Action) ... - 14 -

2.2.2.4 CONCORDIA ... - 15 -

2.2.2.5 MOLE ... - 15 -

2.2.2.6 Odyssey ... - 15 -

2.2.2.7 TACOMA (Tromso and Cornell Moving Agent) ... - 16 -

2.2.3 Eυφυείς παιδαγωγικοί διαμεσολαβητές (Pedagogical & Intelligent Pedagogical Agents) ... - 16 -

2.2.3.1 STEVE ... - 17 -

2.2.3.2 ADELE ... - 18 -

2.2.3.3 COSMO ... - 19 -

2.2.3.4 HERMAN ... - 20 -

2.2.4 Προσωπικοί Βοηθοί (Personal Assistants) ... - 21 -

ΚΕΦΑΛΑΙΟ 3 ... - 24 -

3.1 Διαχείριση ηλεκτρονικού ταχυδρομείου ... - 24 -

3.1.1 Noa ... - 25 -

3.1.2 Speaking Email Deluxe ... - 25 -

3.1.3 Talkymail ... - 26 -

3.2 Παρακολούθηση δικτυακών τόπων (web site monitoring) ... - 27 -

3.2.1 Website Watcher ... - 27 -

3.2.2 Timely Web ... - 28 -

3.2.3 Novobot ... - 30 -

3.2.4 Check&Get ... - 30 -

ΚΕΦΑΛΑΙΟ 4 ... - 32 -

4.1 Εισαγωγή ... - 32 -

4.2 Αναλυτική περιγραφή εφαρμογής ... - 35 -

ΚΕΦΑΛΑΙΟ 5 ... - 39 -

ΚΕΦΑΛΑΙΟ 6 ... - 44 -

ΒΙΒΛΙΟΓΡΑΦΙΑ ... - 45 -

ΠΑΡΑΡΤΗΜΑ Α: ΠΗΓΑΙΟΣ ΚΩΔΙΚΑΣ ΕΦΑΡΜΟΓΗΣ ... - 49 -

ΠΑΡΑΡΤΗΜΑ Β: ΔΙΑΦΑΝΕΙΕΣ ΠΑΡΟΥΣΙΑΣΗΣ ... - 67 -

ΠΑΡΑΡΤΗΜΑ Γ: ΣΥΝΟΔΕΥΤΙΚΟ CD ... - 73 -

(5)

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ

Εικόνα 1: STEVE επιδεικνύει λειτουργία σκάφους αμερικανικού

ναυτικού εξοπλισμού[Ref]. ... - 17 -

Εικόνα 2: Η ADELE εξηγεί τη σημαντικότητα ενός περιστατικού[Ref]. .- 19 - Εικόνα 3: Ο COSMO και ο σύμβουλος διαδικτύου[Ref]. ... - 20 -

Εικόνα 4: Ο διαμεσολαβητής HERMAN. ... - 21 -

Εικόνα 5: Noa ... - 25 -

Εικόνα 6: Speaking Email Deluxe ... - 26 -

Εικόνα 7: Speaking Email Deluxe ... - 26 -

Εικόνα 9: TalkyMail ... - 27 -

Εικόνα 10: Website Watcher ... - 28 -

Εικόνα 11: Timely Web ... - 29 -

Εικόνα 12: Timely Web ...

Σφάλμα! Δεν έχει οριστεί σελιδοδείκτης.

Εικόνα 13: Timely Web ... - 29 -

Εικόνα 14: Novobot ... - 30 -

Εικόνα 15: Check&Get ... - 30 -

Εικόνα 16: Παρουσίαση του HTML κώδικα της εφαρμογής προς τον χρήστη ... - 32 -

Εικόνα 17: Παράδειγμα java κώδικα ... - 33 -

Εικόνα 18: Περιβάλλον ανάπτυξης ιστοσελίδων Macromedia Dreamweaver ... - 34 -

Εικόνα 19: Περιβάλλον ανάπτυξης Java κώδικα ... - 34 -

Εικόνα 20: Περιβάλλον του διαμεσολαβητή ... - 39 -

Εικόνα 21: Συμπλήρωση στοιχείων ιστοσελίδας ... - 40 -

Εικόνα 22: Επιλογή τρόπου ενημέρωσης ... - 40 -

Εικόνα 23: Επιλογή περιόδου ελέγχου ... - 41 -

Εικόνα 24: Η πρώτη έκδοση της ιστοσελίδας ... - 41 -

Εικόνα 25: Δεύτερη έκδοση του κώδικα της ιστοσελίδας ... - 42 -

Εικόνα 26: Μήνυμα αλλαγής σελίδας ... - 42 -

Εικόνα 27: Μήνυμα ηλεκτρονικού ταχυδρομείου ... - 43 -

ΠΙΝΑΚΑΣ ΣΧΗΜΑΤΩΝ Σχήμα 1: Αρχιτεκτονική ευφυών διαμεσολαβητών ... - 6 -

Σχήμα 2: Αρχιτεκτονική ARCHON ... - 7 -

Σχήμα 3: OASIS σύστημα πελάτη – εξυπηρετητή ... - 8 -

Σχήμα 4: Ένα περιβάλλον αντίστοιχο του ADEPT ... - 10 -

Σχήμα 5: Βασική δομή ενός κινητού διαμεσολαβητή ... - 11 -

Σχήμα 6: Ένας κινητός διαμεσολαβητής βελτιστοποιεί τη χρήση εύρους ζώνης ενός δικτύου ... - 12 -

Σχήμα 7: Πρότυπο προσωπικού βοηθού ... - 22 -

ΠΙΝΑΚΑΣ ΣΧΕΔΙΑΓΡΑΜΜΑΤΩΝ Σχεδιάγραμμα 1: Λειτουργία της εφαρμογής ... - 35 -

Σχεδιάγραμμα 2: Παρακολούθηση ιστοσελίδας από κάθε thread ... - 36 -

(6)

ΚΕΦΑΛΑΙΟ 1

ΕΙΣΑΓΩΓΗ

Ένας διαμεσολαβητής (agent) αποτελεί λογισμικό που χαρακτηρίζεται από αυτό που μπορεί να κάνει και από αυτό που κάνει στην πραγματικότητα.

Οι διαμεσολαβητές είναι οντότητες που ενεργούν εξ ονόματος άλλων οντοτήτων.

Οι δυνατότητες της τεχνολογίας των διαμεσολαβητών είναι απεριόριστες και μπορούν να χρησιμοποιηθούν σε μια ευρεία ποικιλία εφαρμογών σχεδόν σε κάθε τομέα της ζωής σήμερα[40].

Η έννοια των διαμεσολαβητών βρήκε πραγμάτωση αρχικά με αφηρημένο τρόπο, στα ρομπότ (robot) – φυσικές οντότητες που πραγματοποιούν προκαθορισμένους στόχους για το λογαριασμό των ανθρώπων. Σύντομα πήραν τη μορφή λογισμικών, τα οποία είναι εξοπλισμένα με συγκεκριμένα χαρακτηριστικά και εκτελούν καθορισμένους στόχους. Οι διαμεσολαβητές εξαπλώθηκαν γρήγορα στο χώρο της τεχνητής νοημοσύνης (Artificial Intelligence) και στη κατανεμημένη τεχνητή νοημοσύνη (Distributed Artificial Intelligence). Πολλές εφαρμογές στο ηλεκτρονικό εμπόριο (e-commerce), στη βιομηχανία κλπ. χρησιμοποίησαν το παράδειγμα των διαμεσολαβητών εκτενώς.

Ορισμένοι τύποι διαμεσολαβητών αποτελούν λογισμικά τα οποία έχουν την ικανότητα να μεταναστεύουν ανάμεσα σε διάφορες τοποθεσίες και να εκτελούν τις απαιτούμενες από τον χρήστη ενέργειες. Χρησιμοποιούνται για τη βελτίωση και ενίσχυση της απόδοσης ενός συστήματος και παρέχονται με τις ιδιότητες της νοημοσύνης, της επικοινωνίας και της προσαρμοστικότητας για την εκτέλεση του παραπάνω στόχου[40].

Η παρούσα εργασία δεν έχει σκοπό να παρουσιάσει κάποια καινοτομία, αλλά αποτελεί συγκέντρωση σχετικής βιβλιογραφίας και εφαρμογών.

Αποτελείται από δύο θεματικές ενότητες. Η πρώτη ενότητα (κεφάλαια 2-3) μελετά ορισμούς, συστήματα και εφαρμογές διαμεσολαβητών. Επίσης επικεντρώνεται σε εφαρμογές διαμεσολαβητών ως προσωπικών βοηθών (personal assistants). Οι εφαρμογές αυτές αφορούν στην οργάνωση ηλεκτρονικού ταχυδρομείου καθώς και στην παρακολούθηση ιστοσελίδων (web site monitoring). Η δεύτερη ενότητα (κεφάλαια 4-5) παρουσιάζει και περιγράφει τη λειτουργία μιας εφαρμογής προσωπικού βοηθού, που αναπτύχθηκε στα πλαίσια αυτής της πτυχιακής εργασίας.

Αναλυτικά, στην πρώτη ενότητα αναπτύσσονται:

 Κεφάλαιο 2: Ορισμοί που υπάρχουν για τους διαμεσολαβητές καθώς και τύποι διαμεσολαβητών, οι οποίοι αναλύονται παρουσιάζοντας ορισμούς, περιγραφές και εφαρμογές για τον καθένα.

 Κεφάλαιο 3: Εφαρμογές προσωπικών βοηθών κυρίως για παρακολούθηση ιστοσελίδων αντίστοιχες με την εφαρμογή που πραγματοποιήθηκε.

(7)

Στην δεύτερη ενότητα αναπτύσσονται:

 Κεφάλαιο 4: Αναλυτική περιγραφή της εφαρμογής, η οποία πραγματοποιήθηκε, τα εργαλεία που χρησιμοποιήθηκαν για την ανάπτυξη καθώς και αναλυτική παρουσίαση.

 Κεφάλαιο 5: Επίδειξη της λειτουργίας της εφαρμογής σε ένα πλήρες σενάριο χρήσης.

Η εργασία κλείνει με ένα ανεξάρτητο κεφάλαιο:

 Κεφάλαιο 6: Συμπεράσματα για όσα παρουσιάστηκαν στα προηγούμενα κεφάλαια και πιθανές μελλοντικές επεκτάσεις της εφαρμογής που αναπτύχθηκε.

Η εφαρμογή που υλοποιήθηκε αφορά έναν διαμεσολαβητή με ρόλο προσωπικού βοηθού, ο οποίος παρακολουθεί ιστοσελίδες. Συγκεκριμένα, ο χρήστης ορίζει τις σελίδες για τις οποίες επιθυμεί να ενημερώνεται για τυχόν αλλαγές στο περιεχόμενό τους. Σε τακτές περιόδους, η διάρκεια των οποίων επίσης ορίζεται από τον χρήστη, ο διαμεσολαβητής «κατεβάζει» τις υπό- παρακολούθηση σελίδες και ελέγχει το περιεχόμενό τους αναζητώντας αλλαγές σε σχέση με τον προηγούμενο έλεγχο. Κίνητρο για την ανάπτυξη της εφαρμογής αποτελεί να απαλλαγεί ο χρήστης από την επαναλαμβανόμενη πρόσβαση σε κάποιες ιστοσελίδες αναζητώντας τυχόν αλλαγές στο περιεχόμενό τους (στις περισσότερες περιπτώσεις, αυτή η επαναλαμβανόμενη πρόσβαση είναι χωρίς νόημα, αφού το περιεχόμενο των ιστοσελίδων συνήθως, σπανίως ανανεώνεται).

Ο προσωπικός βοηθός έρχεται να αυτοματοποιήσει αυτή τη διαδικασία και να απαλλάξει το χρήστη απ’ αυτό το καθήκον.

(8)

ΠΡΩΤΗ ΕΝΟΤΗΤΑ

(9)

ΚΕΦΑΛΑΙΟ 2

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

2.1 Ορισμοί

Οι διαμεσολαβητές λογισμικού (software agent) έχουν απασχολήσει και καθοριστεί από πολλούς ερευνητές διαφόρων ειδικοτήτων. Ο όρος διαμεσολαβητής φέρνει αυτόματα τη σκέψη μιας εξωτερικής οντότητας, η οποία πραγματοποιεί και εκτελεί απαιτήσεις κάποιου άλλου. Ο όρος αυτός όπως αναγνωρίζεται στον τομέα των υπολογιστών, είναι μία μηχανική οντότητα ή ένα πρόγραμμα, το οποίο εκτελεί προκαθορισμένους στόχους και αλληλεπιδρά με τον χρήστη για την τελειοποίηση αυτών[40]

.

Κατά κύριο λόγο ο όρος του διαμεσολαβητή δηλώνει τη δυνατότητά του να δρα εκ μέρους κάποιου άλλου για να πραγματοποιήσει έναν ιδιαίτερο στόχο που έχει μεταβιβαστεί σε αυτόν. Επίσης ένα δεύτερο θεμελιώδες χαρακτηριστικό του είναι η μέχρι ενός σημείου αυτονομία του. Μία τρίτη σημαντική πτυχή της συμπεριφοράς ενός διαμεσολαβητή είναι η ικανότητα ελέγχου μιας κατάστασης και η ικανότητα άμεσης αντίδρασης σε αυτή. Τελικά οι διαμεσολαβητές παρουσιάζουν διάφορες άλλες ιδιότητες, οι βασικότερες των οποίων είναι η εκμάθηση, α συνεργασία και η κινητικότητα. Στην ουσία η έννοια των διαμεσολαβητών μπορεί να συνοψιστεί στον παρακάτω καθορισμό.

Ένας διαμεσολαβητής είναι μία υπολογιστική οντότητα η οποία [19]:

 δρα εξ ονόματος άλλων οντοτήτων σε ένα αυτόνομο μοντέλο

 εκτελεί τις ενέργειές του με ένα επίπεδο ενεργητικότητας και άμεσης αντίδρασης

 παρουσιάζει μία σειρά ιδιοτήτων όπως η εκμάθηση, η συνεργασία και η κινητικότητα.

Υπάρχουν διάφοροι διαμεσολαβητών, όμως απουσιάζει μια ακριβείς αντιστοίχηση μεταξύ τους. Συνήθως συμφωνούν σε μερικές μόνο πτυχές τους, όπως αυτονομία, προσαρμοστικότητα και την ικανότητα επικοινωνίας. Οι ιδιότητες αυτές σήμερα είναι άμεσα συνδεδεμένες με τους ευφυέστερους πράκτορες που έχουν αναπτυχθεί και συνεχίζουν να αναπτύσσονται.

2.2 Τύποι

Οι διαμεσολαβητές ταξινομούνται ανάλογα με τα χαρακτηριστικά τους.

Έτσι έχουμε τους ευφυείς διαμεσολαβητές (intelligent agents), τους κινητούς διαμεσολαβητές (mobile agents), τους παιδαγωγικούς (pedagogical agents) και τους ευφυείς παιδαγωγικούς διαμεσολαβητές (intelligent pedagogical agents) και τέλος τους προσωπικούς βοηθούς (personal assistants), στους οποίους θα

(10)

αναφερθούμε εκτενέστερα καθώς αποτελούν και αντικείμενο της εφαρμογής που αναπτύχθηκε.

2.2.1 Ευφυείς Διαμεσολαβητές (Intelligent Agents)

Οι ευφυείς διαμεσολαβητές είναι ένας νέος κλάδος για την ανάπτυξη εφαρμογών λογισμικού. Ευφυής διαμεσολαβητής είναι λογισμικό που πραγματοποιεί μια εργασία που του έχει δοθεί, χρησιμοποιώντας πληροφορίες που αντλεί από το περιβάλλον του και δρα με τον κατάλληλο τρόπο, ώστε να την διεκπεραιώσει με επιτυχία. Το λογισμικό θα πρέπει να είναι ικανό να προσαρμόζεται σε αλλαγές που συμβαίνουν στο περιβάλλον του, ώστε να οδηγείται στο επιθυμητό αποτέλεσμα[26].

Οι ευφυείς διαμεσολαβητές ενεργούς εκ μέρους ενός χρήστη ή μέσω μιας αυτοματοποιημένης διαδικασίας. Σε γενικές γραμμές λειτουργούν μάλλον αυτόνομα και μπορούν να επικοινωνούν με τον χρήστη, με τους πόρους του συστήματος και με άλλους διαμεσολαβητές, ανάλογα με τους σκοπούς που εξυπηρετούν. Επιπλέον οι πιο προηγμένοι διαμεσολαβητές μπορούν να συνεργαστούν και με άλλους για να πραγματοποιήσουν τον στόχο τους, επεκτείνοντας έτσι τις ικανότητες των διαμεσολαβητών ατομικά. Τέλος, ως μεταφερόμενα ή ακόμα και ενεργά αντικείμενα, έχουν τη δυνατότητα να μετακινούνται από το ένα σύστημα σε άλλο, με σκοπό την πρόσβαση σε απομακρυσμένους πόρους ή την άντληση πληροφοριών ή τη συνεργασία με άλλους διαμεσολαβητές.

Σε γενικές γραμμές οι ευφυείς διαμεσολαβητές χαρακτηρίζονται από μία σειρά ιδιοτήτων οι οποίες είναι[43] :

 Νοημοσύνη Διαμεσολαβητών (Agent Intelligence): Αυτή η συμπεριφορά δείχνει τη μέθοδο που χρησιμοποιείται για την ανάπτυξη της λογικής των διαμεσολαβητών ή «νοημοσύνη».

 Ασύγχρονη Λειτουργία: Ένας διαμεσολαβητής μπορεί να εκτελεί τους στόχους του, όντας αποσυνδεδεμένος από τον χρήστη ή από άλλους διαμεσολαβητές. Αυτό σημαίνει ότι μπορεί να καλείται μετά από ένα συγκεκριμένο γεγονός ή κάποια συγκεκριμένη στιγμή της ημέρας. Ένας διαμεσολαβητής μέσα στο διαδίκτυο μπορεί να λειτουργεί εντελώς ασύγχρονα με τον χρήστη, να εκτελεί τις αρμοδιότητές του επικοινωνώντας με διάφορες πηγές συστημάτων ή ακόμη και με άλλους διαμεσολαβητές.

 Επικοινωνία διαμεσολαβητών: Κατά τη διάρκεια της λειτουργίας τους οι διαμεσολαβητές μπορούν να επικοινωνούν με διάφορες πηγές συστημάτων και χρήστες. Οι διαμεσολαβητές που αλληλεπιδρούν άμεσα με τον χρήστη αποκαλούνται προσωπικοί βοηθοί (personal assistants) ή διαμεσολαβητές διεπαφής (interface agents). Από την οπτική του διαμεσολαβητή οι πηγές μπορεί να είναι τοπικές ή και απομακρυσμένες. Υπάρχει ένα ευρύ φάσμα των πόρων των συστημάτων, στα οποία οι διαμεσολαβητές έχουν πρόσβαση, όπως λογισμικά εφαρμογών, βάσεις δεδομένων ή συστήματα πληροφοριών.

 Συνεργασία διαμεσολαβητών: Αυτή η ιδιότητα δείχνει ότι το σύστημα διαμεσολαβητών επιτρέπει τη συνεργασία μεταξύ οντοτήτων διαμεσολαβητών. Η πολυπλοκότητα της συνεργασίας μπορεί να

(11)

κυμανθεί από ένα σύστημα πελάτη – εξυπηρετητή (client – server) μέχρι διαπραγματεύσεις και τη συνεργασία βασισμένες σε μεθόδους της τεχνητής νοημοσύνης. Αυτή η συνεργασία μπορεί να απαιτεί την ανταλλαγή πληροφοριών γνώσεων και να αντιπροσωπεύει την προϋπόθεση για τα συστήματα πολυ – διαμεσολαβητών (multi – agent systems).

 Κινητικότητα διαμεσολαβητών: Προκειμένου να πραγματοποιήσουν τους στόχους τους, οι διαμεσολαβητές μπορεί να μετακινούνται σε ένα δίκτυο απομακρυσμένων δικτυακών τόπων. Γενικά υπάρχουν δύο επίπεδα στα οποία μπορεί να προσδιοριστεί η κινητικότητα των διαμεσολαβητών.

Αφενός μεν είναι η απομακρυσμένη εκτέλεση όπου αφορά τη μεταφορά και εξολοκλήρου εκτέλεση του διαμεσολαβητή σε ένα απομακρυσμένο σύστημα και αφετέρου η μετανάστευση (migration) η οποία αφορά την εκτέλεση του διαμεσολαβητή σε τοπικό σύστημα, αλλά τη μετακίνησή του από κόμβο σε κόμβο ώστε να φέρει σε πέρας τη διαδικασία, την οποία καλείται να ολοκληρώσει.

Μετά την εισαγωγή των παραπάνω χαρακτηριστικών, μπορούμε να αναφερθούμε στην υλοποίηση ενός ευφυούς διαμεσολαβητή και στις εφαρμογές τις οποίες βρίσκει σε διάφορους τομείς. Η κατασκευή ενός διαμεσολαβητή σημαίνει τον εφοδιασμό του με αισθητήρες (detectors) και με επιδραστές (effectors). Σε κάθε κύκλο ο διαμεσολαβητής δέχεται μέσω των αισθητήρων του το εξωτερικό ερέθισμα από το περιβάλλον, ενημερώνει την εσωτερική του κατάσταση, αποφασίζει για την ενέργεια που θα εκτελέσει και τέλος, εκτελεί την ενέργεια με τους επιδραστές του, τροποποιώντας έτσι το περιβάλλον.

Σχήμα 1: Αρχιτεκτονική ευφυών διαμεσολαβητών[1].

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

(12)

2.2.1.1 Βιομηχανικές εφαρμογές

Οι βιομηχανικές εφαρμογές της τεχνολογίας διαμεσολαβητών ήταν μεταξύ των πρώτων που αναπτύχθηκαν. Οι πρώτες εφαρμογές αφορούν τον έλεγχο διεργασίας (process control), οι οποίες είναι αυτονόητες εφαρμογές για τους ευφυείς πράκτορες, αφού οι ελεγκτές διαδικασίας (process controllers) είναι αυτόνομα συστήματα αλληλοεπίδρασης με τον χρήστη. Ένα τέτοιο σύστημα ελέγχου είναι ο ARCHON, μία πλατφόρμα λογισμικού για την κατασκευή συστημάτων πολύ – διαμεσολαβητών (multi – agent systems). Ο ARCHON διαθέτει πολλές εφαρμογές στον έλεγχο διαδικασίας συμπεριλαμβάνοντας τη διαχείριση μεταφοράς ηλεκτρικής ενέργειας (η εφαρμογή αυτή χρησιμοποιείται στη βόρεια Ισπανία), καθώς και έλεγχο ενός επιταχυντή μορίων. Οι διαμεσολαβητές στον ARCHON είναι βαρέα υπολογιστικά συστήματα, με τέσσερα βασικά συστατικά[26]:

i. υψηλού επιπέδου ιδιότητα επικοινωνίας (high – level communication module, HLCM), η οποία χειρίζεται την επικοινωνία των διαμεσολαβητών,

ii. ιδιότητα σχεδιασμού και συντονισμού (planning & coordination module PCM), η οποία είναι αρμόδια για τις αποφάσεις του διαμεσολαβητή,

iii. ιδιότητα διαχείρισης πληροφοριών του διαμεσολαβητή (agent information management module AIM), η οποία είναι αρμόδια για τη διατήρηση του μοντέλου του διαμεσολαβητή στον κόσμο και τέλος

iv. ευφυές σύστημα (intelligent system IS), το οποίο αντιπροσωπεύει τον τομέα στον οποίο ειδικεύεται ο διαμεσολαβητής.

Σχήμα 2: Αρχιτεκτονική ARCHON [27].

(13)

Ένας δεύτερος τομέας που αφορά στις βιομηχανικές εφαρμογές είναι το στάδιο της κατασκευής. Εδώ περιγράφουμε το YAMS (Yet Another Manufacturing System) το οποίο εφαρμόζει το πρωτόκολλο συμβάσεων δικτύου (Contract Net Protocol) στον έλεγχο κατασκευής. Το YAMS υιοθετεί μία προσέγγιση πολυ – διαμεσολαβητών, όπου κάθε επιχείρηση ή μέλος της επιχείρησης αντιπροσωπεύεται από έναν διαμεσολαβητή. Κάθε διαμεσολαβητής διαθέτει τα δικά του σχέδια και στόχους, αντιπροσωπεύοντας τις ικανότητές του.

Οι συμβάσεις δικτύου βασίζονται στην ιδέα της διαπραγμάτευσης και ως εκ τούτου το YAMS αντιμετωπίζει το πρόβλημα του να αποφασίσει την καλύτερη δυνατή κατασκευή ενός προϊόντος μιας επιχείρησης.

Τέλος, άλλος ένας τομέας στον οποίο αξίζει να αναφερθούμε είναι ο έλεγχος εναέριας κυκλοφορίας. Περιγράφουμε έναν περίπλοκο διαμεσολαβητή συστήματος ελέγχου εναέριας κυκλοφορίας, γνωστό ως OASIS. Σε αυτό το σύστημα, το οποίο είναι υπό δοκιμή στο αεροδρόμιο του Σίδνεϋ στην Αυστραλία, οι διαμεσολαβητές χρησιμοποιούνται για να αντιπροσωπεύσουν από τη μια τα αεροσκάφη και από την άλλη τις λειτουργίες των διαφόρων συστημάτων ελέγχου της εναέριας κυκλοφορίας. Η μεταφορά του διαμεσολαβητή παρέχει χρήσιμους τρόπους διαμόρφωσης αυτόνομων συστατικών του πραγματικού κόσμου. Καθώς ένα αεροσκάφος εισέρχεται στον εναέριο χώρο του Σίδνεϋ, ένας διαμεσολαβητής διατίθεται για αυτό , και ο διαμεσολαβητής ταυτοποιείται με την πληροφορία και τους στόχους που αντιστοιχούν στο σκάφος αυτό. Για παράδειγμα, ένα σκάφος έχει ως στόχο να προσγειωθεί σε συγκεκριμένο διάδρομο μία συγκεκριμένη ώρα. Οι διαμεσολαβητές εναέριας κυκλοφορίας είναι υπεύθυνοι να διευθύνουν το σύστημα.

Σχήμα 3: OASIS σύστημα πελάτη – εξυπηρετητή[21].

2.2.1.2. Εμπορικές εφαρμογές

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

(14)

συστήματα λογισμικού που ενσωματώνουν τέτοιους διαμεσολαβητές παρατίθενται παρακάτω[25]:

a. Maxims: Περιγράφει έναν διαμεσολαβητή ο οποίος φιλτράρει το ηλεκτρονικό ταχυδρομείο του χρήστη. Το συγκεκριμένο λογισμικό μαθαίνει να δίνει προτεραιότητα, να διαγράφει, να διαβιβάζει, να ταξινομεί και να αρχειοθετεί τα μηνύματα του χρήστη. Λειτουργεί παρακολουθώντας τις ενέργειες του χρήστη, καθώς αυτός χειρίζεται το ηλεκτρονικό ταχυδρομείο του, καταγράφοντας τις πράξεις του ως μαθήματα. Ο Maxims κάνει εσωτερικές προβλέψεις, για το ποια ενέργεια θα πραγματοποιούσε ο χρήστης με ένα μήνυμα. Εάν οι προβλέψεις αποδειχθούν λανθασμένες, ο Maxims κρατάει αρχείο (backup) στο δικό του σύστημα. Αλλά όταν οι προβλέψεις του είναι σωστές τότε καθοδηγεί τον χρήστη στις ενέργειες που πρέπει να πραγματοποιήσει.

b. Newt: Επίσης ένα λογισμικό φιλτραρίσματος. Ο Newt λαμβάνει ένα σύνολο άρθρων και παρουσιάζει στον χρήστη αυτά που θεωρεί ότι τον ενδιαφέρουν. Ο χρήστης καταχωρεί στον Newt παραδείγματα, τα οποία ο διαμεσολαβητής τα χρησιμοποιεί ως πρότυπα, για να προτείνει ή όχι στον χρήστη τα αποτελέσματα της έρευνάς του.

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

Το σύστημα αυτό πραγματοποιεί την αγορά, δημιουργώντας διαμεσολαβητές

«αγοράς» και «πώλησης» για κάθε αγαθό προς αγορά ή πώληση αντίστοιχα. Οι εμπορικές συναλλαγές πραγματοποιούνται από αλληλεπιδράσεις αυτών των πρακτόρων.

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

Για παράδειγμα το τμήμα σχεδιασμού (design department) της επιχείρησης παρέχει την υπηρεσία σχεδιασμού ενός δικτύου τηλεπικοινωνιών, το νομικό τμήμα (legal department) ελέγχει αν το σχέδιο αυτό είναι νόμιμο και το εμπορικό τμήμα (marketing department) αξιολογεί το κόστος του σχεδίου αυτού. Στην επικοινωνία και τις επιλογές κάθε τμήματος λαμβάνουν δράση οι διαμεσολαβητές και κατευθύνουν τις ορθές διαδικασίες.

(15)

Σχήμα 4: Ένα περιβάλλον αντίστοιχο του ADEPT [28].

2.2.1.3 Ιατρικές εφαρμογές

Η ιατρική πληροφορική (medical informatics) είναι ένας αναπτυσσόμενος τομέας στον κλάδο της πληροφορικής. Νέες εφαρμογές υπολογιστών εισχωρούν καθημερινά στη βιομηχανία της υγείας. Έτσι δεν είναι παράξενο που οι διαμεσολαβητές βρίσκουν εφαρμογή και σε αυτόν τον τομέα.

Υπάρχει ένα πρότυπο σύστημα για την ιατρική περίθαλψη το οποίο είναι βασισμένο στους διαμεσολαβητές. Το σύστημα αυτό σχεδιάστηκε για τη διαχείριση των νοσηλευόμενων, όπου τυπικά υπάρχει μία λίστα πολλών ατόμων. Για παράδειγμα ένας παθολόγος υποψιάζεται ότι μία ασθενής πάσχει από καρκίνο του μαστού, αλλά αυτή η υποψία πρέπει να επιβεβαιωθεί από έναν ειδικό του νοσοκομείου. Εάν ο ειδικός επιβεβαιώσει την υπόθεση, έπειτα ένα πρόγραμμα φροντίδας (care program) πρέπει να παρουσιάσει τη θεραπευτική αγωγή του ασθενή, λαμβάνοντας υπόψη τους πόρους άλλων ατόμων. Οι διαμεσολαβητές του προτύπου αφορούν ένα ευφυές σύστημα βασισμένο στη γνώση (knowledge – based), που περιέχει τα δεδομένα του εξειδικευμένου διαμεσολαβητή, τη διεπαφή ανθρώπου – υπολογιστή, διαχειριστή επικοινωνιών και επιτρέπει στον χρήστη να προσθέτει ή να αφαιρεί πληροφορία. Το σύστημα αυτό βασίζεται στο γνωστικό μοντέλο KADS και ο διαμεσολαβητής κατασκευάζεται και χρησιμοποιεί εξολοκλήρου PROLOG. Τα μηνύματα που εξάγει παρουσιάζονται σε μορφή ηλεκτρονικού ταχυδρομείου[26].

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

Παράδειγμα χρήσης διαμεσολαβητών σε ιατρικές εφαρμογές αποτελεί το σύστημα ADELE το οποίο εμπίπτει στην κατηγορία των παιδαγωγικών διαμεσολαβητών αλλά είναι με ενσωματωμένα χαρακτηριστικά ευφυίας. Το σύστημα αυτό θα παρουσιαστεί στην παράγραφο 2.2.3.2 ADELE.

(16)

2.2.2 Κινητοί Διαμεσολαβητές (Mobile Agents)

Οι κινητοί διαμεσολαβητές αποτελούν κοινούς διαμεσολαβητές με την επιπλέον δυνατότητα της κίνησης, με σκοπό να μεταναστεύουν από μία θέση σε άλλη διευκολύνοντας τη διαδικασία εύρεσης λύσεων. Οι κινητοί διαμεσολαβητές είναι εκείνοι που μπορούν να κινηθούν από έναν υπολογιστή προς έναν άλλο, πέρα από τα δίκτυα επικοινωνιών και το Διαδίκτυο ειδικότερα, και που μπορούν να εκτελεστούν στους μακρινούς κεντρικούς υπολογιστές.

Επίσης ενσωματώνουν τη δυνατότητα να μεταναστεύουν από μια πλατφόρμα σε άλλη, διατηρώντας ταυτόχρονα τις πληροφορίες, τυπικά με περιορισμένη νοημοσύνη. Άρα τους διακρίνει η ικανότητα μετακίνησης, η αυτονομία, ο συγχρονισμός, η αλληλεπίδραση, η προσαρμοστικότητα πλοήγησης και η άμεση ανταπόκριση. Η προσθήκη της κινητικότητας στα άλλα χαρακτηριστικά των διαμεσολαβητών έκανε ευκολότερη τη χρήση των διαμεσολαβητών σε πολλά συστήματα και όχι μόνο στις εφαρμογές τεχνητής νοημοσύνης [40].

Οι κινητοί διαμεσολαβητές έχουν διάφορες όψεις κατά τη διάρκεια του κύκλου ζωής τους. Ένας διαμεσολαβητής εγκαθιδρύεται ως κόμβος (host), για παράδειγμα ο διαμεσολαβητής εκτελεί κώδικα και διάφορες ενέργειες. Όταν ένας διαμεσολαβητής αποφασίζει να μετακινηθεί, αναστέλλει κάθε άλλη δράση και αποθηκεύει την παρούσα κατάσταση στη μνήμη. Μόλις ο διαμεσολαβητής φτάσει σε νέο κόμβο επαναλαμβάνει τη διαδικασία όψης και συνεχίζει την εκτέλεση.

Διάφορα μοντέλα δομών κινητών διαμεσολαβητών έχουν εξεταστεί και εξαρτώνται από τον πρωταρχικό στόχο του διαμεσολαβητή – υπάρχουν μοντέλα ασφαλείας, μοντέλα επικοινωνίας και υπολογιστικά μοντέλα. Ωστόσο κάθε ένα από αυτά τα μοντέλα δεν είναι αυτόνομο αλλά έχει κοινές λειτουργίες με τα υπόλοιπα. Μία βασική δομή ενός κινητού διαμεσολαβητή απεικονίζεται στο Σχήμα 5 παρακάτω, η οποία τονίζει ότι οι κινητοί διαμεσολαβητές πρέπει να κατέχουν έναν υπολογιστικό πυρήνα πριν από κάθε άλλο πρότυπο. Κατά συνέπεια κάθε διαμεσολαβητής στηρίζεται σε ένα βασικό πρότυπο , στο οποίο μπορεί να προσαρμοστεί κάθε άλλο χαρακτηριστικό όπως η επικοινωνία, η ασφάλεια και η πλοήγηση. Κάθε πρότυπο εξαρτάται από το πρότυπο που βρίσκεται από κάτω του και απαιτεί την υποστήριξή του για να πετύχει τον σκοπό του.

Σχήμα 5: Βασική δομή ενός κινητού διαμεσολαβητή [40].

(17)

Η μοντελοποίηση των αυτόνομων διαμεσολαβητών εξαρτάται από διάφορους παράγοντες. Ο διαμεσολαβητής αντιμετωπίζεται στην προοπτική με σεβασμό σε ολόκληρο το περιβάλλον και το ενσωματωμένο σύστημα χτίζεται ενώ χωρίζεται σε ανεξάρτητες ενότητες. Κάθε ενότητα του συστήματος είναι λειτουργικά πλήρης και χρησιμοποιείται για να εκτελεί τις συγκεκριμένες λειτουργίες. Άρα είναι λογικό να υποθέσουμε ότι το περιβάλλον στο οποίο ο πράκτορας είναι τοποθετημένος, παίζει ρόλο στο να αναπτυχθούν οι κατάλληλες ενότητες. Στην ουσία αναφερόμαστε σε ένα μοντέλο αλληλεπίδρασης, το οποίο αφορά στο διαδίκτυο.

Το μοντέλο αλληλεπίδρασης που κυριαρχεί στο διαδίκτυο είναι αυτό μεταξύ πελάτη (client) και εξυπηρετητή (server). Ο εξυπηρετητής προσφέρει τις υπηρεσίες στον πελάτη και ο τελευταίος αποστέλλει αιτήσεις στους εξυπηρετητές, απαιτώντας τις προσφερόμενες υπηρεσίες. Η ανταλλαγή μηνυμάτων μεταξύ πελάτη εξυπηρετητή απαιτεί την ύπαρξη ενός πρωτοκόλλου επικοινωνίας και μία μόνιμη σύνδεση μεταξύ των δύο «μηχανημάτων», ώστε να εξασφαλίζεται μία συνεχής επικοινωνία. Ο αντίκτυπος των απαιτήσεων αυτών είναι υψηλό κόστος και κατανάλωση δικτυακών πόρων, αλλά και η συγκέντρωση φόρτου στην περιοχή του πελάτη. Οι κινητοί διαμεσολαβητές, όπως προαναφέραμε είναι προγράμματα που έχουν τη δυνατότητα μετακίνησης μεταξύ υπολογιστικών συστημάτων, για την πραγματοποίηση μιας επαναληπτικής διαδικασίας. Συμπερασματικά αφορούν μία εγγενώς κατανεμημένη τεχνολογία, η οποία αποτελεί ενεργή μετακίνηση κώδικα ανάμεσα μεταξύ δικτυακών συσκευών. Οι κινητοί διαμεσολαβητές απαντούν στο πρόβλημα της κατανεμημένης επεξεργασίας μεταφέροντας «ευφυΐα» στους πελάτες. Το πρόβλημα της άσκοπης συγκέντρωσης φόρτου στην περιοχή του πελάτη, αντιμετωπίζεται μεταφέροντας την ευθύνη της διαχείρισης από τον πελάτη στους κινητούς διαμεσολαβητές.

Η χρήση των κινητών διαμεσολαβητών, η οποία εξασφαλίζει ότι το εύρος ζώνης του δικτύου, δεν χρησιμοποιείται στη συνεχή ανταλλαγή μηνυμάτων μεταξύ πελάτη και εξυπηρετητή. Μόλις ένας κινητός διαμεσολαβητής μετακινηθεί στον εξυπηρετητή του δικτύου απελευθερώνεται από περαιτέρω επικοινωνία μεταξύ πελάτη – εξυπηρετητή. Ο διαμεσολαβητής εκτελείται τοπικά και επιστρέφει στον πελάτη μόνο αφότου έχει ολοκληρώσει την εκτέλεση στον εξυπηρετητή και συλλέξει τα απαιτούμενα αποτελέσματα.

Σχήμα 6: Ένας κινητός διαμεσολαβητής βελτιστοποιεί τη χρήση εύρους ζώνης ενός δικτύου [46].

(18)

Οι κινητοί διαμεσολαβητές έχουν χρησιμοποιηθεί σε μια σειρά εφαρμογών, όπως απομακρυσμένη ανάκτηση δεδομένων από κατανεμημένες βάσεις δεδομένων (information retrieval), κατανεμημένη διαχείριση δικτύων (distributed network management), ηλεκτρονικό εμπόριο (e-commerce), διαχείριση γνώσης (knowledge management) κλπ.

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

 χρησιμοποίηση ή δημιουργία μιας εξειδικευμένης γλώσσας

 υπηρεσίες λειτουργικών συστημάτων (operating systems) ή επεκτάσεις (extensions) και

 εφαρμογές λογισμικού.

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

 Aglet™ from IBM [46].

 Agent Tcl from Dartmouth College [46].

 Agents for Remote Access (ARA) from the University of Kaiserslautern [46].

 Concordia™ from Horizon Systems Laboratory, Mitsubishi Company [46].

 Mole from the Institute for Parallel and Distributed Computer Systems (IPVR) [46].

 Odyssey™ from General Magic [46].

 TACOMA from Cornell University [46].

Αυτά τα συστήματα επιλέχθηκαν λόγω της αντιπροσωπευτικότητας τους αλλά και της συχνής υιοθέτησής τους κατά κόρον στον τομέα της έρευνας των κινητών διαμεσολαβητών.

(19)

2.2.2.1 AGLET

Η πλατφόρμα AGLETS διαμορφώνει τους κινητούς διαμεσολαβητές να ακολουθήσουν στενά το πρότυπο των Java Applets. Είναι ένα απλό πλαίσιο, όπου ο προγραμματιστής παραμερίζει προκαθορισμένες μεθόδους για να προσθέσει τις επιθυμητές λειτουργίες. Η πλατφόρμα AGLETS ορίζεται ως ένα κινητό αντικείμενο της Java, το οποίο μετακινείται σε κατάλληλα διαμορφωμένους εξυπηρετητές σε ένα δίκτυο υπολογιστών. Εκτελεί το δικό του νήμα (thread) εκτέλεσης αφού μεταφερθεί στον εξυπηρετητή, έτσι μπορούμε να πούμε ότι η συμπεριφορά του είναι αυτόνομη. Επίσης χαρακτηρίζεται από την αλληλεπίδραση, εφόσον ανταποκρίνεται στα εισερχόμενα μηνύματα. Η πλατφόρμα AGLETS χρησιμοποιεί ένα απλό αντιπροσωπευτικό αντικείμενο, για τη μεταφορά μηνυμάτων, και μία κλάση μηνυμάτων για να εξασφαλίσει την ανταλλαγή τους μεταξύ των διαμεσολαβητών. Ωστόσο η ομαδική επικοινωνία δεν είναι διαθέσιμη, και η χρησιμοποίηση αντιπροσωπευτικού αντικειμένου δύναται να μην είναι η καταλληλότερη λύση σε μία κατάσταση ανταλλαγής μηνυμάτων σε υψηλή συχνότητα. Έτσι, με τη διαμόρφωση των κινητών διαμεσολαβητών, οι σχεδιαστές επιδιώκουν την εκμετάλλευση των κινητών ιδιοτήτων της Java.

2.2.2.2 TCL

Ο διαμεσολαβητής TCL ήταν από τους πρώτους κινητούς διαμεσολαβητές που αναπτύχθηκαν. Το πρότυπο διαμεσολαβητών που προωθήθηκε από τον TCL, ήταν η αναστολή εκτέλεσης αυτών που εκτελούνται σε ένα σημείο, μεταναστεύουν σε άλλη θέση μεταφέροντας τον κώδικά και τα στοιχεία τους και επαναλαμβάνουν την εκτέλεση τους στη νέα αυτή θέση. Από τον TCL, οι κινητοί διαμεσολαβητές έχουν υποβληθεί σε πολλές αναθεωρήσεις στο μοντέλο και τον χαρακτηρισμό. Η φιλοσοφία αυτού είναι ότι όλες οι λειτουργίες που απαιτεί ένας διαμεσολαβητής είναι διαθέσιμες σε έναν εξυπηρετητή. Υπάρχουν νέα ζητήματα, τα οποία πρέπει να ληφθούν υπόψη, όπως εκείνα του μεγέθους, της απόδοσης και της κινητικότητας των διαμεσολαβητών. Οι κινητοί διαμεσολαβητές ωστόσο δεν είναι απλά κομμάτια εκτελέσιμου κώδικα, που είναι ικανά να μετακινηθούν και να εκτελεστούν κατά βούληση, αλλά είναι συμπλέγματα σύνθετων δομών διαφόρων παραμέτρων, συμπεριλαμβάνοντας τη νοημοσύνη και την αυτονομία. Οι ερευνητές αναζητούν ακούραστοι το τέλειο μοντέλο ενός κινητού διαμεσολαβητή και οι βελτιώσεις στα υπάρχοντα πρότυπα αποτελούν αντικείμενο σε πολλά ερευνητικά εργαστήρια διαμεσολαβητών.

2.2.2.3 ARA (Agent for Remote Action)

Ο διαμεσολαβητής ARA έχει ως στόχο την ενσωμάτωση του «κινητού προγραμματισμού» στον ήδη υπάρχον τομέα της πρακτικής του προγραμματισμού. Στο μοντέλο ARA ο κινητός διαμεσολαβητής αποτελεί λογισμικό, το οποίο είναι ικανό να μετακινηθεί κατά βούληση, χωρίς να προκαλείται πρόβλημα στην εκτέλεσή του αφού καθιερώνεται με τη χρήση πολλαπλών γλωσσών. Ο διαμεσολαβητής ARA μετακινείται και παραμένει στις τοποθεσίες, από όπου χρησιμοποιεί υπηρεσίες του εξυπηρετητή ή άλλων διαμεσολαβητών. Οι διαμεσολαβητές ARA είναι κανονικά λογισμικά από όλες τις πτυχές. Διαχειρίζονται φακέλους, διαθέτουν διεπαφή με τον χρήστη (user interface), διεπαφή δικτύου (network interface) καθώς και όλες τις γνωστές σε εμάς λειτουργίες υπολογιστών. Επιπρόσθετα ο ARA εκτελείται σε έναν

(20)

διερμηνέα (interpreter), ο οποίος συνδέεται με μία γλώσσα ανεξάρτητα από το σύνολο υπηρεσιών. Οι υπηρεσίες αυτές περιλαμβάνουν τη διαχείριση πόρων, την κινητικότητα και την ασφάλεια, καθώς και πολλές άλλες. Η αρμοδιότητα του διερμηνέα είναι να ελέγχονται οι λειτουργίες, οι οποίες σχετίζονται με τη γλώσσα. Τέλος, οι διαμεσολαβητές ARA εκτελούνται σε παράλληλα νήματα, ενώ μερικές από τις εσωτερικές λειτουργίες μπορούν να εκτελεστούν ως ξεχωριστές διαδικασίες για λόγους απόδοσης.

2.2.2.4 CONCORDIA

Ο CONCORDIA είναι άλλος ένας διαμεσολαβητής υποστηριζόμενος από Java. Ο διαμεσολαβητής CONCORDIA διαμορφώνεται ως ένα πρόγραμμα Java, το οποίο χρησιμοποιεί τις υπηρεσίες που παρέχονται από έναν εξυπηρετητή ο οποίος φροντίζει την κινητικότητα, την ασφάλεια, την επικοινωνία και τη διαχείριση πόρων. Τα στοιχεία αυτά του εξυπηρετητή επικοινωνούν μεταξύ τους και μπορούν να εκτελεστούν μόνο σε εικονικές μηχανές Java (Java Virtual Machine JVM). Οι σχεδιαστές του CONCORDIA δηλώνουν ότι το σύστημα αυτό επιτρέπει μεγαλύτερη ευελιξία προσφέροντας πολλαπλά σημεία εξόδου στην εκτέλεση των διαμεσολαβητών. Εντούτοις η υποδομή για τη διαχείριση αυτών των αντικειμένων περιήγησης δεν γίνεται σαφής από την υπάρχουσα βιβλιογραφία.

2.2.2.5 MOLE

Οι διαμεσολαβητές MOLE διαμορφώνονται ως μία ομάδα αντικειμένων της Java, χωρίς εξωτερικές αναφορές, εξαιρώντας το σύστημα του εξυπηρετητή όπου εκτελείται. Κάθε διαμεσολαβητής MOLE έχει ένα μοναδικό όνομα, όπως επίσης δύναται να επικοινωνεί με άλλους διαμεσολαβητές μέσω συγκεκριμένων μηχανισμών επικοινωνίας, οι οποίοι προσφέρουν τη δυνατότητα χρήσης διαφορετικών γλωσσών προγραμματισμού για τη διαφανή μετατροπή πληροφοριών όπου χρειάζεται.

Η μοναδικότητα του MOLE είναι η απαίτηση τερματισμού μιας διεργασίας. Όμως δεν καθίσταται σαφές το πώς επιβάλλει την απαίτηση αυτή και εάν υπάρχουν μηχανισμοί αυτόματης περάτωσης. Η έννοια της περάτωσης είναι μεν τεχνικά κατάλληλη, αλλά χωρίς βοηθητικά εργαλεία μπορεί ο διαμεσολαβητής να γίνει επιρρεπής σε λάθη και σε περιορισμούς.

2.2.2.6 Odyssey

Ο κινητός διαμεσολαβητής Odyssey εμφανίζει πολλές ομοιότητες με τους AGLETS. Οι κύριες κλάσεις του είναι οι Agent, Worker και Place. Η Worker είναι μία υποκλάση της Agent και αντιπροσωπεύει ένα παράδειγμα του τι μπορεί να πραγματοποιήσει ένας ειδικός με την κλάση Agent. Η κλάση Place συμβολίζει το που υπάρχει και εκτελείται ο διαμεσολαβητής Odyssey.

Οι διαμεσολαβητές αυτοί επικοινωνούν μεταξύ τους, χρησιμοποιούν απλές κλήσεις μεθόδων και δεν υποστηρίζουν επικοινωνία υψηλού επιπέδου.

Ωστόσο έχουν τη δυνατότητα να διαμορφώσουν ή και να καταστρέψουν τις θέσεις συνάντησης πληροφοριών, ώστε να ανταλλάξουν μηνύματα. Το διακριτό γνώρισμα του Odyssey είναι οι πολλαπλοί μηχανισμοί μεταφοράς, τους οποίους διαθέτει. Παρόλα αυτά σαν πρότυπο κινητών διαμεσολαβητών δεν είναι ακόμη σταθερό.

(21)

2.2.2.7 TACOMA (Tromso and Cornell Moving Agent)

Το πρότυπο TACOMA αντιπροσωπεύει μία πρώιμη προσπάθεια κατασκευής ενός συστήματος κινητών διαμεσολαβητών. Οι διαμεσολαβητές TACOMA μετακινούνται μέσα σε ένα δίκτυο με σκοπό να ικανοποιήσουν τις απαιτήσεις του πελάτη. Επίσης εστιάζουν στην ανάπτυξη ενός συστήματος διαχείρισης κινητών διαμεσολαβητών και στο πως οι τελευταίοι μπορούν να λύσουν τα προβλήματα που προκύπτουν από τα συστήματα αυτά.

Οι διαμεσολαβητές TACOMA προτείνουν τη χρήση χαρτοφύλακα, φακέλων, εικονιδίων διαχείρισης αρχείων και τους μεσίτες διαμεσολαβητές (broker agents), για τον σχεδιασμό τους. Η ύπαρξη των μεσιτών διαμεσολαβητών εξυπηρετεί την επικοινωνία μεταξύ τους αλλά και με τους παροχείς υπηρεσιών.

Όμως το πρότυπο TACOMA διαθέτει έναν σημαντικό αριθμό από αδυναμίες, συμπεριλαμβανομένης της αδυναμίας εκτέλεσης (αυθαίρετο σημείο εκτέλεσης), της ιδιομορφίας συστήματος διαχείρισης και ενός αδύνατου μηχανισμού ασφαλείας. Συνολικά, καθίσταται ασαφές το πόσο μπορεί να εξελιχθεί το πρότυπο αυτό.

2.2.3 Eυφυείς παιδαγωγικοί διαμεσολαβητές (Pedagogical &

Intelligent Pedagogical Agents)

Οι παιδαγωγικοί διαμεσολαβητές είναι αυτόνομοι διαμεσολαβητές που υποστηρίζουν την ανθρώπινη εκμάθηση, μέσω αλληλεπίδρασης με τους σπουδαστές στα πλαίσια των διαλογικών περιβαλλόντων μάθησης. Συνήθως αναφερόμαστε σε κινούμενους (animated) διαμεσολαβητές όπως[18]:

 Κινούμενες αναπαραστάσεις προσώπων που δείχνουν πως μπορεί να εκτελεστεί μια πράξη

 Πρόσωπο-με-πρόσωπο (face-to-face) διάλογοι που περιλαμβάνουν εκφράσεις προσώπων και χειρονομίες

 Μπορούν να υποστηρίξουν τη συνεργατική εκμάθηση καθώς επίσης και την εξατομικευμένη εκμάθηση, επειδή οι πολλαπλάσιοι σπουδαστές και οι διαμεσολαβητές μπορούν να αλληλεπιδράσουν σε ένα κοινό περιβάλλον.

Εμπειρικές μελέτες[19] έχουν δείξει ότι οι παιδαγωγικοί διαμεσολαβητές μπορούν να επαυξήσουν την ποιότητα μάθησης. Υπάρχει ένας αριθμός χαρακτηριστικών που τους διακρίνουν. Οι παιδαγωγικοί διαμεσολαβητές διαθέτουν την ιδιότητα της προσαρμοστικότητας. Ένας παιδαγωγικός διαμεσολαβητής εξετάζει το δείκτη κατανόησης του μαθητή κατά τη διάρκεια της αλληλεπίδρασης (όπως ένας άνθρωπος-δάσκαλος), προσαρμόζοντας το μάθημα αντίστοιχα. Δεν προχωρούν σε πολύπλοκα θέματα αν δεν εξασφαλιστεί η κατανόηση βασικών εννοιών. Αν οι μαθητές εξακολουθούν να αντιμετωπίζουν δυσκολία, τους παρέχονται επιπλέον οδηγίες. Επιπλέον δίνουν κίνητρο αλληλεπιδρώντας με τους μαθητές. Κάνουν ερωτήσεις, προσφέρουν ενθάρρυνση, παρέχουν απαντήσεις, προσφέρουν σχετιζόμενες πληροφορίες, δίνουν ευμνημόνευτα παραδείγματα, κάνουν ακόμα και αστεία[19]! Επίσης προκαλούν προσήλωση όντας έγχρωμες, ενδιαφέρουσες προσωπικότητες με συγκεκριμένη εξειδικευμένη γνώση που προκαλούν την προσήλωση του μαθητή

Referências

Documentos relacionados

Η τουριστική ανάπτυξη της χώρας ξεκίνησε τη δεκαετία του ’50, για να εξελιχθεί σε μια από τις σημαντικότερες πηγές εσόδων, τόσο σε εθνικό επίπεδο, όσο και τοπικό, αφού πολλές περιοχές