• Nenhum resultado encontrado

Ανάπτυξη εφαρμογής εποπτείας/παρακολούθησης Η/Υ.

N/A
N/A
Protected

Academic year: 2023

Share "Ανάπτυξη εφαρμογής εποπτείας/παρακολούθησης Η/Υ."

Copied!
140
0
0

Texto

(1)

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ

ΕΠΟΠΤΕΙΑΣ/ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ Η/Υ

ΦΟΙΤΗΤΕΣ

Χατζηπαντελής Αλέξανδρος Τζούμας Παναγιώτης Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Ανατολικής Μακεδονίας και Θράκης ΔΙΣΑΣΚΩΝ

Δρ. Άύγουστος Τσινάκος

ΕΤΟΣ ΕΚΠΟΝΗΣΗΣ ΕΡΓΑΣΙΑΣ 2013-2014

(2)

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

1. ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ... 5

1.1 Στόχοι/Φιλοδοξίες ... 6

1.1.1 Βασικός Στόχος ... 6

1.1.2 Στόχος 1 ... 6

1.1.3 Στόχος 2 ... 7

1.1.4 Στόχος 3 ... 9

1.1.5 Στόχος 4 ... 10

2. ΣΥΣΤΗΜΑΤΑ ΠΟΛΛΑΠΛΩΝ ΠΡΑΚΤΟΡΩΝ ... 11

2.1 Τι είναι πράκτορας ... 12

2.2 Περιγραφή χαρακτηριστικών πρακτόρων ... 13

2.2.1 Αυτονομία ... 14

2.2.2 Κοινωνικότητα ... 14

2.2.3 Αντιδραστικότητα ... 14

2.2.4 Προνοητικότητα ... 14

2.2.5 Κινητικότητα ... 15

2.2.6 Προσαρμοστικότητα... 15

2.2.7 Ειλικρίνεια ... 15

2.2.8 Αγαθή προαίρεση ... 15

2.2.9 Λογικότητα ... 15

2.3 Αρχιτεκτονικές πρακτόρων ... 16

2.3.1 Logic-based (symbolic) architectures ... 16

2.3.2 Reactive architectures ... 17

2.3.3 BDI (Belief, desire, intention) ... 17

2.3.4 Layered (hybrid) architectures ... 18

2.4 Επικοινωνία και συντονισμός ... 19

2.4.1 Organizational structuring ... 20

2.4.2 Contracting ... 20

2.4.3 Multi-agent planning ... 21

2.4.4 Negotiation ... 21

2.5 Γλώσσες Προγραμματισμού και εργαλεία ... 23

2.6 Εφαρμογές συστημάτων πολλαπλών πρακτόρων ... 26

3. ΑΝΑΛΥΣΗ / ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΟΣ ... 29

(3)

3.1 Αντικείμενο της Εργασίας ... 29

3.2 Λειτουργικές απαιτήσεις ... 31

3.3 Μοντέλο αναπαράστασης του συστήματος ... 35

3.4 Σχεδιασμός Διεπαφής Χρήστη ... 36

3.4.1 Κεντρική φόρμα – Προβολή - διαχείριση τμηματων και εργαστηρίων ... 36

3.4.2 Φόρμα σύνδεσης του διαχειριστή. ... 36

3.4.3 Φόρμα προβολής-διαχείρισης υπολογιστών εργαστηρίου. ... 37

3.4.4 Φόρμα προβολής-διαχείρισης προφίλ υπολογιστή ... 37

3.4.5 Φόρμα διαχείρισης μεταβολής βασικών στοιχείων υπολογιστή ... 38

3.4.6 Φόρμα διαχείρισης μεταβολής μνήμης υπολογιστή ... 38

3.4.7 Φόρμα διαχείρισης μεταβολής δίσκων υπολογιστή. ... 39

3.4.8 Φόρμα διαχείρισης μεταβολής εφαρμογών υπολογιστή ... 39

3.4.9 Φόρμα επανεκκίνησης, τερματισμού και ενημέρωση λογισμικού client με δυνατότητα επιλογής συγκεκριμένων υπολογιστών ενός εργαστηριού... 40

3.4.10 Φόρμα προσθήκης/αφαίρεσης agent στο επιλεγμένο τμήμα και στο επιλεγμένο εργαστήριο. ... 41

3.4.11 Μενού ‘Αρχείο’. ... 41

3.4.12 Μενού ‘Επεξεργασία’. ... 41

3.5 Διάγραμμα κλάσεων ... 42

3.5.1 Γενικη περιγραφή του διαγράμματος κλασεων. ... 42

3.5.2 Περιγραφή κλάσεων ... 45

3.5.3 Λεπτομερές διάγραμμα κλάσεων ... 65

3.5.4 Εργαλεία εποπτείας υπολογιστών δικτύου που χρησιμοποιούνται στην παγκόσμια κοινότητα ... 66

3.6 ΣΧΕΔΙΑΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ... 71

3.6.1 Απαιτήσεις βάσης δεδομένων ... 71

3.6.2 Αναλυτική περιγραφή ... 72

3.6.3 Σχεδίαση Μοντέλου Οντοτήτων Συσχετίσεων (ERD) Version ... 75

3.6.4 Λεξικό δεδομένων ... 78

3.6.5 Κατασκευή σχήματος σχέσεων ... 79

3.6.6 Δείγμα δεδομένων ... 83

3.6.7 Εντολές SQL Δημιουργίας της βάσης. ... 86

3.6.8 Εντολές SQL Διαγραφής της βάσης. ... 91

4. ΕΠΙΛΟΓΟΣ... 92

4.1 Προβλήματα που συναντήσαμε... 92

(4)

4.2 Μελλοντικές λειτουργικές απαιτήσεις. ... 93

5. ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ ... 94

ΠΑΡΑΡΤΗΜΑΤΑ ... 96

Α.Εγχειρίδιο χρήσης συστήματος ... 96

Α.1 Σύνδεση με το σύστημα ... 97

Α.2 Αποσύνδεση από το σύστημα ... 98

Α.3 Κλείσιμο της εφαρμογής του συστήματος ... 99

Α.4 Προσθήκη Υπολογιστή στο Σύστημα ... 99

Α.5 Καταχώρηση στοιχείων Η/Υ που μόλις προστέθηκε στο σύστημα ... 104

Α.6 Ανίχνευση μεταβολών των Η/Υ του συστήματος ... 121

Α.7 Απομακρυσμένη επανεκκίνηση Η/Υ ... 122

Α.8 Απομακρυσμένος τερματισμός Η/Υ ... 123

Α.9 Απομακρυσμένη Ενημέρωση Λογισμικού Πρακτόρων Η/Υ... 124

Α.10 Αφαίρεση Υπολογιστή από το Σύστημα ... 126

Β. ΔΙΑΔΙΚΑΣΙΑ ΕΓΚΑΤΑΣΤΑΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ... 131

Β.1 Διαδικασία εγκατάστασης του υποσυστήματος εξυπηρετητή - Server. ... 132

Β.2 Διαδικασία εγκατάστασης του υποσυστήματος πελάτη - Client. ... 135

(5)

1. ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ

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

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

(6)

1.1 Στόχοι/Φιλοδοξίες

1.1.1 Βασικός Στόχος

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

1.1.2 Στόχος 1

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

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

Παράδειγμα προβλήματος– Ανάδειξη στόχου

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

(7)

υπολογιστής στο εργαστήριο Windows Ι χάσει την επικοινωνία του με το δίκτυο αυτό αποτελεί ένα σοβαρό πρόβλημα: Όμως το γεγονός πως ο συγκεκριμένος υπολογιστής έχει αυτό το πρόβλημα δε σημαίνει πως το πρόβλημα θα ανακαλυφθεί εγκαίρως. Μπορεί να περάσουν μέρες ή και εβδομάδες μέχρι να διαγνώσει κάποιος το πρόβλημα. Μπορεί να πραγματοποιούνται εργαστήρια στο χώρο του εργαστηρίου με λίγους φοιτητές και να μη χρειαστεί να χρησιμοποιηθεί ο συγκεκριμένος υπολογιστής από κάποιο φοιτητή. ‘Η μπορεί να ανακαλυφθεί από φοιτητή ή εκπαιδευτικό το πρόβλημα του υπολογιστή αλλά να μην ενημερωθεί ο άμεσα υπεύθυνος τεχνικός ή διαχειριστής των εργαστηρίων/δικτύου. Όταν όμως έρθει η στιγμή που το εργαστήριο θα χρειαστεί να αξιοποιήσει όλους τους υπολογιστές του θα ανακύψει πρόβλημα διαθεσιμότητας και θα δημιουργήσει επιπλοκές στην εκπαιδευτική διαδικασία.

1.1.3 Στόχος 2

α. Μείωση του μέσου χρόνου εγκατάστασης/ τροποποίησης/

απεγκατάστασης εφαρμογών.

β. Περιορισμός του πλήθους των φορών που απαιτείται ανθρωπινή παρέμβαση

Στο κατανεμημένο σύστημα εποπτείας/διαχείρισης αναμένουμε να μειωθεί αισθητά ο μέσος χρόνος εγκατάστασης/ τροποποίησης/

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

(8)

(εφόσον κάθε υπολογιστής απαιτεί επέμβαση από τεχνικό). Αναμένουμε επίσης να αυξηθεί το πλήθος των επεμβάσεων εγκατάστασης/τροποποίησης/απεγκατάστασης λόγω της άνεσης που προσφέρει το αυτοματοποιημένο σύστημα: η δυσκολία επεμβάσεων στο παραδοσιακό σύστημα αποθαρρύνει την επέμβαση σε υπηρεσίες με αποτέλεσμα να λειτουργούν στα ιδρύματα μόνο οι απολύτως αναγκαίες.

Παράδειγμα προβλήματος α– Ανάδειξη στόχου

Παρατηρείται πολύ συχνά το φαινόμενο κάποια εφαρμογή που λειτουργεί στο εργαστήριο να έχει κάποια δυσλειτουργία και να απαιτείται επανεγκατάστασή της. Επίσης πολύ συχνά ζητείται να εγκατασταθεί άμεσα μια νέα εφαρμογή σε ολόκληρο το εργαστήριο. Σε οποιαδήποτε από αυτές τις περιπτώσεις η παραδοσιακή διαδικασία είναι η επέμβαση από τον τεχνικό μεμονωμένα σε κάθε υπολογιστή με την αναμενόμενη χρονική επιβάρυνση. Ο τεχνικός μπορεί να επέμβει με τον παραδοσιακό τρόπο είτε με φυσική παρουσία είτε απομακρυσμένα αλλά και στις δυο περιπτώσεις η επέμβαση γίνεται με προσωπική ενασχόληση σε κάθε ηλεκτρονικό υπολογιστή. Κάνοντας χρήση όμως του κατανεμημένου συστήματος μπορεί να κατασκευαστεί unattended install/uninstall μιας εφαρμογής και να δοθεί εντολή από το διαχειριστή να γίνει η εγκατάσταση αυτόματα και ταυτόχρονα σε όλους τους ηλεκτρονικούς υπολογιστές του εργαστηρίου και μάλιστα χωρίς μεμονωμένη επέμβαση σε κάθε ηλεκτρονικό υπολογιστή. Σε αυτή την περίπτωση ο χρόνος παρέμβασης του διαχειριστή είναι ο χρόνος κατασκευής του unattended install/uninstall της εφαρμογής –το οποίο βεβαία θα γίνει μόνο μια φορά και θα επαναχρησιμοποιείται στο μέλλον.

(9)

Παράδειγμα προβλήματος β– Ανάδειξη στόχου

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

1.1.4 Στόχος 3

Αύξηση του πλήθους των επεμβάσεων εγκατάστασης/ τροποποίησης/

απεγκατάστασης για διατήρηση ποιοτικών υπηρεσιών και ενσωμάτωση νέων υπηρεσιών.

Η μεμονωμένη επέμβαση σε πλήθος ηλεκτρονικών υπολογιστών είναι και χρονοβόρα αλλά και κοπιαστική. Αυτό συνδυασμένο με τα καθημερινά προβλήματα που εμφανίζονται στα εργαστήρια γεμίζει τον καθημερινό διαθέσιμο εργάσιμο χρόνο με αποτέλεσμα να υπάρχει περιορισμένος διαθέσιμος χρόνος για αποδοτική/ποιοτική χρήση των υπαρχόντων υπηρεσιών και επιπλέον περιορίζει την προσθήκη νέων και αναγκαίων υπηρεσιών που προκύπτουν( e-mails servers, authentication servers, web servers κλπ).

(10)

1.1.5 Στόχος 4

Αύξηση του διαθέσιμου ελεύθερου από προβλήματα χρόνου ανά διαχειριστή.

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

Παράδειγμα προβλήματος – Ανάδειξη στόχου

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

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

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

(11)

2. ΣΥΣΤΗΜΑΤΑ ΠΟΛΛΑΠΛΩΝ ΠΡΑΚΤΟΡΩΝ

Ο προγραμματισμός που είναι προσανατολισμένος στους πράκτορες (Agent Oriented Programming) αποτελεί μια σχετικά νέα μόδα ανάπτυξης εφαρμογών η όποια συνδυάζει τις θεωρίες της τεχνητής νοημοσύνης με τα κατανεμημένα συστήματα. Ο AOP ουσιαστικά μοντελοποιεί μια εφαρμογή ως ένα σύνολο από στοιχεία/αντικείμενα που λέγονται πράκτορες (agents) οι όποιοι έχουν ιδιαίτερα χαρακτηριστικά όπως:

αυτονομία, προνοητικότητα, κοινωνικότητα, αντιδραστικότητα, κινητικότητα, προσαρμοστικότητα.

Το αρχιτεκτονικό μοντέλο μιας εφαρμογής προσανατολισμένης σε πράκτορες είναι peer to peer, καθώς οποιοσδήποτε πράκτορας είναι ικανός να ξεκινήσει την επικοινωνία με οποιοδήποτε άλλον πράκτορα ή μπορεί να αποδεχτεί ένα εισερχόμενο αίτημα επικοινωνίας οποιαδήποτε στιγμή.

Η τεχνολογία πρακτόρων έχει βρεθεί στο επίκεντρο εκτεταμένων συζητήσεων και έρευνας στην επιστημονική κοινότητα για αρκετά χρόνια, αλλά μόνο πρόσφατα έχει γίνει αντικείμενο εκμετάλλευσης σε εμπορικές εφαρμογές. Τα συστήματα πολλαπλών πρακτόρων χρησιμοποιούνται με αυξανόμενους ρυθμούς σε μεγάλη ποικιλία εφαρμογών που κυμαίνονται από μικρά συστήματα για προσωπική βοήθεια, μέχρι ανοικτού τύπου, πολύπλοκα και κρίσιμα συστήματα βιομηχανικών εφαρμογών. Παραδείγματα εφαρμογών στο χώρο της βιομηχανίας είναι: έλεγχος διεργασιών(process control), διαγνωστικά συστημάτων (system diagnostics), κατασκευές (manufacturing),

(12)

εφοδιαστική μεταφορών (transportation logistics) και διαχείριση δικτύου (network management).

Όταν υιοθετούμε μια προσέγγιση προσανατολισμένη σε πράκτορες για την επίλυση ενός προβλήματος εμφανίζονται πλήθος από ανεξάρτητα προβλήματα τα όποια πρέπει να αντιμετωπιστούν, όπως θα επικοινωνούν οι πράκτορες. Αντί να περιμένουμε από τους προγραμματιστές/σχεδιαστές λογισμικού να αναπτύξουν τον πυρήνα της αρχιτεκτονικής είναι βολικό να κατασκευαστούν τα συστήματα πολλαπλών πρακτόρων πάνω από ένα middleware προσανατολισμένο στους πράκτορες. Αυτό το middleware παρέχει μια ανεξάρτητη πλατφόρμα που επιτρέπει στους προγραμματιστές να επικεντρωθούν στην επιχειρησιακή λογική (business logic)

Οι πράκτορες θεωρούνται ως ένα από τα πιο σημαντικά παραδείγματα όπου από τη μια πλευρά βελτιστοποιούνται ως προς την κατανόηση, τη σχεδίαση και την υλοποίηση συστημάτων λογισμικού και από την άλλη πλευρά ίσως αποτελέσουν τη λύση στο πρόβλημα ολοκλήρωσης του κληρονομημένου λογισμικού (legacy software integration problem)

2.1 Τι είναι πράκτορας

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

(13)

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

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

2.2 Περιγραφή χαρακτηριστικών πρακτόρων

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

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

(14)

2.2.1 Αυτονομία

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

2.2.2 Κοινωνικότητα

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

2.2.3 Αντιδραστικότητα

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

2.2.4 Προνοητικότητα

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

(15)

εμφανίζονται στο περιβάλλον τους. Τόσο η προνοητικότητα όσο και η αντιδραστικότητα απαιτούν σε κάποιο βαθμό τη δυνατότητα συλλογισμού από τον πράκτορα.

Υπάρχουν μερικά ακόμη δευτερεύοντα χαρακτηριστικά που αποδίδονται στους πράκτορες, τα οποία όμως δεν εμφανίζονται σε όλες τις κατηγορίες, όπως:

2.2.5 Κινητικότητα

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

2.2.6 Προσαρμοστικότητα

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

2.2.7 Ειλικρίνεια

Οι πράκτορες δε δίνουν εσκεμμένα λάθος πληροφορίες.

2.2.8 Αγαθή προαίρεση

Οι πράκτορες προσπαθούν να επιτύχουν πάντα τους στόχους που τους έχουν ανατεθεί.

2.2.9 Λογικότητα

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

(16)

2.3 Αρχιτεκτονικές πρακτόρων

Οι αρχιτεκτονικές πρακτόρων είναι οι θεμελιώδεις μηχανισμοί που διέπουν τα αυτόνομα συστατικά που υποστηρίζουν αποτελεσματική συμπεριφορά στον πραγματικό κόσμο, στα δυναμικά και ανοικτά περιβάλλοντα. Στην πραγματικότητα οι αρχικές προσπάθειες στο πεδίο των πρακτόρων επικεντρώθηκαν στην ανάπτυξη αρχιτεκτονικών έξυπνων πρακτόρων και κατέληξαν σε αρκετά στυλ αρχιτεκτονικών. Τα στυλ αυτά κυμαίνονται από άπλες αντιδραστικές (reactive ή behavioural architecture) αρχιτεκτονικές που λειτουργούν με τη μορφή απλής δράσης- αντίδρασης, έως περισσότερο συμβουλευτικές αρχιτεκτονικές (deliberative architectures) που βασίζονται στη λογική για τις δράσεις τους (BDI - the Belief Desire Intention model). Μεταξύ των δυο ακρών κυμαίνονται υβριδικοί συνδυασμοί ή αρχιτεκτονικές επίπεδων που επιχειρούν να συμπεριλάβουν ανάδραση και συμβουλευτικότητα σε μια προσπάθεια να υιοθετηθεί η καλύτερη προσέγγιση. Από αυτή τη σκοπιά οι αρχιτεκτονικές των πρακτόρων μπορούν να κατηγοριοποιηθούν σε τέσσερις ομάδες: βασισμένες στη λογική, διακρατικές, BDI και επιπεδοποιημένες αρχιτεκτονικές.

2.3.1 Logic-based (symbolic) architectures

Οι βασισμένες στη λογική αρχιτεκτονικές βασίζονται σε τεχνικές συστημάτων βασισμένες στη γνώση(knowledge-based Systems) στις οποίες ένα περιβάλλον συμβολικά αναπαρίσταται και ο χειρισμός του γίνεται χρησιμοποιώντας μηχανισμούς λογικής. Το πλεονέκτημα αυτής της προσέγγισης είναι πως ανθρωπινή γνώση είναι συμβολική συνεπώς η κωδικοποίηση είναι ευκολότερη και μπορούν να δομηθούν με τέτοιο

(17)

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

2.3.2 Reactive architectures

Οι αρχιτεκτονικές βασισμένες στην αντιδραστικότητα υλοποιούν τις αποφάσεις ως μια άμεση χαρτογράφηση μιας κατάστασης σε δράση και βασίζονται σε ένα μηχανισμό δράσης αντίδρασης που ενεργοποιείται από δεδομένα αισθητήρων. Σε αντίθεση με τις βασισμένες στη λογική αρχιτεκτονικές, δεν έχουν κάποιο κεντρικό μοντέλο σύμβολων και έτσι δε χρησιμοποιούν πολύπλοκη συμβολική λογική. Η γνωστότερη αρχιτεκτονική αυτού του είδους είναι η αρχιτεκτονική της σύνοψης του Brooks (Brooks’s subsumption Architecture). Οι κύριες ιδέες του Brooks είναι πως μια ευφυή συμπεριφορά μπορεί να δημιουργηθεί χωρίς σαφείς αναπαραστάσεις ενώ η ευφυΐα είναι σημαντική ιδιότητα συγκεκριμένων πολύπλοκων συστημάτων. Η τεχνική αυτή ορίζει επίπεδα μηχανών πεπερασμένων καταστάσεων που είναι συνδεδεμένες με αισθητήρες που μεταδίδουν πληροφορίες σε πραγματικό χρόνο.

2.3.3 BDI (Belief, desire, intention)

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

(18)

ιδιότητες της πεποίθησης, τη ς επιθυμίας και της πρόθεσης χρησιμοποιώντας μια τυπική λογική. Αρκετά τέτοια συστήματα έχουν κατανοήσει και υλοποιήσει το BDI με ευρεία κλίμακα από εφαρμογές που δείχνουν τη βιωσιμότητα του μοντέλου. Μια από τις πιο γνώστες BDI αρχιτεκτονικές είναι το σύστημα διαδικαστικής λογικής PRS (Procedural Reasoning System) η οποία βασίζεται σε τέσσερις κύριες δομές: πεποιθήσεις, επιθυμίες, προθέσεις και σχέδια, και έναν διερμηνέα,

2.3.4 Layered (hybrid) architectures

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

(19)

2.4 Επικοινωνία και συντονισμός

Ένα από τα κυρία συστατικά των συστημάτων πολλαπλών πρακτόρων είναι η επικοινωνία. Στην πραγματικότητα οι πράκτορες πρέπει να μπορούν να επικοινωνούν με τους χρήστες, με τους πόρους συστήματος, και ο ένας με τον άλλον. Εάν χρειάζεται να συνεργαστούν, να διαπραγματευτούν κ.ο.κ. Ειδικότερα οι πράκτορες αλληλεπιδρούν ο ένας με τον άλλον χρησιμοποιώντας την ειδική γλώσσα πρακτόρων. Η πρώτη γλώσσα επικοινωνίας πρακτόρων ευρείας κλίμακας ήταν η KQML η οποία καθορίζει το πρωτόκολλο ανταλλαγής πληροφοριών καθώς και γνώση η οποία ορίζει ένα πλήθος από επιτελεστικά ρήματα (performative verbs) και επιτρέπει στο περιεχόμενο των μηνυμάτων να αναπαρασταθούν στη γλώσσα λογικής KIF (a first-order logic-like language).

Αυτή τη στιγμή η πιο χρησιμοποιημένη και μελετημένη γλώσσα επικοινωνίας πρακτόρων είναι η FIPA ACL, η οποία ενσωματώνει πολλές απόψεις της KQML. Τα κυρία χαρακτηριστικά της FIPA ACL είναι η δυνατότητα να χρησιμοποιεί διαφορετικές γλώσσες περιεχομένου καθώς και τη διαχείριση των συνομιλιών των πρακτόρων διάμεσου προκαθορισμένων πρωτόκολλων αλληλεπίδρασης. Ο συντονισμός είναι μια διαδικασία στην οποία οι πράκτορες ασκούν ώστε να εξασφαλίσουν πως μια κοινότητα από πράκτορες δρουν με συνεκτικό/συγγενή σκοπό.

Υπάρχουν αρκετοί λόγοι για τους οποίους πολλαπλοί πράκτορες χρειάζεται να συντονιστούν όπως: (1) Στόχοι κάποιων πρακτόρων μπορεί να προκαλούν συγκρούσεις μεταξύ των δράσεων άλλων πρακτόρων. (2) Στόχοι κάποιων πρακτόρων μπορεί να είναι αλληλένδετοι, (3) Κάποιοι πράκτορες μπορεί να έχουν διαφορετικές ικανότητες και διαφορετική

(20)

γνώση, και (4) Στόχοι πρακτόρων μπορεί να ολοκληρώνονται πιο σύντομα αν διαφορετικοί πράκτορες λειτουργούν από κοινού για τον ίδιο σκοπό. Ο συντονισμός ανάμεσα στους πράκτορες μπορεί να πραγματοποιηθεί με ποικιλία προσεγγίσεων συμπεριλαμβάνοντας οργανώσιμη δομή(organizational structuring), διαβούλευση(contracting), σχεδίαση(multi-agent planning) και διαπραγμάτευση(negotiation).

2.4.1 Organizational structuring

Παρέχει ένα πλαίσιο για δραστηριότητα και αλληλεπίδραση διαμέσου τον ορισμό ρόλων, διαδρομών επικοινωνίας και σχέσεις αρχών. Ο ευκολότερος δρόμος για την εξασφάλιση συνεκτικής συμπεριφοράς και επίλυσης συγκρούσεων φαίνεται να εξασφαλίζεται με το να παρέχει στην ομάδα έναν πράκτορα ο όποιος έχει ευρύτερη οπτική του συστήματος ώστε καταυτό τον τρόπο να αξιοποιείται η οργανωτική ιεραρχία. Αυτή είναι η απλούστερη τεχνική συντονισμού που αποφέρει μια κλασσική αρχιτεκτονική τύπου client/server ή master/slave για την κατανομή των εργασιών και των πόρων μεταξύ των πελατών- πράκτορα από έναν εξυπηρέτη-πράκτορα. Ο εξυπηρέτης πράκτορας συλλέγει πληροφορίες από την ομάδα των πρακτόρων, δημιουργεί σχέδια και εκχωρεί εργασίες σε συγκεκριμένους πράκτορες ώστε να εξασφαλιστεί ολική συνοχή.

2.4.2 Contracting

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

(21)

τους τοπικούς του πόρους, θα αποσυνθέσει το πρόβλημα σε υπο- προβλήματα και θα προσπαθήσει να βρει άλλους πρόθυμους πράκτορες με τους απαραιτήτους πόρους για να λύσει αυτά τα υπο-προβλήματα.

2.4.3 Multi-agent planning

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

2.4.4 Negotiation

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

(22)

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

(23)

2.5 Γλώσσες Προγραμματισμού και εργαλεία

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

Τα συστήματα πολλαπλών πρακτόρων μπορούν να πραγματοποιηθούν χρησιμοποιώντας οποιαδήποτε γλώσσα προγραμματισμού. Πιο συγκεκριμένα οι γλώσσες με αντικειμενοστραφή προσανατολισμό θεωρούνται ένα κατάλληλο μέσο διότι η ιδέα του πράκτορα δεν είναι πολύ διαφορετική από την ιδέα του αντικείμενου(object). Στην πραγματικότητα οι πράκτορες μοιράζονται πολλές ιδιότητες με τα αντικείμενα όπως ενσωμάτωση(encapsulation) και συχνά κληρονομικότητα(realized) και ανταλλαγή μηνυμάτων(message passing).

Παρόλα αυτά οι πράκτορες διαφέρουν επίσης από τα αντικείμενα σε αρκετά σημεία κλειδιά: είναι αυτόνομοι, είναι ικανοί να έχουν ευέλικτη συμπεριφορά και κάθε πράκτορας ενός συστήματος έχει το δικό του έλεγχο νήματος.

(24)

Οι γλώσσες προγραμματισμού που έχουν προσανατολισμό σε πράκτορες αποτελούν μια νέα κατηγορία γλωσσών προγραμματισμού που εστιάζει στο να λαμβάνει υπόψη τα κυρία χαρακτηριστικά των συστημάτων πολλαπλών πρακτόρων. Κατ’ ελάχιστο μια γλώσσα προσανατολισμένη σε πράκτορες πρέπει να περιλαμβάνει κάποια δομή που να αντιστοιχεί σε έναν πράκτορα, αλλά οι περισσότερες επίσης παρέχουν μηχανισμούς για την υποστήριξη επιπλέον χαρακτηριστικών πρακτόρων όπως πεποιθήσεις, στόχοι ,σχέδια, ρολόι και πρότυπα. Σήμερα είναι διαθέσιμες αρκετές τέτοιες γλώσσες προγραμματισμού. Κάποιες από αυτές είναι σχεδιασμένες από την αρχή για αυτή τη φιλοσοφία, ενώ άλλες επεκτείνουν υπάρχουσες γλώσσες προγραμματισμού. Μερικά παραδείγματα διαδεδομένων τέτοιων γλωσσών είναι οι: FLUX (Thielscher, 2005), JACK Agent Language(Winikoff, 2005), 3APL (Dastani et al., 2005).

Οι πλατφορμες λογισμικού και τα πλαίσια (frameworks) είναι τα εναλλακτικά κυρία μέσα ενεργοποίησης της ανάπτυξης συστημάτων πολλαπλών πρακτόρων. Τα περισσότερα παρέχουν ένα μέσο να αναπτύξουμε συστήματα σε διαφορετικούς τύπους υλικών και λειτουργικών συστημάτων (hardware και software), συνήθως προσφέροντας ένα ενδιάμεσο (middleware) για να υποστηρίξει την εκτέλεση και τις βασικές λειτουργιές όπως είναι η επικοινωνία και ο συντονισμός. Μερικές από αυτές τις πλατφόρμες και τα πλαίσια έχουν ως κοινό σκοπό να παρέχουν λειτουργικότητες που να συμμορφώνονται με FIPA έτσι ώστε να υποστηρίξουν διαλειτουργικότητα (interoperation) ανάμεσα σε διαφορετικά συστήματα πολλαπλών πρακτόρων. Ακόμα περισσότερο κάποια έχουν το στόχο να υποστηρίξουν διαφορετικούς τύπους υλικού, δίκτυα επικοινωνιών και αρχιτεκτονικές πρακτόρων (όπως είναι το JADE, Bellifemine , 2001),) και άλλες αποκλειστικά

(25)

υποστηρίζοντας ειδικού τύπου πράκτορες (όπως είναι οι πράκτορες φορητών συσκευών).

Ένα σημαντικό χαρακτηριστικό που πρέπει να παρέχουν τα συστήματα πολλαπλών πρακτόρων είναι η ικανότητα να υποστηρίξει τη διαλειτουργικότητα μεταξύ κληροδοτημένων συστημάτων λογισμικού(legacy software systems). Έτσι η διαθεσιμότητα των εργαλείων λογισμικού για την ενσωμάτωση με άλλες τεχνολογίες μπορεί να είναι το κλειδί για την επιτυχία τους. Το διαδίκτυο είναι ένα από τα σημαντικότερα πεδία εφαρμογών και μέσα επικοινωνίας όπου τα συστήματα πολλαπλών πρακτόρων μπορούν να χρησιμοποιήσουν για να παρέχουν τη διαλειτουργικότητα. Έτσι αρκετή από την σύγχρονη ερευνά και εργασίες ανάπτυξης προσανατολίζεται στην παροχή κατάλληλων τεχνικών και εργαλείων λογισμικού για την ενσωμάτωση συστημάτων πολλαπλών πρακτόρων με τεχνολογίες διαδικτύου όπως, υπηρεσίες και τεχνολογίες σημασιολογίας του παγκοσμίου ιστού(Web services and Semantic Web technologies).

(26)

2.6 Εφαρμογές συστημάτων πολλαπλών πρακτόρων

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

Παραδείγματα εφαρμογών των συστημάτων πολλαπλών πρακτόρων στη βιομηχανία περιλαμβάνει: έλεγχο διεργασιών(process control), διάγνωση συστημάτων(system diagnostics), κατασκευές, εφοδιασμού- μεταφορών(transportation logistics) και διαχείριση δικτύου.

Ένα από πιο σημαντικά πεδία εφαρμογών των συστημάτων πολλαπλών πρακτόρων είναι η διαχείριση πληροφοριών(information management). Πιο συγκεκριμένα το διαδίκτυο έχει αναδειχτεί ως ένα ιδανικό πεδίο συστημάτων πολλαπλών πρακτόρων λόγω της κατανεμημένης του φύσης και του όγκου των πληροφοριών που είναι διαθέσιμες. Οι πράκτορες μπορούν να χρησιμοποιηθούν για παράδειγμα στην αναζήτηση και στο φιλτράρισμα μαζικών πληροφοριών. Το διαδίκτυο επίσης έχει προωθήσει τη χρήση των τεχνολογιών πρακτόρων στη διαχείριση εμπορικών και επιχειρηματικών διεργασιών. Στην πραγματικότητα πριν ακόμα εξαπλωθεί στο διαδίκτυο το εμπόριο η διαχείριση των επιχειρηματικών διεργασιών καθοδηγούνταν σχεδόν αποκλειστικά από ανθρώπινες αλληλεπιδράσεις: άνθρωποι αποφάσιζαν ποτέ να αγοραστούν αγαθά,

(27)

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

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

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

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

(28)

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

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

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

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

(29)

3. ΑΝΑΛΥΣΗ / ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΟΣ

3.1 Αντικείμενο της Εργασίας

Αντικείμενο της εργασίας είναι η ανάπτυξη συστήματος εποπτείας/παρακολούθησης Η/Υ εργαστηρίων τμημάτων.

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

Ενδεικτικά η “κατάσταση” των Η/Υ που θα εποπτεύεται περιλαμβάνει τις εξής πληροφορίες:

-Αν είναι ενεργός/ανενεργός.

-Ονομασία Η/Υ.

-Ποιες εφαρμογές είναι εγκατεστημένες.

-Καταγραφή μεγέθους Μνήμης (χρήσιμη λειτουργία για ανίχνευση κλοπής)

-Καταγραφή πληροφοριών σκληρού δίσκου.

(30)

Το σύνολο και το είδος των πληροφοριών -που αφορούν την κατάσταση των Η/Υ- που θα παρακολουθούνται θα προσδιοριστεί σε συνεργασία με το διαχειριστή των συστημάτων.

Κατά την εκπόνηση της παρούσας πτυχιακής οι φοιτητές θα κληθούν να μελετήσουν/υλοποιήσουν τα ακόλουθα

• Μελέτη και ανάλυση προβλήματος.

• Σχεδιασμός βάσης δεδομένων.

• Εκμάθηση MySQL.

• Εκμάθηση γλώσσας διαδικτυακού προγραμματισμού π.χ. Java

• Εξοικείωση και Υλοποίηση Τεχνολογίας Πολλαπλών Πρακτόρων κάνοντας χρήση κατάλληλης Πλατφόρμας Λογισμικού π.χ. JADE (Java Agent DΕvelopment framework).

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

(31)

3.2 Λειτουργικές απαιτήσεις

(Οι λειτουργικές απαιτήσεις δείχνουν τις βασικές λειτουργίες που θα πρέπει να διεκπεραιώνει το υπο-κατασκευή σύστημα)

• Η εφαρμογή του εξυπηρετητή(server) θα είναι παραθυρική και θα είναι εγκατεστημένη σε έναν μόνο υπολογιστή (την διαχειρίζεται μόνο ο διαχειριστής του συστήματος).

• Η εφαρμογή του πελάτη(client) δε θα είναι παραθυρική και θα τρέχει στο παρασκήνιο των ηλεκτρονικών υπολογιστών που θέλουμε να εποπτεύονται. Κάθε client υπολογιστης θα έχει εγκατεστημένη μια τέτοια εφαρμογή.

•Από την εφαρμογή του server ο διαχειριστής θα μπορεί να βλέπει λίστα με τα διαθέσιμα τμήματα.

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

•Κάθε υπολογιστής έχει συγκεκριμένο προφίλ. Το προφίλ περιλαμβάνει βασικά στοιχεία υπολογιστή (IP,subnet mask,gateway και mac address), στοιχεία μνήμης, δίσκου και εφαρμογών. Η επεξεργασία του προφίλ γίνεται από εξειδικευμένη φόρμα.

(32)

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

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

• Ο διαχειριστής θα μπορεί να εισάγει/τροποποιεί/διαγράφει τμήματα και εργαστήρια.

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

•Σε κάθε εργαστήριο θα υπάρχει ένδειξη αν δεν υπάρχει δικτυακή επικοινωνία σε κάποιους από τους υπολογιστές που περιέχει.

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

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

Referências

Documentos relacionados

Επιχείρηση All Business Το All Business είναι ένα πρόγραμμα της Allianz που προβλέπει όλες τις ενδεχόμενες ζημιές, που μπορεί να προκόψουν σε μια επιχείρηση και εξασφαλίζει το κτίριο