Download - ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Transcript
Page 1: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟ∆ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

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

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

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

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Νίκη Ε. Γκαζώνη

Ξενοφών Α. Φαφούτης

Επιβλέποντες: Λάζαρος Μεράκος, Καθηγητής ΕΚΠΑ

Αθανασία Αλωνιστιώτη, Επιστηµονικός Συνεργάτης ΕΚΠΑ

Αντώνιος Λιλής, Ερευνητής ΕΚΠΑ

ΑΘΗΝΑ

ΙΟΥΛΙΟΣ 2007

Page 2: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

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

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Νίκη Ε. Γκαζώνη

Α.Μ.: 1115200200024

Ξενοφών Α. Φαφούτης

Α.Μ.:1115200200135

ΕΠΙΒΛΕΠΟΝΤΕΣ: Λάζαρος Μεράκος, Καθηγητής ΕΚΠΑ

Αθανασία Αλωνιστιώτη, Επιστηµονικός Συνεργάτης ΕΚΠΑ

Αντώνιος Λιλής, Ερευνητής ΕΚΠΑ

Page 3: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 3

ΠΕΡΙΛΗΨΗ

Με την ανάπτυξη ασύρµατων δικτύων που έχουν επίγνωση του περιβάλλοντος και

αντλούν τις απαραίτητες πληροφορίες από αυτό για την προσαρµογή και τη λειτουργία

τους προκύπτει το πρόβληµα της διαχείρισης τους. Απαιτείται η ανάπτυξη τεχνολογιών

αυτοδιαχείρισης, αυτογνωσίας και λήψης αποφάσεων για την προσαρµογή και ρύθµιση

της λειτουργίας τους. Ένα αυτόνοµο σύστηµα µπορεί να συλλέγει και να επεξεργάζεται

πληροφορίες από το περιβάλλον του ώστε να προσαρµόζει και να βελτιστοποιεί τη

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

κανόνες εκφρασµένους στην κατάλληλη γλώσσα και σενάρια που προσοµοιώνουν τις

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

τρόποι δράσης του συστήµατος σε κάθε κατάσταση καθορίζονται από πολιτικές. Η

αναπαράσταση του «κόσµου» στον οποίο αλληλεπιδρούν τα αυτόνοµα ασύρµατα

δίκτυα γίνεται µε ένα σύνολο οντολογιών που υποδηλώνει την ιεραρχία µεταξύ των

στοιχείων της οντολογίας και τις σχέσεις µεταξύ των στοιχείων αυτών, παρόµοια µε ένα

µοντέλο οντοτήτων – συσχετίσεων.

Στα πλαίσια αυτής της εργασίας µοντελοποιούµε ένα τηλεπικοινωνιακό κόσµο σε µία

οντολογία, εκφράζουµε πολιτικές αυτοδιαχείρισης και παρουσιάζουµε παραδείγµατα

δυναµικής λήψης αποφάσεων που υλοποιούν την προσαρµογή και ρύθµιση της

λειτουργίας του συστήµατος στις αλλαγές του περιβάλλοντος του, σύµφωνα µε τις

ιδιότητες των αυτόνοµων συστηµάτων.

ΘΕΜΑΤΙΚΗ ΠΕΡΙΟΧΗ: Ασύρµατα ∆ίκτυα

ΛΕΞΕΙΣ ΚΛΕΙ∆ΙΑ: αυτόνοµο σύστηµα, πολιτική, αυτοδιαχείριση, λήψη αποφάσεων,

οντολογία

Page 4: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 4

ΠΕΡΙΕΧΟΜΕΝΑ

ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ.................................................................................................5 1.1 Εισαγωγή ...............................................................................................................5

ΚΕΦΑΛΑΙΟ 2 ΑΥΤΟΝΟΜΑ ΣΥΣΤΗΜΑΤΑ .......................................................................7 2.1 Αυτόνοµα Συστήµατα .............................................................................................7 2.2 Υλοποίηση του ελέγχου και των βρόγχων ελέγχου ................................................9

ΚΕΦΑΛΑΙΟ 3 ΟΝΤΟΛΟΓΙΕΣ ΚΑΙ Η ΓΛΩΣΣΑ OWL.......................................................12 3.1 Τεχνολογίες Σηµασιολογικού Ιστού ......................................................................12 3.2 Οντολογίες ...........................................................................................................13 3.3 Η γλώσσα OWL ...................................................................................................16 3.4 ∆οµικά στοιχεία της οντολογίας σε OWL.............................................................17

ΚΕΦΑΛΑΙΟ 4 ΠΟΛΙΤΙΚΕΣ ΚΑΙ Η ΓΛΩΣΣΑ SWRL.........................................................21 4.1 Πολιτικές ..............................................................................................................21 4.2 «∆ιύλιση» των πολιτικών .....................................................................................21 4.3 Η γλώσσα SWRL .................................................................................................24

ΚΕΦΑΛΑΙΟ 5 ΣΕΝΑΡΙΟ ΣΕ ΑΥΤΟΝΟΜΟ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΟ ΣΥΣΤΗΜΑ ..............27 5.1 Σενάριο: Γενική παρουσίαση................................................................................27 5.2 Σκοποί και ∆υσκολίες...........................................................................................31

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

6.1 Protégé ................................................................................................................32 6.2 Οντότητες.............................................................................................................32 6.3 Ιδιότητες ...............................................................................................................36

ΚΕΦΑΛΑΙΟ 7 ΠΟΛΙΤΙΚΕΣ ΕΚΦΡΑΣΜΕΝΕΣ ΣΕ SWRL ΚΑΝΟΝΕΣ..............................45 7.1 Protégé και SWRL Κανόνες .................................................................................45 7.2 Στόχος 1: ∆υνατότητα Επιλογής του Καταλληλότερου ∆ικτύου............................45 7.3 Στόχος 2: ∆υνατότητα Μετάβασης από ∆ίκτυο σε ∆ίκτυο ....................................51 7.4 Στόχος 3: Αυτοµατοποιηµένες ∆ιαδικασίες ..........................................................53

ΚΕΦΑΛΑΙΟ 8 ΑΝΑΛΥΤΙΚΗ ΑΝΑΠΤΥΞΗ ΤΟΥ ΣΕΝΑΡΙΟΥ ............................................56 8.1 Jess, Η µηχανή κανόνων .....................................................................................56 8.2 Ο Τηλεπικοινωνιακός Κόσµος..............................................................................57 8.3 Το Σενάριο του Κώστα .........................................................................................62 8.4 Το Σενάριο της Μαρίας.........................................................................................70

ΚΕΦΑΛΑΙΟ 9 ΥΛΟΠΟΙΗΣΗ...........................................................................................79 9.1 Εισαγωγή .............................................................................................................79 9.2 Περιγραφή............................................................................................................81 9.3 Η Βιβλιοθήκη Protégé – OWL ..............................................................................85 9.4 Η Βιβλιοθήκη SWRLRuleEngineBridge................................................................87

ΚΕΦΑΛΑΙΟ 10 ΣΥΜΠΕΡΑΣΜΑΤΑ ................................................................................90 10.1 Συµπεράσµατα...................................................................................................90

ΑΚΡΩΝΥΜΙΑ .................................................................................................................92 ΟΡΟΛΟΓΙΑ ....................................................................................................................94 ΑΝΑΦΟΡΕΣ ..................................................................................................................98

Page 5: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 5

ΚΕΦΑΛΑΙΟ 1

ΕΙΣΑΓΩΓΗ

1.1 Εισαγωγή

Η τάση για σύγκλιση και διαλειτουργικότητα (interoperability) στον τοµέα των

ασύρµατων δικτύων και των κινητών τηλεπικοινωνιών δηµιούργησε την ανάγκη για

εξελιγµένα δίκτυα [1] που να «αντιλαµβάνονται» και να προσαρµόζονται στο

µεταβαλλόµενο περιβάλλον τους, να µπορούν να είναι ευέλικτα ώστε να ενσωµατώνουν

νέες ρυθµίσεις και αναβαθµίσεις των πρωτοκόλλων και του υπόλοιπου λογισµικού τους

χωρίς να δυσχεραίνεται η διασύνδεση µεταξύ διαφορετικών τεχνολογιών αλλά και να

µπορούν να λαµβάνουν αποφάσεις για τη διαχείριση τους ανάλογα µε την κατάσταση

του περιβάλλοντος τους.

Με την ανάπτυξη ολοένα και πιο πολύπλοκων γνωσιακών (cognitive) συστηµάτων και

συσκευών που έχουν επίγνωση του περιβάλλοντος (context aware) και αντλούν τις

απαραίτητες πληροφορίες από αυτό για την προσαρµογή και τη λειτουργία τους (π.χ.

θέση, χρεώσεις υπηρεσιών, προτιµήσεις χρηστών) προκύπτει το πρόβληµα της

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

λειτουργίας αυτών των συστηµάτων. Τη λύση στο πρόβληµα καλείται να δώσει η

επιστηµονική / επιχειρηµατική κοινότητα µε την ανάπτυξη τεχνολογιών αυτοδιαχείρισης

(self–management), αυτογνωσίας (self-awareness) και λήψης αποφάσεων από το ίδιο

το σύστηµα για την προσαρµογή και ρύθµιση της λειτουργίας του. Μάλιστα αυτό είναι

επιθυµητό σε τέτοιο βαθµό ώστε να µειωθεί η ανάγκη ανθρώπινης παρέµβασης στη

διαχείριση, να εξασφαλιστεί η σταθερότητα της απόδοσης των δικτύων, εξυπηρετώντας

την επεκτασιµότητα και δυνατότητα κλιµάκωσης (scalability) αυτών των συστηµάτων,

την µείωση του λειτουργικού κόστους και παρέχοντας στον χρήστη µια διαφανή

(seamless) εµπειρία απολαβής υπηρεσιών.

Ο χαρακτηρισµός αυτόνοµο (autonomic) προσδιορίζει ένα σύστηµα που ενσωµατώνει

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

και να επεξεργάζεται πληροφορίες από το περιβάλλον του (contextual information)

ώστε να προσαρµόζει και να βελτιστοποιεί τη δοµή και τις ρυθµίσεις του ανάλογα µε τις

συνθήκες. Επειδή οι πληροφορίες περιβάλλοντος είναι µεταβλητές και προφανώς δεν

είναι γνωστές στο σύστηµα εκ των προτέρων, απαιτείται η δηµιουργία µηχανισµών που

Page 6: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 6

να µπορούν να συνάγουν τις αλλαγές στο περιβάλλον από τις πληροφορίες που

λαµβάνουν και να «µαθαίνουν» τα επαναλαµβανόµενα γνωρίσµατά (patterns) τους.

Αυτό µπορεί να επιτευχθεί µε την ενσωµάτωση µηχανισµών που µε βάση κανόνες

εκφρασµένους στην κατάλληλη γλώσσα και σενάρια που προσοµοιώνουν τις διάφορες

δυνατές καταστάσεις στις οποίες θα πρέπει να προσαρµοστεί το σύστηµα, δίνουν τη

δυνατότητα λήψης αποφάσεων [2]. Οι τρόποι δράσης του συστήµατος σε κάθε

κατάσταση καθορίζονται από τις πολιτικές (policies) που έχουν περιγραφεί µε τα

ανωτέρω σενάρια και κανόνες.

Προκειµένου να γίνει η αναπαράσταση του «κόσµου» στον οποίο βρίσκεται και

αλληλεπιδρά ένα επαναρυθµιζόµενο (reconfigurable) σύστηµα χρησιµοποιείται ένα

σύνολο οντολογιών, δηλαδή ένα σύστηµα τάξεων – οντοτήτων που υποδηλώνει την

ιεραρχία µεταξύ των στοιχείων (components) της οντολογίας και τις σχέσεις µεταξύ των

οντοτήτων αυτών, παρόµοια µε ένα µοντέλο οντοτήτων – συσχετίσεων [3]. Στα πλαίσια

αυτής της εργασίας θα µοντελοποιήσουµε ένα τηλεπικοινωνιακό κόσµο σε µία

οντολογία, θα εκφράσουµε πολιτικές αυτοδιαχείρισης και θα παρουσιάσουµε

παραδείγµατα δυναµικής λήψης αποφάσεων που υλοποιούν την προσαρµογή και

ρύθµιση της λειτουργίας του συστήµατος στις αλλαγές του περιβάλλοντος του,

σύµφωνα µε τις ιδιότητες των αυτόνοµων συστηµάτων. Η γλώσσα αναπαράστασης

οντολογιών που θα χρησιµοποιηθεί για την µοντελοποίηση του περιβάλλοντος των

ασυρµάτων δικτύων στην παρούσα εργασία είναι η OWL (Web Ontology Language)

[11]. Ο τρόπος µε τον οποίο το σύστηµα θα µεταβαίνει από µια κατάσταση σε άλλη

µπορεί να καθορίζεται από ένα σύνολο κανόνων εκφρασµένων στην γλώσσα SWRL

(Semantic Web Rule Language) [20].

Page 7: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 7

ΚΕΦΑΛΑΙΟ 2

ΑΥΤΟΝΟΜΑ ΣΥΣΤΗΜΑΤΑ

2.1 Αυτόνοµα Συστήµατα

Η έλλειψη αυτονοµίας στα σηµερινά δίκτυα εµποδίζει την ανεξάρτητη εξέλιξη και

κλιµάκωση τους. Μια βασική αιτία για αυτό είναι ότι δεν επιτρέπει τον σχηµατισµό τους

όποτε απαιτείται (ad hoc) και την προσαρµογή τους στο διαρκώς µεταβλητό

«περιβάλλον» στο οποίο λειτουργούν, διότι δεν υποστηρίζεται η διαχείριση τέτοιων

συστηµάτων. Οι αδυναµίες διαχείρισης που παρουσιάζονται σε πολύπλοκα δίκτυα

µπορούν να συνοψιστούν ως εξής [5]:

• Ένα σύνολο δικτυακών οντοτήτων µπορεί να παρουσιάζει συµπεριφορά που δεν

είναι δυνατόν να προβλεφθεί µε βάση τη γνώση για την κάθε οντότητα

ξεχωριστά.

• Ο ντετερµινιστικός προσδιορισµός των αιτίων της συµπεριφοράς πολύπλοκων

δικτυακών συστηµάτων περιορίζεται σε απλή στατιστική ανάλυση και

στοιχειώδεις προσεγγίσεις συσχετισµού. Αυτές οι προσεγγίσεις βασίζονται σε

διαγνωστικές τεχνικές που έχουν διεκπεραιωθεί πριν από την λειτουργία του

συστήµατος.

• ∆εν υπάρχει δυνατότητα από πλευράς του συστήµατος να προχωρήσει πέρα

από την προκαθορισµένη γνώση και διαδικασίες. Προκειµένου να γίνει ρύθµιση

σε οποιοδήποτε στάδιο της λειτουργίας του συστήµατος απαιτείται ο ανθρώπινος

παράγοντας (human in the loop).

• Όλες οι σύγχρονες τεχνικές πρόβλεψης και τροποποίησης της συµπεριφοράς

των δικτύων στηρίζονται σε αναλύσεις που διεξάγονται από ανθρώπους σε

χρόνο ανεξάρτητο µε τη λειτουργία του συστήµατος και που απαιτούν εκτενή

γνώση του συστήµατος, της υλοποίησης και της τεχνολογίας που

χρησιµοποιείται, που φυσικά ποικίλλουν µεταξύ συστηµάτων.

Η λύση στο πρόβληµα είναι εµπνευσµένη από τη λειτουργία και τη δοµή του

ανθρώπινου νευρικού συστήµατος και αποκαλείται αυτόνοµη δικτύωση (autonomic

networking). Οι αρχές που διέπουν ένα αυτόνοµο σύστηµα είναι οι εξής [4]:

Page 8: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 8

• Αυτογνωσία (self-awareness): το σύστηµα γνωρίζει την κατάσταση στην οποία

βρίσκεται και τις πιθανές συµπεριφορές (behaviors) που µπορεί να επιδείξει.

• Αυτοπροστασία (self-protecting): το σύστηµα είναι εξίσου επιρρεπές σε

δυσλειτουργίες και επιθέσεις και είναι ικανό να τις εντοπίζει, να προστατεύει τους

πόρους του από εξωτερικές είτε εσωτερικές επιθέσεις και να διατηρεί την συνολική

του ασφάλεια και ακεραιότητα.

• Αυτοθεραπεία (self-healing): ένα αυτόνοµο σύστηµα είναι ενήµερο για τα πιθανά

προβλήµατα που µπορεί να προκύψουν και έχει τη δυνατότητα να επαναρυθµιστεί

ώστε να συνεχιστεί η οµαλή λειτουργία του.

• Αυτορύθµιση (self-configuring): ένα αυτόνοµο σύστηµα έχει τη δυνατότητα να

προσαρµόζει δυναµικά τους πόρους του µε βάση την κατάσταση του και την

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

• Επίγνωση του περιβάλλοντος (contextually aware): πρέπει να αντιλαµβάνεται το

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

• Ανοικτό (open): θα πρέπει να µπορεί να µεταφερθεί σε διαφορετικές αρχιτεκτονικές

υλικού και λογισµικού και συνεπώς να έχει υλοποιηθεί µε βάση προτυποποιηµένα

(standard) και ανοικτά πρωτόκολλα και διεπαφές (interfaces).

• Προνοητικό (anticipatory): ένα τέτοιο σύστηµα θα πρέπει να προβλέπει, στο βαθµό

που µπορεί, τις ανάγκες και τις συµπεριφορές του ιδίου αλλά και του περιβάλλοντος

του και να αυτό-διαχειρίζεται εκ προοιµίου (proactive self management).

Η αυτοδιακυβέρνηση (self-governing) των αυτόνοµων συστηµάτων επιτυγχάνεται µε

ένα µοντέλο διαχείρισης βασισµένο σε πολιτικές [κεφ 4], που καθορίζονται από τους

επιχειρηµατικούς στόχους των συµµετεχόντων στη λήψη αποφάσεων (stakeholders) για

τις λειτουργίες του δικτύου. Με τη χρήση της αυτογνωσίας του συστήµατος µπορούν να

µελετηθούν οι δυνατότητες του συστήµατος και οι περιορισµοί που τίθενται σε αυτό

λόγω της λειτουργίας του µέσα σε ένα περιβάλλον.

Πολλαπλοί βρόγχοι ελέγχου (control loops) δίνουν στο σύστηµα την ικανότητα να

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

ελέγχει εάν οι στόχοι του εξακολουθούν να ικανοποιούνται, να σχεδιάζει τις αλλαγές που

πρέπει να γίνουν σε περίπτωση που απειλείται η επίτευξη των στόχων, να εκτελεί αυτές

Page 9: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 9

τις αλλαγές και να επεξεργάζεται τα αποτελέσµατα. Οι βρόγχοι ελέγχου ενισχύονται από

τις διαδικασίες αυτό-µάθησης (self-learning) και εξαγωγής συµπερασµάτων, δίνοντας

στο σύστηµα τη δυνατότητα να αναπτύξει ευρύτερη γνώση του ιδίου και του

περιβάλλοντος, µέσω της εµπειρίας και της ενσωµάτωσης νέας γνώσης που

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

η αυτοδιακυβέρνηση είναι ένα συνεχές (continuum).

2.2 Υλοποίηση του ελέγχου και των βρόγχων ελέγχου

Ο ρόλος του τµήµατος ελέγχου (control) σε ένα αυτόνοµο σύστηµα είναι να διατηρεί την

οµαλή λειτουργία του συστήµατος και να εξασφαλίζει υψηλή απόδοση, παρά τις όποιες

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

λειτουργίες του:

• Μηχανή Παρακολούθησης και Ανάλυσης (Monitoring and Analysis Engine, M&A):

Παρακολουθεί την κατάσταση του συστήµατος και τις επιδόσεις του µέσω των

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

• Μηχανή Σχεδιασµού (Planning Engine, PE): Σχεδιάζει εναλλακτικές στρατηγικές

εκτέλεσης (επιλέγοντας τις κατάλληλες ενέργειες) ώστε να βελτιστοποιηθούν οι

συµπεριφορές του συστήµατος και οι λειτουργίες του.

• Μηχανή Γνώσης (Knowledge Engine, ΚΕ): Παρέχει την υποστήριξη της λήψης

αποφάσεων ώστε να επιλέγεται ο κατάλληλος κανόνας από ένα σύνολο κανόνων

για την βελτίωση της απόδοσης.

• Μηχανή Εκτέλεσης (Execution Engine, ΕΕ): Εκτελεί τις αλλαγές στη

συµπεριφορά του συστήµατος που έχουν αποφασιστεί από τις προηγούµενες

µηχανές.

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

υποσυστηµάτων κλειστών βρόγχων ελέγχου (closed control loops) [4] που

ενεργοποιούνται µε την εφαρµογή και τους αισθητήρες του συστήµατος (reactive) αλλά

και µε online µοντέλα πρόβλεψης της απόδοσης (proactive) και µε αυτόν τον τρόπο

διαχειρίζεται και βελτιστοποιεί τη λειτουργία του συστήµατος.

Τοπικός βρόγχος ελέγχου (local control loop)

Page 10: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 10

Αυτός ο βρόγχος υλοποιεί την αυτοδιαχείριση του κάθε ξεχωριστού στοιχείου του

συστήµατος. Ελέγχει για τους τοπικούς αλγόριθµους και τις στρατηγικές δέσµευσης

πόρων τοπικά. ∆ιαχειρίζεται µόνο γνωστές εκ των προτέρων καταστάσεις του

περιβάλλοντος µε βάση την αντιστοίχηση αυτών των καταστάσεων σε συµπεριφορές

όπως αυτές εµπεριέχονται στην µηχανή γνώσης. Ο τοπικός βρόγχος είναι «τυφλός» ως

προς την συνολική συµπεριφορά του συστήµατος και γι’ αυτό δε συνεισφέρει στην

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

υπερβεί µια τιµή κατωφλίου, ο τοπικός βρόγχος ελέγχου θα εξισορροπήσει το φορτίο

είτε ελέγχοντας τους τοπικούς πόρους είτε µειώνοντας το µέγεθος του υπολογιστικού

φορτίου. Αυτή η τακτική θα λειτουργήσει µόνο εάν οι υπολογιστικές ανάγκες µπορούν

να ικανοποιηθούν από τους τοπικούς πόρους.

Εικόνα 1: Μια εννοιολογική αναπαράσταση του αυτόνοµου συστήµατος [4]

Καθολικός βρόγχος ελέγχου (global control loop)

Όταν µια από τις κρίσιµες µεταβλητές του συστήµατος υπερβεί τα επιθυµητά όρια,

ενεργοποιείται το υποσύστηµα καθολικού βρόγχου ελέγχου. Ο βρόγχος αυτός θα

Page 11: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 11

διαχειριστεί τη συµπεριφορά του συνολικού συστήµατος και θα καθορίσει τη γνώση που

θα χρησιµοποιηθεί για να γίνουν έπειτα τοπικές ρυθµίσεις. Μπορεί να διαχειριστεί

άγνωστες εκ των προτέρων καταστάσεις περιβάλλοντος και χρησιµοποιεί τέσσερα

πρωτεύοντα χαρακτηριστικά (cardinals) για την παρακολούθηση και ανάλυση της

λειτουργίας του συστήµατος, απόδοση (performance), ανεκτικότητα σε σφάλµατα (fault

tolerance), ρύθµιση (configuration) και ασφάλεια (security). Στο προηγούµενο

παράδειγµα, η προκαθορισµένη συµπεριφορά του συστήµατος θα ήταν να επιχειρήσει

να διατηρήσει το τοπικό υπολογιστικό φορτίο µέσα στα ανεκτά όρια. Λαµβάνοντας υπ’

όψιν µόνο τις τοπικές µεταβολές και ακολουθώντας µια προκαθορισµένη τακτική χωρίς

να λαµβάνεται υπ’ όψιν το δίκτυο συνολικά οδηγεί στην υποβάθµιση της συνολικής

απόδοσης του συστήµατος. Αυτή ακριβώς η µείωση της απόδοσης θα ενεργοποιήσει

τον καθολικό βρόγχο ελέγχου, ο οποίος θα επιλέξει ένα εναλλακτικό πρότυπο

συµπεριφοράς (behavior pattern) από τη δεξαµενή συµπεριφορών (behavior pool). Η

µηχανή σχεδιασµού (PE) αποφασίζει το κατάλληλο σχέδιο ενεργειών χρησιµοποιώντας

τη µηχανή γνώσης (KE). Τελικά η µηχανή εκτέλεσης (EE) εφαρµόζει το σχέδιο

προσαρµόζοντας τη συµπεριφορά του συστήµατος στις νέες συνθήκες περιβάλλοντος.

Page 12: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 12

ΚΕΦΑΛΑΙΟ 3

ΟΝΤΟΛΟΓΙΕΣ ΚΑΙ Η ΓΛΩΣΣΑ OWL

3.1 Τεχνολογίες Σηµασιολογικού Ιστού

Η δηµιουργία µεταδεδοµένων (metadata) που θα αναπαριστούν πληροφορίες για το

ίδιο το περιεχόµενο ενός εγγράφου και για τις συσχετίσεις αυτού µε άλλα έγγραφα ή για

τις περιγραφόµενες οντότητες µέσα σε αυτό αποτελεί τον βασικό σκοπό των

τεχνολογιών σηµασιολογικού ιστού (semantic web technologies) προσφέροντας έτσι µια

νέα προσέγγιση στην διαχείριση και οργάνωση πληροφοριών και την αναπαράσταση

γνώσης.

Σε αντίθεση µε τα µεταδεδοµένα της HTML [9] που παρέχουν πληροφορίες µόνο για την

παρουσίαση ενός εγγράφου και των περιεχοµένων του και όχι για το ίδιο το

περιεχόµενο, τα σηµασιολογικά µεταδεδοµένα (semantic metadata) είναι µια

αναπαράσταση κατανοητή από τους υπολογιστές ώστε να µπορούν να συνάγουν νέες

πληροφορίες σχετικά µε τα δεδοµένα και τις συσχετίσεις µεταξύ τους. Συνεπώς πλέον

τα δεδοµένα συσχετίζονται µε το νόηµα τους και όχι απλά µε το κείµενο.

Οι εφαρµογές των τεχνολογιών της σηµασιολογίας (semantics) είναι πολλαπλές [6].

Αρχικά δίνεται η δυνατότητα οργάνωσης και αναζήτησης πληροφοριών µε βάση το

νόηµα και τα συµφραζόµενα (context) των δεδοµένων. Έτσι ένα σύστηµα µπορεί να

διακρίνει πότε µια λέξη χρησιµοποιείται µε διαφορετικές σηµασίες. Για παράδειγµα εάν

επιθυµεί κανείς να κάνει µια αναζήτηση στη λέξη Jaguar έχοντας κατά νου την

βιοµηχανία αυτοκίνητων το σύστηµα θα µπορεί να αγνοήσει πιθανά αποτελέσµατα της

αναζήτησης που αφορούν στο οµώνυµο αιλουροειδές. Παράλληλα οι πληροφορίες

µπορούν να οργανωθούν νοηµατικά, δηλαδή στην προηγούµενη αναζήτηση να έχουµε

τα συνολικά αποτελέσµατα οµαδοποιηµένα ανάλογα µε το αν αφορούν το ζώο, τα

αυτοκίνητα ή άλλα θέµατα. Περαιτέρω µε τη χρήση σηµασιολογίας µπορεί ένα σύστηµα

να συγχωνεύσει πληροφορίες από όλα τα συναφή έγγραφα, αφαιρώντας τους

πλεονασµούς και ακόµα να κάνει περιλήψεις όπου είναι δυνατόν. Επιπλέον οι

συσχετίσεις µεταξύ βασικών οντοτήτων µέσα σε ένα έγγραφο µπορούν να

παρουσιαστούν και οπτικά. Όλα αυτά υποστηρίζονται από την δυνατότητα ενός

συστήµατος να εξάγει συµπεράσµατα σχετικά µε τις οντότητες που αναπαριστούν την

υπάρχουσα γνώση δηµιουργώντας νέα γνώση.

Page 13: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 13

Σηµαντικός είναι ο ρόλος της σηµασιολογίας [8] στην συγχώνευση και αλληλεπίδραση

δεδοµένων που προέρχονται από ετερογενείς πηγές, για παράδειγµα διαφορετικούς

τηλεπικοινωνιακούς οργανισµούς. Καθώς διαφορετικές δοµές και αρχιτεκτονικές

χρησιµοποιούνται συνήθως για την αναπαράσταση πληροφοριών και διαφορετικές

ορολογίες τα περιγράφουν, προκείµενου τέτοια δεδοµένα να ενοποιηθούν και να γίνουν

αντιληπτά από ετερογενή συστήµατα , µε τη χρήση σηµασιολογίας δηµιουργούνται

αντιστοιχίες (mappings) µεταξύ των διαφορετικών σχηµάτων παρέχοντας έτσι

διαλειτουργικότητα µεταξύ των διαφορετικών διεργασιών που χρησιµοποιούν τις

πληροφορίες.

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

περιγραφές σε υπηρεσίες δικτύου (web services). Όταν οι πληροφορίες για την

λειτουργία µιας τέτοιας υπηρεσίας µπορούν να επισυναφθούν στην υπηρεσία, τότε αυτή

µπορεί να ανακαλυφθεί από τους ενδιαφερόµενους καταναλωτές της σε έναν δικτυακό

χώρο όπου έχει δηµοσιοποιηθεί και να γνωστοποιηθεί πιο εύκολα . Παράλληλα όταν το

περιεχόµενο και η λειτουργία τέτοιων υπηρεσιών είναι διαθέσιµο σε ένα σύστηµα, τότε

µπορούν να συντεθούν νέες υπηρεσίες από συνδυασµούς αυτών που ήδη υπάρχουν,

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

Στα πλαίσια των ασυρµάτων δικτύων η σηµασιολογία έχει εφαρµογές στην

αναπαράσταση της γνώσης για τον τηλεπικοινωνιακό κόσµο στον οποίο λειτουργούν τα

δίκτυα καθώς και στην δυνατότητα επισύναψης σχολίων κατανοητών από υπολογιστή

στις διάφορες νέες υπηρεσίες και πρωτόκολλα που µπορούν να αναπτύσσονται και να

προτείνονται προς χρήση. Παράλληλα επιτρέπει την ανταλλαγή πληροφοριών µεταξύ

των ποικίλλων ετερογενών αρχιτεκτονικών και συστηµάτων που εφαρµόζονται στα

ασύρµατα δίκτυα, υποστηρίζοντας έτσι την διαλειτουργικότητα.

3.2 Οντολογίες

Ο σηµασιολογικός ιστός επιτρέπει την συνεργασία µεταξύ ετερογενών συστηµάτων

επειδή αποδίδει καλά ορισµένο και αντιληπτό νόηµα στις πληροφορίες. Αυτός ο

προσδιορισµός του νοήµατος επιτυγχάνεται µε τη χρήση οντολογιών. Οι ιδιότητες που

καθιστούν τις οντολογίες βασικό συστατικό των υπολογιστικών συστηµάτων που έχουν

επίγνωση του περιβάλλοντός τους είναι [6]:

Page 14: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 14

• Μια κοινή οντολογία επιτρέπει την ανταλλαγή γνώσης µεταξύ δυναµικών

κατανεµηµένων συστηµάτων

• Οι σωστά δηλωµένες οντότητες παρέχουν την δυνατότητα στους ευφυείς

πράκτορες (intelligent agents) να βγάλουν συµπεράσµατα για την κατάσταση

ενός συστήµατος µε την επεξεργασία των πληροφοριών περιβάλλοντος,

• Μια οντότητα που έχει αναπαρασταθεί µε σαφήνεια επιτρέπει σε συσκευές και

πράκτορες (agents) που δεν είναι εξ’ αρχής σχεδιασµένα να λειτουργούν µαζί, να

συνεργάζονται. Χωρίς τις οντολογίες η γνώση που είναι ενσωµατωµένη σε ένα

σύστηµα θα ήταν περιορισµένη για χρήση µόνο σε αυτό.

Κύριο χαρακτηριστικό των οντολογιών είναι οι οντότητες (classes). Μια οντότητα

αντιπροσωπεύει µια έννοια του γνωστικού πεδίου (domain) και διαθέτει κάποιες

ιδιότητες (properties) που αντιστοιχούν στα χαρακτηριστικά της συγκεκριµένης έννοιας

και υποδεικνύουν τις σχέσεις µεταξύ αντικειµένων (individuals) των οντοτήτων. Μια

οντότητα µπορεί να έχει υπό-οντότητες (subclasses) που αντιπροσωπεύουν έννοιες πιο

εξειδικευµένες από την οντότητα στην οποία ανήκουν. Στις σχέσεις µεταξύ των

οντοτήτων, που περιγράφονται από τις ιδιότητες, µπορεί να υπάρχουν περιορισµοί

(restrictions).

Οι βασικοί λόγοι για τους οποίους αναπτύσσει κανείς οντολογίες είναι [10]:

• Για την από κοινού κατανόηση της δοµής των πληροφοριών µεταξύ ατόµων ή

πρακτόρων λογισµικού (software agents).

• Για την δυνατότητα επαναχρησιµοποίησης (knowledge reusability) της γνώσης

γύρω από κάποιο πεδίο.

• Για να γίνουν σαφείς οι υποθέσεις (explicit assumptions) για τη δοµή ενός

γνωστικού πεδίου.

• Για τον διαχωρισµό της γνώσης σχετικά µε ένα πεδίο από την γνώση για τη

λειτουργία µιας υλοποίησης.

• Για την ανάλυση της γνώσης σχετικά µε ένα πεδίο.

Εάν διαφορετικά συστήµατα δηµοσιοποιούν και µοιράζονται την ίδια οντολογία για

περιγραφή των όρων που χρησιµοποιούν τότε οι υπολογιστικοί πράκτορες (computer

Page 15: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 15

agents) µπορούν να εξάγουν και να συναθροίσουν τη γνώση από διαφορετικά

συστήµατα και κατόπιν να χρησιµοποιήσουν τη συνολική γνώση για να απαντήσουν

επερωτήσεις (queries) χρηστών ή σαν είσοδο σε άλλες εφαρµογές.

Όταν µια ερευνητική οµάδα αναπτύξει µια λεπτοµερή οντολογία για κάποιο γνωστικό

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

γνωστικό πεδίο µε κοινά χαρακτηριστικά. Επιπλέον προκειµένου να αναπτυχθεί µια

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

κάθε µια περιγράφοντας ένα τµήµα του µεγάλου γνωστικού πεδίου. Αυτό είναι και ένα

παράδειγµα της δυνατότητας επαναχρησιµοποίησης των οντολογιών.

Εικόνα 2: Παράδειγµα Οντολογίας για Ασύρµατα ∆ίκτυα [7]

Σε µια υλοποίηση η διατύπωση κατηγορηµατικών υποθέσεων (explicit assumptions) για

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

Page 16: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 16

χρειάζεται επέµβαση στην αρχιτεκτονική του συστήµατος, εάν η γνώση σχετικά µε το

πεδίο αυτό αλλάξει. Αντίθετα, ο άκαµπτος τρόπος έκφρασης των υποθέσεων σε µια

προγραµµατιστική γλώσσα θα τις έκανε όχι µόνον δυσνόητες αλλά και δύσκολο να

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

Παράλληλα είναι εύκολο για κάποιον νέο στο αντικείµενο να κατανοήσει την ορολογία

που το περιγράφει.

Μπορούµε να αναπτύξουµε έναν αλγόριθµο για την ρύθµιση των παραµέτρων ενός

συστήµατος που να δέχεται σαν είσοδο µια οντολογία που περιγράφει τα στοιχεία του

συστήµατος προς ρύθµιση, ανεξάρτητα από το τι ακριβώς θα περιγράφει η οντολογία

αυτή. Έτσι τον ίδιο αλγόριθµο µπορούµε να τον εφαρµόσουµε για την ρύθµιση των

παραµέτρων ενός µεγάλου υπολογιστικού συστήµατος αλλά και για τη ρύθµιση ενός

κινητού τηλεφώνου, ανάλογα µε την οντολογία που θα του δώσουµε ως είσοδο.

Τέλος, η ανάλυση της γνώσης που περιγράφει ένα πεδίο είναι εφικτή µε τον δηλωτικό

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

επιχειρείται επαναχρησιµοποίηση ή επέκταση µιας οντολογίας ή ενός συστήµατος.

3.3 Η γλώσσα OWL

Μια γλώσσα αναπαράστασης οντολογιών (ontology representation) που αναπτύχθηκε

από τον οργανισµό W3C (World Wide Web Consortium) είναι η OWL (Web Ontology

Language) [11]. Βασίζεται στην τεχνολογία RDF (Resource Description Framework) [12]

που είναι µια γλώσσα µοντελοποίησης δεδοµένων, βασιζόµενη σε γράφους που

υλοποιείται σε XML (eXtended Markup Language) [13]. Ουσιαστικά αποτελείται από

τριπλέτες του τύπου «υποκείµενο – κατηγόρηµα – αντικείµενο». Το υποκείµενο είναι

συνήθως ένας πόρος (resource) που κατονοµάζεται από ένα URI (Uniform Resource

Identifier) [14]. To κατηγόρηµα είναι επίσης ένας πόρος. Το αντικείµενο µπορεί να είναι

πόρος, ή ένας κενός κόµβος στο γράφο (µη αναγνωρίσιµος έξω από τον γράφο) ή ένα

αλφαριθµητικό. Η OWL διαθέτει πλούσιο λεξιλόγιο και κάποια πρόσθετα στοιχεία όπως

ιεραρχία µεταξύ των οντοτήτων (classes), την έννοια της ισότητας καθώς και πιο

πλούσια περιγραφή των ιδιοτήτων (properties), χάρις στα οποία διαδόθηκε.

Η OWL περιλαµβάνει τρεις υλοποιήσεις που διαβαθµίζονται ανάλογα µε την

εκφραστικότητα τους. Κάθε µια υπό-γλώσσα (sub-language) αποτελεί επέκταση της

Page 17: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 17

προγόνου (predecessor) της [7]. Η OWL Lite είναι η λιγότερο εκφραστική και µπορεί να

περιγράψει ιεραρχίες οντοτήτων και απλούς περιορισµούς. Λόγω της απλότητας της

είναι ευκολότερο να δηµιουργηθούν εργαλεία σε αυτή τη γλώσσα. Η OWL DL

(Description Logic) παρέχει περισσότερη εκφραστικότητα ενώ παράλληλα διατηρεί

υπολογιστική πληρότητα (computational completeness) και αποφασισιµότητα

(decidability). Έτσι είναι δυνατόν να παραχθούν λογικά συµπεράσµατα για την ιεραρχία

των κλάσεων και να ελεγχθεί για αντιφάσεις µια οντολογία σε OWL DL. Τέλος, η OWL

Full παρέχει στους χρήστες τη µέγιστη εκφραστικότητα και συντακτική ελευθερία αλλά

όχι εγγυηµένη υπολογισιµότητα (computational guarantees). Συνεπώς δεν είναι εφικτό

να πραγµατοποιηθεί αυτοµατοποιηµένη εξαγωγή συµπερασµάτων (automated

reasoning) σε µια OWL Full ontology.

3.4 ∆οµικά στοιχεία της οντολογίας σε OWL

Ακολουθεί µια περιγραφή των συστατικών µιας οντολογίας [10] σύµφωνα µε την

ορολογία που χρησιµοποιείται στην πλατφόρµα Protégé την οποία χρησιµοποιούµε για

την ανάπτυξη της οντολογίας µας σχετικά µε τα ασύρµατα δίκτυα (βλέπε κεφάλαιο 6).

Οι ονοµασίες των δοµικών στοιχείων και κάποιες λεπτοµέρειες διαφέρουν σε ορισµένες

περιπτώσεις από την κλασσική OWL αλλά η βασική δοµή είναι η ίδια.

Αντικείµενα (Individuals)

Τα αντικείµενα αναπαριστούν αντικείµενα µέσα στο γνωστικό πεδίο που µας ενδιαφέρει

να µοντελοποιήσουµε. Αποτελούν στιγµιότυπα των οντοτήτων (classes). Στην

κλασσική OWL το να έχουν δυο αντικείµενα διαφορετικά ονόµατα δεν εξασφαλίζει ότι

πρόκειται για διαφορετικές οντότητες (εδώ µε την κυριολεκτική έννοια), δηλαδή κάλλιστα

δυο ονόµατα θα µπορούσαν να αναφέρονται στο ίδιο αντικείµενο. Στην OWL πρέπει

ρητά να δηλώνεται εάν δυο αντικείµενα είναι ίδια ή διαφορετικά.

Ιδιότητες (Properties)

Οι ιδιότητες (properties) είναι εν γένει διµερείς σχέσεις µεταξύ δυο αντικειµένων ή

µεταξύ ενός αντικειµένου και µιας τιµής. Συγκεκριµένα οι ιδιότητες αντικειµένων (object

properties) συνδέουν ένα αντικείµενο µε ένα άλλο. Αυτού του τύπου οι ιδιότητες

υποχρεωτικά έχουν ένα πεδίο ορισµού (domain) που αναπαριστά το σύνολο των

αντικειµένων από το οποίο ξεκινά η αντιστοιχία και ένα πεδίο τιµών (range) που είναι το

Page 18: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 18

σύνολο των αντικειµένων στο οποίο καταλήγει η αντιστοιχία. Για παράδειγµα η ιδιότητα

αντικειµένων isOperatedby που αντιστοιχεί διαχειριστές (operators) σε δίκτυα έχει σαν

πεδίο ορισµού ένα σύνολο δικτύων (networks) και σαν πεδίο τιµών ένα σύνολο

διαχειριστών. Σε περίπτωση που πολλές οντότητες οριστούν σαν πεδίο ορισµού µιας

ιδιότητας τότε η Protégé OWL ερµηνεύει σαν πεδίο ορισµού την ένωση αυτών των

συνόλων.

Οι ιδιότητες τύπου δεδοµένων (datatype properties) αντιστοιχίζουν ένα αντικείµενο σε

µια τιµή κάποιου εκ των βασικών τύπων δεδοµένων. Για παράδειγµα η ιδιότητα τύπου

δεδοµένων isLoaded που περιγράφει το εάν ένα δίκτυο έχει µεγάλο φόρτο ή όχι,

αντιστοιχίζει σε ένα αντικείµενο της οντότητας Network µία λογική (Boolean) τιµή

«αληθής» (true) ή «ψευδής (false).

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

(annotation properties) που χρησιµοποιούνται για να προσθέσουν µεταδεδοµένα σε

οντότητες, αντικείµενα ή σε άλλες ιδιότητες. Οι ιδιότητες αντικειµένων και οι ιδιότητες

τύπου δεδοµένων µπορούν να χαρακτηριστούν ως ιδιότητες σχολιασµού.

Κάθε ιδιότητα αντικειµένων µπορεί να έχει την αντίστοιχη της αντίστροφη ιδιότητα

(inverse property), δηλαδή µια ιδιότητα µε τα πεδία ορισµού και πεδίο τιµών της αρχικής

αντεστραµµένα. Συνεπώς εάν µια ιδιότητα αντικειµένων συνδέει το αντικείµενο a µε το

αντικείµενο b, η αντίστροφη ιδιότητα συνδέει το αντικείµενο b µε το a. Για παράδειγµα η

αντίστροφη της ιδιότητας isOwnerof είναι η isOwnedby.

Επίσης µια ιδιότητα τύπου δεδοµένων µπορεί να χαρακτηριστεί ως συναρτησιακή

(functional) που σηµαίνει ότι για ένα δεδοµένο αντικείµενο µπορεί σε αυτό να

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

ιδιότητα hasMother είναι συναρτησιακή, εάν γίνουν οι δηλώσεις Jean has Mother Peggy

και Jean hasMother Margaret τότε ένας εξαγωγέας συµπερασµάτων (reasoner) θα

συµπεράνει ότι τα αντικείµενα Peggy και Margaret είναι το ίδιο. Η αντίστροφη ιδιότητα

µιας συναρτησιακής ιδιότητας είναι και αυτή συναρτησιακή.

Μια τρίτη ειδική κατηγορία ιδιοτήτων αντικειµένων είναι οι µεταβατικές ιδιότητες

(transitive properties) για τις οποίες ισχύει η γνωστή από τα µαθηµατικά µεταβατική

ιδιότητα. ∆ηλαδή εάν µια ιδιότητα p συνδέει το αντικείµενο a µε το αντικείµενο b και το

αντικείµενο b µε το αντικείµενο c, τότε µπορούµε να συµπεράνουµε πως το a συνδέεται

µε το c µέσω της ίδιας ιδιότητας. Είναι προφανές ότι µια µεταβατική ιδιότητα δεν µπορεί

Page 19: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 19

ποτέ να είναι συναρτησιακή.

Τέλος, για την ειδική κατηγορία των συµµετρικών ιδιοτήτων (symmetric properties)

ισχύει ότι εάν ένα αντικείµενο a συνδέεται µέσω µιας συµµετρικής ιδιότητας p µε το

αντικείµενο b, τότε και το b θα συνδέεται µε το a µέσω της ίδιας ιδιότητας.

Οντότητες (Classes)

Οι οντότητες (classes) της OWL αντιστοιχούν στις έννοιες του γνωστικού πεδίου που

θέλουµε να αναπαραστήσουµε και αντιµετωπίζονται σαν σύνολα από αντικείµενα.

Περιγράφονται µε κάποιον φορµαλισµό που δηλώνει ποιες ακριβώς είναι οι απαιτήσεις

ώστε ένα αντικείµενο να είναι µέλος της οντότητας. Οργανώνονται σε µια ιεραρχία από

υπέρ-οντότητες (superclasses) και υπό-οντότητες (subclasses) που είναι γνωστή και ως

ταξονοµία (taxonomy). Μια υπό-οντότητα αποτελεί εξειδίκευση της υπέρ-οντότητας της.

Προκειµένου να δηλώσουµε ότι δυο οντότητες είναι ξένα µεταξύ τους σύνολα, πρέπει να

χαρακτηριστούν ασύνδετες (disjoint). Αυτό συµβαίνει επειδή η γενική υπόθεση της OWL

είναι ότι οι οντότητες επικαλύπτονται και συνεπώς δεν συνάγεται ότι ένα αντικείµενο δεν

είναι µέλος κάποιας οντότητας απλά επειδή δεν έχει δηλωθεί σαν µέλος της. Η έννοια

της υπό-οντότητας στην OWL εκφράζει αναγκαία συνεπαγωγή , δηλαδή εάν η οντότητα

b είναι υπό-οντότητα της a, τότε κάθε αντικείµενο της b ανήκει υποχρεωτικά και στην a.

Περιορισµοί (Restrictions)

Οι ιδιότητες στην OWL µπορούν να χρησιµοποιηθούν και για τη δηµιουργία

περιορισµών (restrictions) πάνω στα αντικείµενα που θα ανήκουν σε µια οντότητα. Οι

περιορισµοί ανήκουν σε τρεις υποκατηγορίες: ποσοτικοί περιορισµοί, περιορισµοί τιµών

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

ανώνυµη οντότητα που έχει µέλη όλα τα αντικείµενα που ικανοποιούν το συγκεκριµένο

περιορισµό.

Οι ποσοτικοί περιορισµοί (quantifier restrictions) χρησιµοποιούν τον υπαρξιακό τελεστή

(∃ ) ή τον καθολικό τελεστή (∀ ) ακολουθούµενο από µια ιδιότητα και ένα αντικείµενο.

Για παράδειγµα οι υπαρξιακοί περιορισµοί εξειδικεύουν την ύπαρξη σχέσης µεταξύ µιας

ιδιότητας και τουλάχιστον ενός αντικειµένου που ανήκει σε συγκεκριµένη οντότητα.

Όταν χρησιµοποιείται ο καθολικός τελεστής εκφράζεται το σύνολο των αντικειµένων

που για δεδοµένη ιδιότητα, συνδέονται µόνο µε µέλη µιας συγκεκριµένης οντότητας.

Οι περιορισµοί τιµών (hasValue restrictions) που δηλώνονται µε τον τελεστή ∋

Page 20: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 20

εκφράζουν το σύνολο των αντικειµένων που συνδέονται µε συγκεκριµένο αντικείµενο

µέσω µιας δεδοµένης ιδιότητας.

Τέλος, οι περιορισµοί πληθικότητας (cardinality restrictions) είναι ουσιαστικά

περιορισµοί στο πλήθος των σχέσεων στις οποίες µπορεί να συµµετέχει ένα αντικείµενο

για δεδοµένη ιδιότητα. Χωρίζονται σε περιορισµούς ελάχιστης πληθικότητας (Minimum

Cardinality), µέγιστης πληθικότητας (Maximum Cardinality) και περιορισµούς

πληθικότητας Cardinality Restrictions και εκφράζουν τον ελάχιστο, µέγιστο και ακριβή

αριθµό σχέσεων στις οποίες συµµετέχει ένα αντικείµενο του συνόλου και δηλώνονται µε

τους τελεστές “≤” , “≥“ και “=“ αντίστοιχα.

Page 21: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 21

ΚΕΦΑΛΑΙΟ 4

ΠΟΛΙΤΙΚΕΣ ΚΑΙ Η ΓΛΩΣΣΑ SWRL

4.1 Πολιτικές

Σύµφωνα µε την Internet Engineering Task Force (IETF) [15] µια πολιτική (policy) είναι

ένας συνδυασµός κανόνων και υπηρεσιών όπου οι κανόνες ορίζουν τα κριτήρια για την

πρόσβαση στους πόρους και τους κανόνες χρήσης τους. Οι κανόνες της πολιτικής

επιβάλλουν ένα σύνολο από υψηλού επιπέδου περιορισµούς που καθορίζουν τη

συµπεριφορά του συστήµατος από την άποψη των απαιτήσεων των χρηστών και των

εφαρµογών, της διαθεσιµότητας των πόρων και της επίτευξης των στόχων. Με τη

χρήση των οντολογιών και της σηµασιολογίας για τον προσδιορισµό και την

αναπαράσταση των πολιτικών καθώς και µηχανισµών λήψης αποφάσεων και

εφαρµογής των πολιτικών, προσδίδεται στις πολιτικές δυναµικός χαρακτήρας [2].

Πιο συγκεκριµένα, δεν υπάρχει η έννοια της µιας στατικής πολιτικής [42] που καθορίζει

την συµπεριφορά ενός συστήµατος παρά µάλλον ενός δυναµικού συνόλου πολιτικών,

που κάθε µια καθορίζει τη συµπεριφορά για την επίτευξη των στόχων κάθε ενός από

τους συµµετέχοντες στη λήψη αποφάσεων για τη λειτουργία του συστήµατος και

προφανώς οι στόχοι αυτοί συχνά συγκρούονται µεταξύ τους. Έτσι το συνεχές των

πολιτικών (policy continuum) περιλαµβάνει την επιχειρηµατική άποψη (business view)

για την πολιτική, την άποψη από την πλευρά συστήµατος (system view), την άποψη

από την πλευρά των διαχειριστών (administrator view), την άποψη από την πλευρά των

συσκευών (device view) και την άποψη από την πλευρά της υλοποίησης (instance

view). Προκειµένου να δηµιουργηθούν οι τελικοί κανόνες συλλέγονται και συνδυάζονται

οι επί µέρους πολιτικές από τους συµµετέχοντες. Οι εξειδικευµένοι κανόνες

συνδυάζονται ανάλογα µε την προτεραιότητα τους και την προτεραιότητα που έχει

αποδοθεί στους στόχους του συµµετέχοντα τους οποίους εκφράζουν [17].

4.2 «∆ιύλιση» των πολιτικών

Με τον όρο διύλιση των πολιτικών (policy refinement) εννοείται η διαδικασία παραγωγής

εφαρµόσιµων πολιτικών χαµηλού επιπέδου από τις οδηγίες υψηλού επιπέδου [16]. Το

Page 22: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 22

πρόβληµα της διύλισης των πολιτικών (policy refinement problem) ανάγεται στην

εξαγωγή εκτελέσιµων πολιτικών που να ακολουθούν τις διαχειριστικές οδηγίες. Μια

προσέγγιση για τη λύση του προβλήµατος βασίζεται στον καθορισµό µιας ιεραρχίας

πολιτικών, καθορισµό των οδηγιών υψηλού επιπέδου και τέλος ορισµό ενός πλαισίου

(framework) που αποτυπώνει τις απαιτήσεις ώστε να επιτευχθεί συστηµατική

µετατροπή των γενικών οδηγιών σε εκτελέσιµες πολιτικές. Σηµειώνεται πως εδώ µε τον

όρο στόχος εννοούνται οι οδηγίες διαχείρισης και οι επιχειρηµατικοί στόχοι, ενώ ο όρος

πολιτική αναφέρεται σε σύνολο εκτελέσιµων κανόνων. Οι πολιτικές του χαµηλότερου

επιπέδου έχουν µοναδική ερµηνεία και είναι δυνατόν να εκτελούνται αυτόµατα, ενώ οι

στόχοι ερµηνεύονται ανάλογα µε τις συνθήκες και µπορούν να επιτευχθούν µε

διάφορους τρόπους.

Ιεράρχηση των πολιτικών

Οι αρχές που καθορίζουν την ιεραρχία των πολιτικών (policy hierarchy) συνοψίζονται

ως εξής:

• Καθορισµός της υψηλότερου επιπέδου πολιτικής που θα αντιστοιχεί στην

υπηρεσία που παρέχεται από το σύστηµα πολιτικών, δηλαδή της πολιτικής

ανάπτυξης της υπηρεσίας.

• Καθορισµός των λειτουργιών του συστήµατος που θα καθορίζονται από τις

πολιτικές. Θα συνδεθούν στην υψηλότερου επιπέδου πολιτική τόσες

χαµηλότερου επιπέδου πολιτικές όσες και οι λειτουργίες του συστήµατος.

• Καθορισµός των δοµοστοιχείων λογισµικού (software modules) που εκτελούν την

κάθε µια από τις προαναφερθείσες λειτουργίες. Κάθε τέτοιο στοιχείο θα

εφαρµόζει µια «πολιτική επιπέδου στοιχείου λογισµικού» (software module

policy) στην ιεραρχία των πολιτικών.

• Καθορισµός των επιµέρους λειτουργιών σε κάθε στοιχείο λογισµικού. Κάθε

επιµέρους λειτουργία θα προσδιορίζει έναν συγκεκριµένο τύπο πολιτικής. Όταν

διαφορετικές παράµετροι επηρεάζουν µια επιµέρους λειτουργία ενός στοιχείου

λογισµικού θα πρέπει να αποδοθεί στην κάθε µια παράµετρο µια χαµηλότερου

επιπέδου πολιτική.

Page 23: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 23

Προσδιορισµός των στόχων υψηλού επιπέδου

Καθορίζονται δυο παράγοντες διαχείρισης, ο διαχειριστής υλοποίησης (administrator

developer) και ο σύµβουλος διαχειριστή (administrator consultant). Ο πρώτος κατά τη

σχεδίαση του συστήµατος ορίζει τους στόχους υψηλού επιπέδου που µπορεί να

διαχειριστεί το σύστηµα και τους διαφορετικούς τρόπους επίτευξης τους. Επίσης

εγκαθιδρύει τη σχέσεις µεταξύ των στόχων αυτών και των πολιτικών που θα βοηθήσουν

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

εξειδικευµένους στόχους που αντικατοπτρίζουν καλύτερα την διαχειριστική άποψη

σχετικά µε το πώς θα επιτευχθούν οι υψηλού επιπέδου στόχοι κατά την λειτουργία του

συστήµατος.

Το πλαίσιο διύλισης των πολιτικών

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

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

εξής επιµέρους λειτουργιών:

• Υποστήριξη διύλισης των στόχων: Κατά τη λειτουργία αυτή ο διαχειριστής

υλοποίησης τυποποιεί τις απαιτήσεις και τους εναλλακτικούς τρόπους επίτευξης

των στόχων. Αυτή η δραστηριότητα εξαρτάται από την εφαρµογή και θα πρέπει

να διεξάγεται κατά τη σχεδίαση του συστήµατος. Υλοποιείται σε δύο φάσεις.

Πρώτα γίνεται η διύλιση των στόχων µε βάση τους γενικούς στόχους υψηλού

επιπέδου, κατά την οποία δηµιουργούνται συσχετίσεις µεταξύ του πιο γενικού

στόχου του συστήµατος πολιτικής και των υψηλού επιπέδου στόχων που

χειρίζεται το σύστηµα. Κάθε τέτοιος στόχος µε τη σειρά του αναλύεται και

σχηµατίζεται ουσιαστικά ένας γράφος- δέντρο. Σε δεύτερη φάση γίνεται η διύλιση

των στόχων µε βάση την ιεραρχία, όπου κάθε υποδέντρο του γράφου αναλύεται

σε επιτεύξεις στόχων όπως αυτοί καθορίζονται από την ιεραρχία των πολιτικών.

Περαιτέρω διύλιση του κάθε στόχου ουσιαστικά αντιπροσωπεύει τους

εναλλακτικούς τρόπους επίτευξης του αντίστοιχου στόχου υψηλού επιπέδου.

• Υποστήριξη επιλογής στόχων (goal selection support): Ο σύµβουλος διαχειριστή

επιλέγει µεταξύ των εναλλακτικών τους συγκεκριµένους στόχους υψηλού

επιπέδου που απεικονίζουν καλύτερα τα κριτήρια διαχείρισης κατά την εκτέλεση

της υπηρεσίας.

Page 24: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 24

• Επαλήθευση των στόχων (goal verification): Αυτή η λειτουργία ελέγχει εάν οι

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

• Μηχανισµοί διύλισης των πολιτικών (policy refinement mechanisms): Οι

µηχανισµοί αυτοί παρέχουν τη δυνατότητα ανάκτησης των εκτελέσιµων

πολιτικών χαµηλού επιπέδου που εκπληρώνουν έναν συγκεκριµένο στόχο

υψηλού επιπέδου. Υλοποιούν διάφορες διαδικασίες για τις οποίες απαιτούνται

ως είσοδοι τα ακόλουθα:

• Αιτήσεις διύλισης πολιτικών (policy refinement requests): Είναι οι

επαληθευµένες επιλογές στόχων που παρέχονται από τις λειτουργίες

διαχείρισης στόχων.

• Τεκµηρίωση της συµπεριφοράς του υπό διαχείριση συστήµατος: Είναι η

περιγραφή του πως συµπεριφέρονται, αλληλεπιδρούν και συνεργάζονται τα

υπό διαχείριση αντικείµενα. Αυτό παρέχεται µε τυποποιηµένα σχόλια όπως

µε χρήση UML (Unified Modeling Language) [18].

• Κατανοµή των αντικειµένων (object distribution): Ένα ευρετήριο των υπό

διαχείριση αντικειµένων.

4.3 Η γλώσσα SWRL

Ενώ οι πληροφορίες περιβάλλοντος µπορούν να αποθηκευτούν και να

αναπαρασταθούν µε τη χρήση των οντολογιών, η πραγµατική «νοηµοσύνη» των

συστηµάτων που έχουν επίγνωση του περιβάλλοντός τους έγκειται στην υλοποίηση της

µηχανής εξαγωγής συµπερασµάτων (inference engine) µε βάση της πληροφορίες

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

σύνολο από γεγονότα (facts) και κανόνες που απορρέουν από αυτά (rules), δηλαδή

από µια γλώσσα κανόνων (rule language). Χάρις στις δυνατότητες που προσφέρει η

χρήση των οντολογιών σε διάφορους τοµείς έχει αναπτυχθεί πληθώρα συστηµάτων

βασισµένων σε κανόνες που όµως δεν είναι σχεδιασµένα ώστε να συνεργάζονται.

Προκειµένου να εξυπηρετηθεί η διαλειτουργικότητα (interoperability) [19] µεταξύ των

συστηµάτων έγιναν προσπάθειες προτυποποίησης των κανόνων και ένα βήµα προς

αυτή την κατεύθυνση ήταν η ανάπτυξη της γλώσσας κανόνων του σηµασιολογικού

ιστού, της SWRL (Semantic Web Rule Language) [20].

Page 25: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 25

Οι κανόνες στην SWRL [28] έχουν τη µορφή «δεδοµένο – επακόλουθο» (antecedent –

consequent) και στην ορολογία της SWRL το επακόλουθο (consequent) αναφέρεται ως

«σώµα» (body) του κανόνα και το δεδοµένο (antecedent) ως «κεφαλή» (head). Τα δύο

αυτά µέρη του κανόνα αποτελούνται από σύζευξη ενός ή περισσοτέρων ατόµων

(atoms). Προς το παρόν η SWRL δεν υποστηρίζει πιο περίπλοκες λογικές εκφράσεις

από τα άτοµα (atoms). Καθ’ ότι είναι βασισµένη στην OWL, όλοι οι κανόνες εκφράζονται

σύµφωνα µε την ορολογία και τις έννοιες της OWL, δηλαδή οντότητες, ιδιότητες,

αντικείµενα και κυριολεκτήµατα (literals). Για την περιγραφή των διαφορετικών

χαρακτηριστικών των κανόνων και της σύνταξης τους ακολουθούν µερικά

παραδείγµατα βασισµένα σε συγγενικές σχέσεις.

Προκειµένου να εκφραστεί ότι «αν ένα άτοµο x1 έχει έναν αδερφό ή αδερφή x2 και το

δεύτερο άτοµο είναι αρσενικού γένους, τότε το άτοµο x1 έχει έναν αδερφό» πρέπει να

εκφραστούν σε OWL οι όροι «άτοµο», «αδέρφια», «αρσενικό» και «αδερφός».

Συµπερασµατικά θα χρειαστεί µια οντότητα Person µε υπό-οντότητα Man για να

εκφραστεί η έννοια του ατόµου και το υποσύνολο της τα αρσενικά άτοµα καθώς και οι

ιδιότητες hasSibling και hasBrother για να εκφραστούν οι σχέσεις «αµφιθαλής» και

«αδερφός» αντίστοιχα, ενώ θα πρέπει και οι σχέσεις αυτές να προσαρτηθούν στην

οντότητα Person. Η µορφή του κανόνα θα είναι :

Person (?x1) ^

hasSibling(?x1,?x2) ^

Man(?x2)

→ hasBrother(?x1,?x2)

Μια παραλλαγή αυτού του κανόνα µε χρήση της δυνατότητας της SWRL να αναφέρεται

ρητά σε συγκεκριµένο OWL αντικείµενο, έστω Fred µέλος της οντότητας Person είναι:

Person(Fred) ^

hasSibling(Fred,?x2) ^

Man(?x2) →

hasBrother(Fred,?x2)

Υπάρχει επίσης η δυνατότητα χρήσης κυριολεκτηµάτων δεδοµένων (data literals) στην

σύνταξη των κανόνων, παραδείγµατος χάριν , αν υποτεθεί ότι υπάρχει µια ιδιότητα

hasAge, µπορεί να εξετασθεί αν το αντικείµενο Fred έχει έναν αδερφό 40 ετών, µε τον

κανόνα της µορφής :

Page 26: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 26

Person(Fred) ^

hasSibling(Fred,?x2) ^

Man(?x2) ^

hasAge(?x2,40)

→ has40YearOldBrother(Fred,?x2)

Παρόµοια υποστηρίζονται και κυριολεκτήµατα συµβολοσειρών (string literals), µέσα σε

εισαγωγικά. Επίσης υπάρχουν και οι γνωστές από την OWL έννοιες sameAs και

differentFrom για την δήλωση ταύτισης ή διαφορετικότητας µεταξύ αντικειµένων, για

παράδειγµα :

sameAs(Fred, Frederick)

Επίσης η SWRL υποστηρίζει έναν αριθµό από built-in κατηγορήµατα για τη

διευκόλυνση συγκρίσεων µεταξύ των ατόµων ή της δηµιουργίας πιο πολύπλοκων

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

Built-ins που υποστηρίζει η SWRL. Τα built-ins πρέπει πάντα να συνοδεύονται από τον

τελεστή “swrlb: ”. Για παράδειγµα µε χρήση του built-in greaterThan µπορούµε να

καθορίσουµε εάν ένα individual έχει µεγαλύτερο αδερφό :

hasBrother(?x1,?x2) ^

hasAge(?x1,?age1) ^

hasAge(?x2,?age2) ^

swrlb:greaterThan(?age2,?age1)

→ hasOlderBrother(?x1,?x2)

‘Ένα από τα πιο σύνθετα built-ins για τη δηµιουργία λογικών εκφράσεων που εξετάζει

εάν η διαφορά δυο ποσοτήτων είναι ακριβώς ένας συγκεκριµένος αριθµός, µπορεί να

χρησιµοποιηθεί γα να ελέγξουµε εάν ένα αντικείµενο έχει έναν αδερφό ακριβώς δέκα

χρόνια µεγαλύτερο ως εξής :

hasBrother(?x1,?x2) ^

hasAge(?x1,?age1) ^

hasAge(?x2,?age2) ^

swrlb:subtract(10,?age2,?age1)

→ hasDecadeOlderBrother(?x1,?x2)

Page 27: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 27

ΚΕΦΑΛΑΙΟ 5

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

5.1 Σενάριο: Γενική παρουσίαση

Ο Κώστας και η Μαρία είναι φοιτητές του πανεπιστηµίου Αθηνών. Το πανεπιστήµιο

προσφέρει δωρεάν στον χώρο του πανεπιστηµίου ασύρµατο WiFi [21] δίκτυο.

Παράλληλα, οι δύο αυτοί φοιτητές είναι πελάτες του τηλεπικοινωνιακού παρόχου

RWNO (Random Wireless Network Operator) ο οποίος διαχειρίζεται και προσφέρει

στους πελάτες του, ένα κλασικό δίκτυο κινητής τηλεφωνίας GSM/GPRS [23][24] µε

κάλυψη στην ευρύτερη περιοχή των Αθηνών, καθώς και διάσπαρτα σηµεία πρόσβασης

στο διαδίκτυο WLAN hot-spots σε κεντρικά σηµεία, ένα από αυτά στο κέντρο των

Αθηνών. Ο Κώστας λόγω χαµηλών οικονοµικών δυνατοτήτων έχει επιλέξει το

οικονοµικό προφίλ. Η Μαρία, αντίθετα, δεν έχει οικονοµικό περιορισµό και έχει επιλέξει

την καλύτερη διαθέσιµη ποιότητα υπηρεσίας ανεξαρτήτως κόστους. Και οι δύο φοιτητές

έχουν επιλέξει το πανεπιστήµιο Αθηνών σαν διαχειριστή (operator) της προτίµησης

τους. Ας δούµε λοιπόν µία τυπική µέρα του Κώστα και της Μαρίας.

Ο Κώστας καθώς πηγαίνει από το σπίτι του στο πανεπιστήµιο µε το λεωφορείο [εικόνα

3] χρησιµοποιεί το κινητό του τηλέφωνο µε το οποίο “σερφάρει” στο διαδίκτυο (world

wide web browsing) συνδεδεµένος στο δίκτυο GSM/GPRS που διαχειρίζεται ο RWNO.

Η ποιότητα της υπηρεσίας (QoS)1 δεν είναι ικανοποιητική λόγω του χαµηλού ρυθµού

µετάδοσης των δικτύων τύπου GSM/GPRS. Όταν όµως το λεωφορείο που επιβαίνει ο

Κώστας µπαίνει στο κέντρο της Αθήνας και κατά συνέπεια στην ακτίνα ενός WLAN hot-

spot του διαχειριστή RWNO, η συσκευή του Κώστα δεν συνδέεται σε αυτό το δίκτυο,

καθώς το κόστος του δικτύου αυτού είναι µεγαλύτερο από τις δυνατότητες του Κώστα.

Στην συνέχεια το λεωφορείο µπαίνει στην πανεπιστηµιούπολη και µπαίνει στην ακτίνα

του δικτύου που διαχειρίζεται το πανεπιστήµιο. Η συσκευή του Κώστα αλλάζει δίκτυο

από το GSM/GPRS δίκτυο του RWNO στο WiFi δίκτυο του πανεπιστηµίου και ο

Κώστας συνεχίζει να καταναλώνει την υπηρεσία µέσω αυτού. Η απόφαση λαµβάνεται

µε βάση τις προτιµήσεις του χρήστη και τις απαιτήσεις της υπηρεσίας. Η µετάβαση από

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

1 Στον τοµέα των δικτύων επικοινωνιών ο όρος «ποιότητα της υπηρεσίας» (Quality of Service) αποτελεί µονάδα µέτρησης της απόδοσης των δικτύων. Υψηλή ποιότητα υπηρεσίας σηµαίνει συνήθως υψηλοί ρυθµοί µετάδοσης, χαµηλή καθυστέρηση και χαµηλό ποσοστό λαθών.

Page 28: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 28

αντιλαµβάνεται ο Κώστας από την µετάβαση είναι η βελτίωση της ποιότητας της

υπηρεσίας που καταναλώνει.

Ο Κώστας είναι πια στο πανεπιστήµιο. Σε κάποιο διάλειµµα από τις διαλέξεις ο Κώστας

επιθυµεί να συνοµιλήσει µε τους φίλους του µεσώ κάποιας υπηρεσίας συνοµιλιών

κειµένου (Instant Messaging). Η συσκευή συνδέεται στο WiFi δίκτυο του πανεπιστηµίου

και ο Κώστας ξεκινάει να καταναλώνει την υπηρεσία που επιθυµεί µέσω αυτού. Κάποια

στιγµή, κατά την διάρκεια της συνοµιλίας του Κώστα, το δίκτυο του πανεπιστηµίου

υπερφορτώνεται. Η υπηρεσία όµως των συνοµιλιών κειµένου είναι µια απλή υπηρεσία

της οποίας η ποιότητα δεν µειώνεται όταν υπερφορτώνεται το δίκτυο. Έτσι ο Κώστας

συνεχίζει να καταναλώνει την υπηρεσία µέσω του υπερφορτωµένου δικτύου του

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

απαιτήσεις της συγκεκριµένης υπηρεσίας.

Εκείνη την στιγµή ο κατασκευαστής του κινητού τηλεφώνου του Κώστα, κυκλοφορεί την

νέα έκδοση των οδηγών (drivers) για κάποιο µέρος του υλικού της συγκεκριµένης

συσκευής. Το κινητό τηλέφωνο του Κώστα συνδέεται στο WiFi δίκτυο του

πανεπιστηµίου, το οποίο δεν είναι υπερφορτωµένο πια, και κατεβάζει και εγκαθιστά

τους νέους οδηγούς (drivers). Η διαδικασία αυτή γίνεται αυτόµατα. Ο Κώστας απλά

διαβάζει απλά ένα ενηµερωτικό µήνυµα στην οθόνη του τηλεφώνου του, το οποίο τον

πληροφορεί ότι η συσκευή του ενηµερώθηκε µε την νέα έκδοση λογισµικού που έκδωσε

ο κατασκευαστής της συσκευής του. Το σύστηµα γνωρίζει ότι η συσκευή του Κώστα

ενηµερώθηκε και δεν επιχειρεί να την ξανά-ενηµερώσει.

Τέλος, ο Κώστας ολοκληρώνει το πρόγραµµα της ηµέρας και επιστρέφει σπίτι του µε το

λεωφορείο. Κατά την διάρκεια της διαδροµής χρησιµοποιεί και πάλι το κινητό του

τηλέφωνο για να ταξιδέψει στον κόσµο του παγκόσµιου ιστού (world wide web

browsing) µέσω του WiFi του πανεπιστηµίου Αθηνών. Όσο όµως το λεωφορείο

αποµακρύνεται από την πανεπιστηµιούπολη τόσο το σήµα του WiFi γίνεται και

ασθενέστερο, µέχρι που σε κάποιο σηµείο το σήµα πέφτει κάτω από το όριο και το

σύστηµα αποφασίζει να γίνει µετάβαση σε κάποιο άλλο δίκτυο για την συνέχιση της

υπηρεσίας. Παρά το γεγονός ότι το WLAN που διαχειρίζεται ο RWNO είναι διαθέσιµο σε

αυτή την περιοχή, λόγω του οικονοµικού προφίλ του Κώστα, η µετάβαση γίνεται στο

GSM/GPRS του RWNO. Η µετάβαση για ακόµα µια φορά γίνεται αυτόµατα. Ο Κώστας

το µόνο που αντιλαµβάνεται είναι µια µείωση της ταχύτητας µεταφοράς δεδοµένων από

τον εξυπηρετητή της ιστοσελίδας που καλεί, στο κινητό του τηλέφωνο. Ο Κώστας

Page 29: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 29

ολοκληρώνει την χρήση της υπηρεσίας στο GSM/GPRS δίκτυό και φτάνει στο σπίτι του.

Ας δούµε τώρα την ίδια µέρα από την οπτική γωνία της Μαρίας.

Η Μαρία χρησιµοποιεί και αυτή το κινητό της τηλέφωνο κατά την διάρκεια της

διαδροµής από το σπίτι της προς το πανεπιστήµιο µε το λεωφορείο. Η υπηρεσία που

καταναλώνει είναι η περιήγηση στον παγκόσµιο ιστό (world wide web browsing) µέσω

του µόνου, αρχικά, διαθέσιµου δικτύου, του GSM/GPRS που διαχειρίζεται και

προσφέρει ο RWNO. Η ποιότητα της υπηρεσίας είναι χαµηλή. Όταν το λεωφορείο

πλησιάζει το κέντρο της Αθήνας και το WLAN δίκτυο του RWNO γίνεται διαθέσιµο, το

σύστηµα αποφασίζει ότι πρέπει να γίνει µετάβαση σε αυτό για την βελτίωση της

ποιότητας της υπηρεσίας. Το οικονοµικό προφίλ της Μαρίας, αντίθετα µε τον Κώστα,

επιτρέπει την µετάβαση στο ακριβό δίκτυο που προσφέρει ο RWNO. Η µετάβασή

γίνεται αυτόµατα και η Μαρία το µόνο που αντιλαµβάνεται είναι η βελτίωση της

ποιότητας της υπηρεσίας λόγω των υψηλότερων ρυθµών µετάδοσης του WLAN

δικτύου. Το λεωφορείο συνεχίζει την πορεία του και µπαίνει µέσα στην

πανεπιστηµιούπολη. Η ποιότητα της µέσω του WLAN δικτύου είναι ικανοποιητική και

έτσι δεν τίθεται ζήτηµα αλλαγής δικτύου. Η Μαρία φτάνει στην σχολή της και

ολοκληρώνει την κατανάλωση της υπηρεσίας στο δίκτυο WLAN του παρόχου RWNO.

Η Μαρία ξεκινάει µια βίντεο κλήση στο κινητό της τηλέφωνο. Υπάρχουν δύο διαθέσιµα

δίκτυα που µπορούν να κάνουν µια βίντεο κλήση σε ικανοποιητική ποιότητα, το WLAN

που διαχειρίζεται ο RWNO και το WiFi δίκτυο που διαχειρίζεται το πανεπιστήµιο. Η

Μαρία όµως έχει δηλώσει σαν διαχειριστή της προτίµησης της το πανεπιστήµιο

Αθηνών, λόγος για τον οποίο το σύστηµα πραγµατοποιεί την κλήση µέσα από το δίκτυο

του πανεπιστηµίου. Η επιλογή για µια ακόµα φορά γίνεται αυτόµατα χωρίς την άµεση

επιλογή της Μαρίας. Κατά την διάρκεια της κλήσης όµως το δίκτυο του πανεπιστηµίου

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

κατά συνέπεια, η ποιότητα της υπηρεσίας θα πέσει σε µη ικανοποιητικό επίπεδο

εξαιτίας του υπερφορτωµένου δικτύου. Το σύστηµα αποφασίζει ότι πρέπει να γίνει

µετάβαση σε άλλο δίκτυο για την συνέχιση της υπηρεσίας και την διατήρηση της

απαιτούµενης ποιότητας. Η συσκευή συνδέεται στο διαθέσιµο WLAN για την συνέχιση

της υπηρεσίας. Η µετάβαση γίνεται χωρίς να την αντιληφθεί η Μαρία και χωρίς να πέσει

η ποιότητα της υπηρεσίας.

Αργότερα, ο κατασκευαστής του κινητού τηλεφώνου της Μαρίας, κυκλοφορεί την νέα

έκδοση των οδηγών (drivers) όπως και στο σενάριο του Κώστα. Η συσκευή της Μαρίας

Page 30: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 30

όµως είναι πολύ χαµηλή σε µπαταρία και το σύστηµα αποφασίζει να µην προχωρήσει

στην µεταφορά του λογισµικού γιατί κρίνει ότι η µπαταρία της συσκευής της Μαρίας δεν

αρκεί για την ολοκλήρωση της διαδικασίας. Η απόφαση λαµβάνεται µε βάση το προφίλ

της συσκευής. Το σύστηµα γνωρίζει ότι η ενηµέρωση της συσκευής της Μαρίας

εκκρεµεί. Κάποια στιγµή η Μαρία επισκέπτεται το εργαστήριο της σχολής της και

συνδέει το κινητό της τηλέφωνο σε ένα ηλεκτρονικό υπολογιστή. Η συσκευή φορτίζεται

από το τροφοδοτικό του ηλεκτρονικού υπολογιστή. Το σύστηµα τώρα µπορεί να

προχωρήσει στην µεταφορά και εγκατάσταση του λογισµικού που απαιτείται για την

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

αντιλαµβάνεται η Μαρία είναι ένα ενηµερωτικό µήνυµα στην οθόνη της συσκευής της.

Το σύστηµα γνωρίζει ότι η συσκευή της Μαρίας ενηµερώθηκε και δεν επιχειρεί να την

ξανά-ενηµερώσει.

Εικόνα 3: Οι περιοχές κάλυψης των ασύρµατων δικτύων και η διαδροµή του λεωφορείου

Τέλος, η Μαρία ολοκληρώνει και αυτή το πρόγραµµα της ηµέρας και επιστρέφει σπίτι

Page 31: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 31

της µε το λεωφορείο. Κατά την διάρκεια της διαδροµής και στα όρια του δικτύου του

πανεπιστήµιου αποφασίζει να στείλει ένα µήνυµα πολυµέσων (MMS). Αρχικά η

συσκευή της συνδέεται και ξεκινάει να στέλνει το µήνυµα µέσω του δικτύου WiFi του

πανεπιστήµιου το οποίο και έχει δηλώσει σαν διαχειριστή της προτίµησης της. Κατά την

διάρκεια της αποστολής το λεωφορείο αποµακρύνεται από τα όρια του δικτύου του

πανεπιστήµιου µέχρι που το σήµα πέφτει κάτω από το όριο. Απαιτείται µετάβαση σε

κάποιο άλλο δίκτυο για να συνεχιστεί η αποστολή. Από τα δύο διαθέσιµα, το

GSM/GPRS και το WLAN, επιλέγεται το WLAN λόγω του µεγαλύτερου ρυθµού

µετάδοσης δεδοµένων µε σκοπό την γρηγορότερη αποστολή του µηνύµατος. Η

αποστολή ολοκληρώνεται µε επιτυχία µέσω του WLAN δικτύου του RWNO και η Μαρία

φτάνει σπίτι της.

5.2 Σκοποί και ∆υσκολίες

Από αυτό το τηλεπικοινωνιακό σενάριο προκύπτουν κάποια θέµατα που καλείται ένα

αυτόνοµο δικτυακό σύστηµα να επιλύσει όπως:

Η δυνατότητα επιλογής του καταλληλότερου δικτύου στο οποίο η συσκευή του

χρήστη θα συνδεθεί για να καταναλώσει µια υπηρεσία.

Η δυνατότητα της µετάβασης από ένα δίκτυο σε ένα άλλο όποτε κρίνεται

αναγκαίο (πτώση της ποιότητας της υπηρεσίας, αποµάκρυνση από την εµβέλεια

κάποιου δικτύου)

Η δυνατότητα αυτοµατοποίησης διαδικασιών που δεν αφορούν άµεσα τον

χρήστη.

Η επιλογή σε κάθε περίπτωση πρέπει να λαµβάνει υπόψη το προφίλ του χρήστη (θέση,

οικονοµικό προφίλ, προτιµήσεις), το προφίλ της συσκευής (υποστηριζόµενοι τύποι

δικτύων, διαθέσιµοι πόροι – µπαταρία, µνήµη κτλ.), το προφίλ του δικτύου (κόστος

χρήσης, προσφερόµενος ρυθµός µετάδοσης δεδοµένων, φόρτος δικτύου) καθώς και το

προφίλ της υπηρεσίας (απαιτήσεις σε πόρους, ρυθµό µετάδοσης δεδοµένων). Στόχος

µας είναι η µοντελοποίηση των στοιχείων ενός τέτοιου αυτόνοµου περιβάλλοντος, των

σχέσεων µεταξύ τους καθώς και των προφίλ τους, έτσι ώστε να επιτευχθούν οι

παραπάνω δυνατότητες µέσω κανόνων (policies) εκφρασµένων σε SWRL.

Page 32: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 32

ΚΕΦΑΛΑΙΟ 6

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

ΠΕΡΙΒΑΛΛΟΝΤΟΣ

6.1 Protégé

Για την σχεδίαση την οντολογίας [27] και την µοντελοποίηση του αυτόνοµου

τηλεπικοινωνιακού περιβάλλοντος χρησιµοποιούµε την πλατφόρµα Protégé [25]. Το

Protégé είναι µία εφαρµογή ανοιχτού κώδικα (open source) γραµµένη σε Java

ανεπτυγµένη µε σκοπό την ανάπτυξη και την αναπαράσταση οντολογιών και βάσεων

γνώσης και δίνει την δυνατότητα για εύκολη δηµιουργία και επεξεργασία OWL

οντολογιών µέσα από εύχρηστο γραφικό περιβάλλον. Το πρόγραµµα

πρωτοεµφανίστηκε το 1988 και αποτελούσε απλώς ένα µέσο για τη δηµιουργία

εργαλείων ανάκτησης γνώσης για έµπειρα συστήµατα (expert system). Σήµερα µε τη

δουλειά της επιστηµονικής οµάδας του πανεπιστηµίου του Stanford το Protégé [26] έχει

εξελιχθεί σε ένα σύγχρονο εργαλείο µοντελοποίησης γνώσης. Αυτή τη στιγµή

απασχολεί ένα σηµαντικό κοµµάτι των ερευνητών στον τοµέα της σηµασιολογίας και

οντολογικής αναπαράστασης γνώσης. Ενώ και η ίδια η εφαρµογή αναπτύσσεται µε

ταχύτατους ρυθµούς, χρησιµοποιείται για την ανάπτυξη κάθε είδους οντολογιών.

Το Protégé µέσω πρόσθετων προγραµµάτων (plug-ins) δίνει την δυνατότητα για

εισαγωγή SWRL κανόνων πάνω στην οντολογία καθώς και την δυνατότητα για

εφαρµογή αυτών των κανόνων πάνω σε συγκεκριµένα δεδοµένα. Το Protégé επίσης

προσφέρει την βιβλιοθήκη που υλοποιεί την µοντελοποίηση των οντολογιών προς

χρήση σε εφαρµογές Java. Αυτά όµως θα αναλυθούν καλύτερα στα αντίστοιχα

κεφάλαια.

Η υλοποίηση της OWL για το Protégé έχει κάποιες διαφοροποιήσεις σε σύγκριση µε την

OWL όπως αυτή έχει οριστεί. Μια διαφορά της OWL από το Protégé-OWL είναι ότι το

δεύτερο χρησιµοποιεί το UNA (Unique Name Assumption) [27]. Κάθε στοιχείο της

οντολογίας (οντότητα, αντικείµενο, ιδιότητα) πρέπει να χρησιµοποιεί µοναδικό όνοµα.

Μια άλλη διαφορά είναι ότι στο Protégé, αντίθετα µε την OWL, δεν είναι απαραίτητο να

δηλώνεται αν δύο αντικείµενα είναι ίδια ή διαφορετικά.

6.2 Οντότητες

Page 33: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 33

Ένας ασύρµατος τηλεπικοινωνιακός κόσµος αποτελείτε από χρήστες οι οποίοι

επιθυµούν να καταναλώσουν υπηρεσίες µέσω από ασύρµατα δίκτυα. Για τον σκοπό

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

Οι οντότητες [κεφάλαιο 3.4] είναι ο πυρήνας της οντολογίας, καθώς εκφράζουν τα

βασικά στοιχεία του τηλεπικοινωνιακού κόσµου. Ακολουθεί η αναλυτική περιγραφή

τους:

Area

Τα αντικείµενα που αντιπροσωπεύουν γεωγραφικές περιοχές ανήκουν στην οντότητα

Area. Χρησιµοποιείται για να προσδιορίσει την περιοχή στην οποία είναι προσβάσιµο

ένα δίκτυο. Για να µπορέσει µια συσκευή να συνδεθεί σε κάποιο δίκτυο θα πρέπει

προφανώς να είναι µέσα στην εµβέλεια του.

CostProfile

Η οντότητα CostProfile αντιπροσωπεύει το οικονοµικό προφίλ ενός δικτύου. Για την

συγκεκριµένη οντότητα ορίζουµε τρία αντικείµενα της: το ελεύθερο προφίλ (free) το

οποίο δηλώνει µηδενικό κόστος, το οικονοµικό προφίλ (economic) που δηλώνει µικρό

κόστος και το προχωρηµένο προφίλ (advanced) που δηλώνει αυξηµένο κόστος.

Device

Η οντότητα Device είναι ένα από τα βασικά στοιχεία του αυτόνοµου δικτύου.

Αντιπροσωπεύει την συσκευή / τερµατικό που χρησιµοποιεί ο χρήστης για να

καταναλώνει υπηρεσίες µέσα από το δικτυακό περιβάλλον. Μία συσκευή έχει το υλικό

που της επιτρέπει να συνδέεται σε συγκεκριµένους τύπους δικτύων (κεραίες, δικτυακές

κάρτες, κτλ) καθώς και το λογισµικό που απαιτείται για την κατανάλωση υπηρεσιών.

Μία συσκευή έχει ένα σύνολο από πόρους (µπαταρία, CPU, µνήµη) τα οποία

απαιτούνται για την κατανάλωση υπηρεσιών. Οι συσκευές µπορεί να είναι κινητά

τηλέφωνα και φορητοί ηλεκτρονικοί υπολογιστές (laptops, palmtops) αλλά και άλλες πιο

σπάνιες συσκευές όπως συστήµατα χάρτη για αυτοκίνητα και άλλα.

Manufacturer

Αντιπροσωπεύει τους κατασκευαστές των συσκευών που ασχολούνται µε την

διατήρηση και συντήρηση των συσκευών από πλευράς λογισµικού και υλικού.

Προφανώς µόνο το µέρος του λογισµικού είναι κάτι που µπορεί να αυτονοµηθεί από τον

Page 34: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 34

ανθρώπινο παράγοντα.

Network

Αντιπροσωπεύει τα δίκτυα του ασύρµατου τηλεπικοινωνιακού κόσµου. Πάνω από τα

δίκτυα προσφέρονται υπηρεσίες τις οποίες οι χρήστες καταναλώνουν. Παραδείγµατα

δικτύων είναι τα δίκτυα κινητής τηλεφωνίας (τύπου GSM), καθώς και δίκτυα παροχής

ασύρµατου internet.

Operator

Είναι οι διαχειριστές των δικτύων. Συντηρούν και διαχειρίζονται δίκτυα τα οποία

προσφέρουν στους χρήστες για την κατανάλωση υπηρεσιών συνήθως έναντι κάποιου

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

µπορεί να προσφέρονται για δωρεάν ελεύθερη χρήση.

Εικόνα 4: Οι οντότητες της οντολογίας

RAT (Radio Access Technology)

Η οντότητα RAT αντιπροσωπεύει την τεχνολογία που ανήκει κάποιο δίκτυο.

Χαρακτηριστικοί τύποι δικτύων είναι το GSM, το GPRS, το WLAN και το Bluetooth [22].

Page 35: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 35

Συνήθως κάθε τύπος δικτύου απαιτεί και το αντίστοιχο υλικό από πλευράς συσκευής

(ποµποδέκτες, κεραίες, κάρτες, αποκωδικοποιητές κτλ).

Service

Αντιπροσωπεύει την υπηρεσία που καταναλώνει ο χρήστης µέσω του δικτύου.

Χαρακτηριστικές υπηρεσίες είναι οι τηλεφωνικές κλήσεις, τα σύντοµα µηνύµατα (SMS),

το ηλεκτρονικό ταχυδροµείο, η περιήγηση στον παγκόσµιο ιστό και η µεταφορά

αρχείων. Οι υπηρεσίες χωρίζονται σε τρεις διαφορετικές κατηγορίες – υπό-οντότητες:

τις απλές, τις απαιτητικές και τις υπηρεσίες πραγµατικού χρόνου (Simple, Demanding,

Realtime). Οι υπό-οντότητες αυτές έχουν δηλωθεί disjoint µεταξύ τους. ∆ηλαδή αν µια

υπηρεσία ανήκει σε µία από αυτές, δεν γίνεται παράλληλα να ανήκει και σε άλλη.

• Απλές είναι οι υπηρεσίες οι οποίες έχουν µικρές απαιτήσεις σε δικτυακούς

πόρους και µπορούν να λειτουργήσουν και σε φορτωµένα δίκτυα (για

παράδειγµα SMS, email).

• Απαιτητικές είναι οι υπηρεσίες οι οποίες αν και µπορούν να λειτουργήσουν

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

καλύτερα σε γρηγορότερα δίκτυα (για παράδειγµα µεταφορά αρχείων, WWW

browsing).

• Πραγµατικού χρόνου είναι οι υπηρεσίες που απαιτούν ένα συγκεκριµένο ρυθµό

µετάδοσης δεδοµένων για να λειτουργήσουν. Μικρότερος από τον απαιτούµενο

ρυθµό ρίχνει την ποιότητα της υπηρεσίας σηµαντικά ενώ µεγαλύτερος ρυθµός

δεδοµένων δεν χρειάζεται (για παράδειγµα τηλεφωνικές κλήσεις, streaming

µετάδοση βίντεο).

Software

Η οντότητα αυτή αντιπροσωπεύει το λογισµικό και χρησιµοποιείται στο σενάριο από τον

κατασκευαστή (manufacturer) όταν εκδίδει ενηµερώσεις (updates) για τις συσκευές του.

User

Είναι µια από τις βασικότερες οντότητες αφού αντιπροσωπεύει τον χρήστη του

αυτόνοµου συστήµατος ο οποίος µέσα από κάποιο δίκτυο καταναλώνει µια υπηρεσία. Ο

χρήστης έχει ένα σύνολο από προτιµήσεις τις οποίες λαµβάνει υπόψιν το σύστηµα όταν

Page 36: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 36

παίρνει αποφάσεις.

6.3 Ιδιότητες

Μέσα από τις ιδιότητες [κεφάλαιο 3.4] απεικονίζεται το προφίλ των βασικών στοιχείων

της οντολογίας (δίκτυο, χρήστης, συσκευή). Τα προφίλ και κατά συνέπεια οι ιδιότητες

της οντολογίας είναι η βασική πηγή πληροφοριών του αυτόνοµου συστήµατος βάση

των οποίων παίρνει αποφάσεις (decision making). Σε κάποιες ιδιότητες δίνονται τιµές

δυναµικά από το προηγούµενο επίπεδο αναλύοντας τον κόσµο στον οποίο λειτουργεί

όλο το σύστηµα (context management) µε σκοπό να χρησιµοποιηθούν για την λήψη

αποφάσεων. Οι ιδιότητες όµως δεν αφορούν αποκλειστικά τα προφίλ των στοιχείων του

συστήµατος. Σε κάποιες από αυτές δίνονται τιµές δυναµικά µέσω των SWRL κανόνων

(θα αναλυθούν στο επόµενο κεφάλαιο) µε σκοπό να χρησιµοποιηθούν από το επόµενο

επίπεδο που υλοποιεί τις αποφάσεις αυτές (self-configuration / self-management).

Ακολουθεί αναλυτική περιγραφή όλων των ιδιοτήτων της οντολογίας µε βάση την

domain οντότητα της κάθε ιδιότητας:

Network

• availableAt (Network → Area): Η ιδιότητα αυτή δηλώνει σε ποιες περιοχές είναι

διαθέσιµο ένα δίκτυο. Μέσα από µετρήσεις πάνω στο επίπεδο του σήµατος

µπορεί να υπολογιστεί η εµβέλεια κάθε δικτύου και να προσδιοριστούν οι

περιοχές που το σήµα είναι πάνω από το κατώτατο όριο ώστε το δίκτυο να

µπορεί να λειτουργήσει. Αυτή η πληροφορία είναι διαθέσιµη από το αυτόνοµο

σύστηµα όταν αυτό καλείται να πάρει µια απόφαση. Ορίζεται από τον διαχειριστή

του δικτύου.

• operatedBy (Network → Operator): Κάθε δίκτυο το διαχειρίζεται κάποιος

διαχειριστής και η ιδιότητα αυτή δηλώνει ποιος διαχειρίζεται ποιο δίκτυο. Ένα

δίκτυο µπορεί να µην διαχειρίζεται και από κανένα διαχειριστή και να είναι

αυτορυθµιζόµενο (για παράδειγµα τα δίκτυα Bluetooth).

• isFast (Network → boolean): Πρόκειται για ιδιότητα τύπου δεδοµένων (datatype)

που περιγράφει τον ρυθµό µετάδοσης δεδοµένων που µπορεί να προσφέρει το

δίκτυο στους χρήστες του. Για χάρη απλότητας και λόγο του υψηλού επιπέδου

περιγραφής των πληροφοριών στο επίπεδο της οντολογίας, η ιδιότητα αυτή έχει

Page 37: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 37

δύο τιµές: την τιµή true που δηλώνει ότι το δίκτυο µπορεί να προσφέρει υψηλό

ρυθµό µετάδοσης δεδοµένων καθώς και την τιµή false που δηλώνει το αντίθετο.

Χαρακτηριστικά οι απλές υπηρεσίες (simple) καθώς και οι υπηρεσίες

πραγµατικού χρόνου (realtime) µπορούν να λειτουργήσουν ανεξάρτητα της τιµής

αυτής της ιδιότητας καθώς αρκούνται στο αν το δίκτυο υποστηρίζει την

συγκεκριµένη υπηρεσία. Αντίθετα για τις απαιτητικές υπηρεσίες (demanding) έχει

σηµασία η ιδιότητα αυτή καθώς µπορούν να λειτουργήσουν και όταν η τιµή

αυτής της ιδιότητας είναι false µε χαµηλή ποιότητα, αλλά και µε καλύτερη

ποιότητα υπηρεσίας όταν η τιµή είναι true. Ορίζεται από τον διαχειριστή του

δικτύου.

• isLoaded (Network → boolean): Ακόµα µία ιδιότητα τύπου δεδοµένων που

περιγράφει το αν το δίκτυο είναι φορτωµένο σε τέτοιο βαθµό ώστε να µπορεί να

υποβαθµίσει την ποιότητα των υπηρεσιών που προσφέρει. Η τιµή της ιδιότητας

αυτής είναι false το µεγαλύτερο µέρος του χρόνου που το δίκτυο λειτουργεί

οµαλά. Με διαδικασία που δεν αφορά το επίπεδο της οντολογίας ο διαχειριστής

κάθε δικτύου ορίζει τα όρια του δικτύου του πάνω από τα οποία θεωρείται

φορτωµένο και µετρώντας την κίνηση δεδοµένων κάθε στιγµή ενηµερώνει την

τιµή της ιδιότητας σε true όταν αυτή ξεπερνάει αυτά τα όρια. Οι απλές υπηρεσίες

(simple) µπορούν να λειτουργήσουν σε φορτωµένα δίκτυα χωρίς να πέσει η

ποιότητα τους.

• hasCost (Network → CostProfile): Η ιδιότητα αυτή δηλώνει το κόστος χρήσης

του κάθε δικτύου συνδέοντας το µε κάποιο από τα οικονοµικά προφίλ που

ορίσαµε στην οντότητα CostProfile. Η πληροφορία αυτή ορίζεται από τον

διαχειριστή του δικτύου και χρησιµοποιείται από το αυτόνοµο σύστηµα για να

συµπεριλάβει το οικονοµικό προφίλ του χρήστη. Κάθε δίκτυο συνδέεται µε

ακριβώς ένα οικονοµικό προφίλ.

• hasType (Network → RAT): Ένα δίκτυο ανήκει σε τουλάχιστον έναν τύπο

δικτύων ανάλογα µε την τεχνολογία που χρησιµοποιεί . Η τεχνολογία δικτύων

ορίζει τους βασικούς κανόνες µετάδοσης των δεδοµένων, τα βασικά πρωτόκολλα

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

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

συσκευή του χρήστη έχει το απαραίτητο υλικό και λογισµικό για να υποστηρίξει

σύνδεση µε το δίκτυο αυτό.

Page 38: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 38

• hasService (Network → Service): Η ιδιότητα αυτή δηλώνει ποιες υπηρεσίες

προσφέρονται µέσα από αυτό το δίκτυο. Οι ιδιότητες και τα χαρακτηριστικά ενός

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

σε αυτό. Για τις απλές υπηρεσίες καθώς και τις υπηρεσίες πραγµατικού χρόνου,

η ιδιότητα αυτή αρκεί για να συνδεθεί ο καταναλωτής της υπηρεσίας µε το δίκτυο

και να καταναλώσει την υπηρεσία σε ικανοποιητική ποιότητα υπηρεσίας (QoS).

Εξαίρεση αποτελούν τα φορτωµένα δίκτυα για τις υπηρεσίες πραγµατικού

χρόνου.

Manufacturer

• providesUpdate (Manufacturer → Software): Όταν ο κατασκευαστής µίας

συσκευής εκδίδει ένα νέο πρόγραµµα για να ενηµερώσει τις συσκευές που

κατασκεύασε ενηµερώνεται αυτή η ιδιότητα η οποία και λειτουργεί σαν σήµα για

έναρξη της διαδικασίας της αυτόµατης ενηµέρωσης όλων των συσκευών από το

αυτόµατο σύστηµα. Ο κάθε κατασκευαστής µπορεί να εκδώσει παραπάνω από

ένα προγράµµατα.

User

• usesDevice (User → Device): Πρόκειται για τις συσκευές που χρησιµοποιεί ο

χρήστης για να καταναλώνει υπηρεσίες µέσω του συστήµατος. Όταν το σύστηµα

προσπαθεί να λάβει µία απόφαση για µία συσκευή, µία πολύ χρήσιµη

πληροφορία που πρέπει να συµπεριληφθεί στην λήψη της απόφασης, είναι το

προφίλ του χρήστη της συσκευής. Μέσω αυτής της ιδιότητας το σύστηµα µπορεί

να εντοπίσει τον χρήστη της συσκευής και να πάρει τις πληροφορίες που

χρειάζεται.

• isCustomer (User → Operator): Κάθε χρήστης που επιθυµεί να καταναλώσει

υπηρεσίες µέσω ασύρµατων δικτύων θα πρέπει να είναι πελάτης κάποιου

διαχειριστή δικτύων. Ορισµένα ελεύθερα δίκτυα (κυρίως δηµόσιου χαρακτήρα)

καθώς και τα αυτοδιαχειριζόµενα δίκτυα (πχ bluetooth δίκτυα) αποτελούν

εξαίρεση και δεν απαιτείται πελατειακή σχέση ώστε να µπορεί ο χρήστης να τα

χρησιµοποιήσει. Η ιδιότητα αυτή δίνει την δυνατότητα στον χρήστη για χρήση

όλων των δικτύων του συγκεκριµένου παρόχου – διαχειριστή. Τα διαθέσιµα αυτά

δίκτυα φιλτράρονται µέσα από το προφίλ προτιµήσεων του χρήστη ώστε το

κόστος χρήσης να είναι στα επιθυµητά για τον χρήστη επίπεδα.

Page 39: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 39

• hasLowBudget (User → boolean): Η ιδιότητα αυτή δηλώνει το οικονοµικό

προφίλ του χρήστη. Η τιµή true σηµαίνει ότι ο χρήστης προτιµά το οικονοµικό

προφίλ και συνεπώς δεν επιθυµεί το σύστηµα να τον συνδέει µε ακριβά δίκτυα. Η

τιµή false σηµαίνει ότι ο χρήστης δεν έχει οικονοµικό περιορισµό και επιθυµεί το

σύστηµα να τον συνδέει µε το δίκτυο που µπορεί να του προσφέρει καλύτερη

ποιότητα υπηρεσίας ανεξαρτήτως κόστους. Η τιµή της ιδιότητας αυτής ορίζεται

από τον ίδιο τον χρήστη µέσω κάποιας διεπαφής στην συσκευή του στα πλαίσια

του προσωπικού του προφίλ, µε το οποίο δηλώνει της προτιµήσεις του στο

σύστηµα.

• prefersOperator (User → Operator): Πρόκειται µε ιδιότητα την οποία δηλώνει ο

χρήστης τον διαχειριστή της προτίµησης του (αν υπάρχει), σε περίπτωση που

είναι πελάτης - χρήστης δικτύων πολλών διαχειριστών. Είναι ακόµα µία ιδιότητα

του προσωπικού προφίλ του χρήστη µέσα από τις οποίες δηλώνει τις

προτιµήσεις του. Ορίζεται από τον ίδιο τον χρήστη µε παρόµοιο τρόπο µε τον

οποίο δηλώνεται η προαναφερθείσα ιδιότητα. Η προτίµηση διαχειριστή θεωρείται

ως λιγότερο σηµαντική προτίµηση από το σύστηµα καθώς αυτό δίνει µεγαλύτερη

προτεραιότητα στην ικανοποίηση της προτίµησης ποιότητας-κόστους. Η

προτίµηση αυτή λαµβάνεται υπόψη όταν υπάρχουν πολλά διαθέσιµα δίκτυα που

να ικανοποιούν τις υπόλοιπες προϋποθέσεις και προτιµήσεις.

• prefersRAT (User → RAT): Ιδιότητα παρόµοια µε την prefersOperator. ∆ηλώνει

την προτίµηση του χρήστη (αν υπάρχει) σε τεχνολογία επικοινωνιών. Ορίζεται

από τον χρήστη και είναι ιδιότητα του προσωπικού προφίλ προτιµήσεων του.

Μαζί µε την προηγούµενη ιδιότητα είναι οι δύο λιγότερο σηµαντικές προτιµήσεις

του χρήστη και αντιµετωπίζονται από το σύστηµα µε την µικρότερη

προτεραιότητα (δηλαδή χρησιµοποιούνται όταν ικανοποιούνται όλες οι

υπόλοιπες προϋποθέσεις και προτιµήσεις).

• needsService (User → Service): Η ιδιότητα αυτή δηλώνει την επιθυµία του

χρήστη να καταναλώσει µία υπηρεσία. Η επιθυµία για κατανάλωση µίας

υπηρεσίας δηλώνεται από τον χρήστη µέσω των εφαρµογών που είναι

εγκατεστηµένες στην συσκευή του.

• newService (User → boolean): Η τιµή της ιδιότητας newService είναι true όταν ο

χρήστης επιθυµεί να καταναλώσει µία νέα υπηρεσία και λειτουργεί αποκλειστικά

Page 40: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 40

σαν σηµαία για την έναρξη της διαδικασίας σύνδεσης της συσκευής του χρήστη

µε κάποιο από τα διαθέσιµα δίκτυα. Σε αντίθετη περίπτωση είναι false.

Device

• manufacturedBy (Device → Manufacturer): Η ιδιότητα αυτή δηλώνει τον

κατασκευαστή κάθε συσκευής. Ενηµερώνεται από τον ίδιο τον κατασκευαστή για

κάθε συσκευή που εισάγεται στο σύστηµα έτσι ώστε να µπορεί το σύστηµα να

εντοπίζει τις συσκευές ενός συγκεκριµένου κατασκευαστή σε περίπτωση που

χρειάζεται µαζική ενηµέρωση τους µε πρόγραµµα που εκδίδει ο τελευταίος

• isInArea (Device → Area): Είναι η ιδιότητα που δηλώνει τις περιοχές στις οποίες

βρίσκεται µία συσκευή. Οι περιοχές στις οποίες είναι µία συσκευή µπορεί να είναι

πάνω από µία καθώς είναι δυνατό κάποιες από αυτές να αλληλοκαλύπτονται (για

παράδειγµα µία συσκευή που βρίσκεται στην περιοχή “Πανεπιστήµιο Αθηνών”,

βρίσκεται παράλληλα και στην περιοχή “Αθήνα”). Όπως είναι λογικό, για να γίνει

σύνδεση κάποιας συσκευής µε κάποιο δίκτυο απαιτείται η συσκευή να βρίσκεται

στην εµβέλεια του δικτύου αυτού, δηλαδή να υπάρχει ταύτιση τιµών αυτής της

ιδιότητας µε την ιδιότητα availableAt που αναφέρθηκε προηγουµένως.

• usesNetwork (Device → Network): Η ιδιότητα αυτή χρησιµοποιείται και παίρνει

τιµή όταν ο χρήστης χρησιµοποιεί κάποιο δίκτυο µέσα από την συσκευή του.

Κατά την επίτευξη σύνδεσης σε κάποιο δίκτυο το σύστηµα αυτόµατα ενηµερώνει

και την ιδιότητα αυτή ώστε να έχει την δυνατότητα να χειριστεί µία µετάβαση σε

κάποιο άλλο δίκτυο αν αυτό κριθεί αναγκαίο.

• usesService (Device → Service): Μία σύνδεση συσκευής σε δίκτυο γίνεται ώστε

να δοθεί η δυνατότητα στον χρήστη να καταναλώσει µία υπηρεσία µέσα από το

δίκτυο αυτό. Η ιδιότητα αυτή δηλώνει την υπηρεσία που καταναλώνει ο χρήστης

µέσα από κάποιο δίκτυο χρησιµοποιώντας την συσκευή του. Με παρόµοιο τρόπο

µε την προηγούµενη ιδιότητα το σύστηµα αυτόµατα ενηµερώνει αυτή την ιδιότητα

κατά την επίτευξη σύνδεσης σε κάποιο δίκτυο µε την υπηρεσία για την οποία

έγινε η σύνδεση, καθώς και αυτή η πληροφορία είναι απαραίτητη για τον χειρισµό

µεταβάσεων.

• hasResourses (Device → boolean): Η ιδιότητα αυτή δηλώνει κατά πόσο η

συσκευή έχει τους απαραίτητους πόρους (µπαταρία, µνήµη, CPU) για να κάνει

Page 41: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 41

µία λειτουργία. Πριν την εκκίνηση κάποιας υπηρεσίας ή κάποιας άλλης

αυτόµατης λειτουργίας το σύστηµα εξετάζει και συγκρίνει τους πόρους της

συσκευής µε τους απαιτούµενους πόρους της λειτουργίας και ανάλογα

ενηµερώνει την συγκεκριµένη ιδιότητα. Η τιµή true σηµαίνει ότι η συσκευή έχει

τους απαιτούµενους πόρους διαθέσιµους, ενώ το αντίθετο συµβολίζεται από την

τιµή false. Η ύπαρξη των απαραίτητων διαθέσιµων πόρων είναι προφανώς

απαραίτητη προϋπόθεση για να συνεχιστεί η λειτουργία.

• isAboveSignalTH (Device → boolean): Όταν µία συσκευή είναι συνδεδεµένη σε

κάποιο δίκτυο, ένας δείκτης στην συσκευή µετράει την ποιότητα του σήµατος που

λαµβάνει η κεραία της συσκευής από τον ποµπό. Στις προδιαγραφές της

ασύρµατης επικοινωνίας υπάρχει ένα όριο (signal threshold) κάτω από το οποίο

το σήµα είναι τόσο ασθενές όπου ο θόρυβος και οι παρεµβολές ρίχνουν την

ποιότητα της επικοινωνίας. Η συσκευή είναι δηλαδή έξω από την εµβέλεια του

δικτύου. Στην περίπτωση που καθώς µετακινείται ο κινητός χρήστης, το επίπεδο

του σήµατος στην συσκευή του πέσει κάτω από τα επιτρεπτά όρια, η τιµή της

ιδιότητας αυτής γίνεται false και το σύστηµα αναλαµβάνει να χειριστεί την

µετάβαση της συσκευής σε κάποιο άλλο διαθέσιµο δίκτυο. Τον χρόνο που η

συσκευή βρίσκεται εντός της εµβέλειας του δικτύου που χρησιµοποιεί, η τιµή της

ιδιότητας είναι true.

• isUpdated (Device → boolean): Όταν ο κατασκευαστής µίας συσκευής εκδώσει

κάποια ενηµέρωση για τις συσκευές του, το σύστηµα συγκρίνει την έκδοση του

νέου λογισµικού µε την ήδη εγκατεστηµένη έκδοση του και ανάλογα ενηµερώνει

την ιδιότητα isUpdated. Με χρήση αυτής της ιδιότητας το αυτόνοµο σύστηµα δεν

προσπαθεί να ενηµερώσει ένα ήδη ενηµερωµένο τερµατικό. Η τιµή true σηµαίνει

ότι η συσκευή είναι ενηµερωµένη µε την τελευταία έκδοση του συγκεκριµένου

λογισµικού, ενώ η τιµή false σηµαίνει ότι το σύστηµα πρέπει να προχωρήσει

στην ενηµέρωση της συσκευής αυτής.

• supportsRAT (Device → RAT): Η ιδιότητα αυτή δηλώνει ποιες τεχνολογίες

ασύρµατων επικοινωνιών υποστηρίζει η συσκευή. Για την σύνδεση µίας

συσκευής σε ένα δίκτυο απαιτείται κάποιος υλικός εξοπλισµός στην συσκευή

όπως κάρτες, κεραίες και αποκωδικοποιητές. Η τιµή της ιδιότητας ορίζεται από

τον κατασκευαστή στο προφίλ της συσκευής και είναι γενικά στατική. Αν η

συσκευή δεν υποστηρίζει την τεχνολογία ενός συγκεκριµένου δικτύου η σύνδεση

Page 42: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 42

σε αυτό είναι αδύνατη.

• supportService (Device → Service): Η ιδιότητα αυτή δηλώνει τις υπηρεσίες που

υποστηρίζει η συσκευή. Για την χρήση των υπηρεσιών πάνω σε ένα δίκτυο

απαιτείται η χρήση κάποιων πρωτοκόλλων επικοινωνίας (για παράδειγµα το http

για www browsing, το ftp για µεταφορά αρχείων κτλ.) και απαιτείται να είναι

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

της ιδιότητας ορίζεται αρχικά από τον κατασκευαστή για τις υπηρεσίες οι οποίες

ικανοποιούν την παραπάνω προϋπόθεση και υποστηρίζονται από την συσκευή.

• lookingForNetwork (Device → boolean): Η ιδιότητα lookingForNetwork δηλώνει

ότι η συγκεκριµένη συσκευή είναι σε κατάσταση αναζήτησης δικτύου είτε γιατί ο

χρήστης επιθυµεί να ξεκινήσει µία υπηρεσία, είτε γιατί το σύστηµα επιθυµεί να

ξεκινήσει µία αυτοµατοποιηµένη διαδικασία (πχ µετάβαση σε άλλο δίκτυο). Η τιµή

της ιδιότητας ορίζεται από το ίδιο το αυτόνοµο σύστηµα µέσα από τους SWRL

κανόνες που υλοποιούν τις πολιτικές και ορίζονται στο επόµενο κεφάλαιο. Η

ιδιότητα αυτή λειτουργεί σαν σηµαία ώστε το σύστηµα να ξεκινήσει την

αναζήτηση του δικτύου που ικανοποιεί σε καλύτερο βαθµό τα προφίλ των

στοιχείων του συστήµατος (δίκτυο, συσκευή, τερµατικό, υπηρεσία).

• isAccessible (Device → Network): Πρόκειται για τα δίκτυα τα οποία είναι

διαθέσιµα στην συσκευή για σύνδεση. Οι βασικές προϋποθέσεις για την

διαθεσιµότητα ενός δικτύου είναι το να βρίσκεται η συσκευή στην εµβέλεια του

και να επιτρέπει ο διαχειριστής του δικτύου την σύνδεση του χρήστη αυτό. Η

τιµή της ιδιότητας ορίζεται από τους SWRL κανόνες και αποτελεί το σύνολο

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

• isProposed (Device → Network): Τα δίκτυα αυτής της ιδιότητας αποτελούν

υποσύνολο των διαθέσιµων δικτύων της παραπάνω ιδιότητας. Πρόκειται για τα

δίκτυα τα οποία υποστηρίζουν την υπηρεσία, που ο χρήστης επιθυµεί να

καταναλώσει µέσω της συσκευής του, σε ικανοποιητική ποιότητα υπηρεσίας. Η

τιµή και αυτής της ιδιότητας δίνεται µέσα από τους SWRL κανόνες µε διαδικασία

που θα αναλυθεί στο επόµενο κεφάλαιο.

• isPrefered-Cost (Device → Network): Τα δίκτυα αυτής της ιδιότητας αποτελούν

υποσύνολο των δικτύων της παραπάνω ιδιότητας. Πρόκειται για τα δίκτυα τα

οποία ικανοποιούν στον καλύτερο δυνατό βαθµό το οικονοµικό προφίλ του

Page 43: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 43

χρήστη της συσκευής (οικονοµικό / απαιτητικό προφίλ). Η ιδιότητα αυτή ορίζεται

µέσα από τους SWRL κανόνες.

• isPrefered (Device → Network): Τα δίκτυα αυτής της ιδιότητας αποτελούν

υποσύνολο των δικτύων της παραπάνω ιδιότητας. Πρόκειται για τα δίκτυα τα

οποία ικανοποιούν τις χαµηλότερης προτεραιότητας προτιµήσεις του χρήστη

(προτίµηση διαχειριστή / προτίµηση τεχνολογίας). Η ιδιότητα αυτή ορίζεται µέσα

από τους SWRL κανόνες. Μαζί µε τις τρεις παραπάνω ιδιότητες, η ιδιότητα αυτή

είναι το αποτέλεσµα της διαδικασίας επιλογής των δικτύων που από τα

διαθέσιµα δίκτυα ικανοποιούν καλύτερα τα προφίλ και τις προτιµήσεις των

στοιχείων του συστήµατος.

• Downloads (Device → Software): Η τελευταία ιδιότητα της οντολογίας δηλώνει

τα προγράµµατα που καλείται η συσκευή να “κατεβάσει” µέσα από µια

αυτοµατοποιηµένη διαδικασία από τους εξυπηρετητές του συστήµατος. Η

ιδιότητα αυτή χρησιµοποιείται κατά την διαδικασία της µαζικής

αυτοµατοποιηµένης ενηµέρωσης συσκευών και αποτελεί έξοδο των SWRL

κανόνων.

Page 44: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 44

Εικόνα 5: Η Οντολογία

Page 45: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 45

ΚΕΦΑΛΑΙΟ 7

ΠΟΛΙΤΙΚΕΣ ΕΚΦΡΑΣΜΕΝΕΣ ΣΕ SWRL ΚΑΝΟΝΕΣ

7.1 Protégé και SWRL Κανόνες

Η πλατφόρµα Protégé µε την βοήθεια του SWRLTab [31] δίνει την δυνατότητα για

ενσωµάτωση SWRL κανόνων στην οντολογία. Οι SWRL κανόνες [30] ορίζουν τις

πολιτικές (policies) µε τις οποίες λειτουργεί το αυτόνοµο σύστηµα µε σκοπό την επίλυση

των σκοπών που αναφέρονται στο κεφάλαιο 5.2.

Ο επεξεργαστής κανόνων SWRL του περιβάλλοντος Protégé [29] είναι µια επέκταση

της Protégé OWL ώστε να επιτρέπεται η διαδραστική επεξεργασία των κανόνων SWRL.

Οι SWRL κανόνες αποθηκεύονται σαν OWL αντικείµενα µε την σχετική τους βάση

γνώσεων (knowledge base) όποτε αποθηκεύεται µία οντολογία. O επεξεργαστής

κανόνων SWRL συνδυάζεται µε ένα Java API, το Protégé SWRL Factory [32], που

επιτρέπει τον άµεσο χειρισµό κανόνων SWRL σε µια οντολογία της OWL. Το SWRL

Factory παρέχει µια αντιστοιχία µεταξύ των OWL αντικειµένων µε τα οποία

αναπαριστώνται οι κανόνες και των ανάλογων στιγµιότυπων Java. Κάθε οντότητα που

περιγράφεται στην οντολογία της SWRL έχει µία αντίστοιχη Java κλάση να το

εκπροσωπεί στο SWRL Factory. Επιπλέον υπάρχουν µηχανισµοί δηµιουργίας

αντικειµένων των κλάσεων σε χρόνο εκτέλεσης, που αντιστοιχούν στα αντικείµενα της

OWL οντολογίας. Τέλος, αυτή η βιβλιοθήκη (API) µπορεί να χρησιµοποιηθεί και για την

δηµιουργία νέων επεξεργαστών κανόνων.

Πρέπει να σηµειωθεί πως ο επεξεργαστής κανόνων SWRL από µόνος του δεν έχει

δυνατότητες εξαγωγής συµπερασµάτων. Παρ’ όλα αυτά το SWRL Factory υποστηρίζει

έναν µηχανισµό εισαγωγής µε την µορφή πρόσθετου προγράµµατος (plug-in) µιας

µηχανής κανόνων. Η µηχανή που χρησιµοποιούµε σε αυτό το project είναι η Jess Rule

Engine, η οποία και θα αναλυθεί στο κεφάλαιο 8.1.

7.2 Στόχος 1: ∆υνατότητα Επιλογής του Καταλληλότερου ∆ικτύου

Στόχος του αυτόµατου συστήµατος είναι να έχει την δυνατότητα χωρίς την ανθρώπινη

παρέµβαση (είτε του χρήστη, είτε των διαχειριστών) να µπορεί από τα διαθέσιµα δίκτυα

να επιλέγει αυτό που ικανοποιεί περισσότερο τις απαιτήσεις και προτιµήσεις του

Page 46: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 46

χρήστη. Η διαδικασία αυτή γίνεται µε χρήση της βάσης πληροφοριών της οντολογίας.

Συγκεκριµένα, µε κανόνες SWRL που θα αναλυθούν στην συνέχεια ορίζονται οι

ιδιότητες isProposed, isPrefered-Cost, isPrefered. Τα δίκτυα που καθορίζονται από την

ιδιότητα isProposed µπορούν να υποστηρίξουν την υπηρεσία που επιθυµεί να

καταναλώσει ο χρήστης. Τα δίκτυα που καθορίζονται από την ιδιότητα isPrefered-Cost

είναι υποσύνολο των προηγούµενων και παράλληλα ικανοποιούν τις οικονοµικές

προτιµήσεις του χρήστη. Τα δίκτυα που καθορίζονται από την ιδιότητα isPrefered είναι

υποσύνολο των προηγούµενων και παράλληλα ικανοποιούν τις λιγότερες σηµαντικές

προτιµήσεις του χρήστη.

Η επιλογή γίνεται µε τον εξής αλγόριθµο [εικόνα 6]: Επιλέγεται ένα δίκτυο που ορίζεται

από την ιδιότητα isPrefered. Αν κανένα δίκτυο δεν ικανοποιεί τις προϋποθέσεις του

isPrefered τότε επιλέγεται ένα δίκτυο που ορίζεται από την ιδιότητα isPrefered-Cost.

Στην περίπτωση που κανένα δίκτυο δεν ικανοποιεί τις προϋποθέσεις του isPrefered-

Cost τότε επιλέγεται ένα δίκτυο που ορίζεται από την ιδιότητα isProposed. Τέλος, εάν

κανένα δίκτυο δεν ικανοποιεί τις προϋποθέσεις του isProposed τότε η σύνδεση

αποτυχαίνει.

Εικόνα 6: ∆ιάγραµµα ροής αλγόριθµου επιλογής δικτύου

Page 47: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 47

Πρέπει να σηµειωθεί ότι ο συγκεκριµένος αλγόριθµος επιλογής δεν υλοποιείται στο

επίπεδο της οντολογίας µέσα από τους SWRL κανόνες. Οι SWRL κανόνες προσφέρουν

τα τρία σύνολα δικτύων φιλτράροντας όλα τα διαθέσιµα δίκτυα. Η εφαρµογή του

παραπάνω αλγόριθµου πάνω σε αυτά γίνεται σε επίπεδο κώδικα και όχι στο επίπεδο

της οντολογίας.

Rule 1: a.FreeNetworks

isInArea(?d, ?a) ^

availableAt(?n, ?a) ^

hasType(?n, ?r) ^

supportsRAT(?d, ?r) ^

hasCost(?n, Free)

→ isAccessible(?d, ?n)

Ο κανόνας αυτός υποδεικνύει τα διαθέσιµα δίκτυα για µία συσκευή (ιδιότητα

isAccessible). Συγκεκριµένα ο κανόνας ορίζει τρεις προϋποθέσεις που πρέπει να

ικανοποιηθούν για να θεωρηθεί ένα δίκτυο διαθέσιµο. Η πρώτη προϋπόθεση είναι η

συσκευή να βρίσκεται σε περιοχή που είναι στην εµβέλεια του δικτύου. Η δεύτερη είναι

η συσκευή να υποστηρίζει την τεχνολογία τηλεπικοινωνιών (RAT) του συγκεκριµένου

δικτύου. Οι δύο αυτές προϋποθέσεις δεν αρκούν καθώς πρέπει ο διαχειριστής του

δικτύου να επιτρέπει την σύνδεση στον συγκεκριµένο χρήστη. Η τρίτη προϋπόθεση που

θέτει ο κανόνας είναι το συγκεκριµένο δίκτυο να είναι ελεύθερο για δηµόσια χρήση.

Rule 2: a.PayedNetworks

isInArea(?d, ?a) ^

availableAt(?n, ?a) ^

hasType(?n, ?r) ^

supportsRAT(?d, ?r) ^

operatedBy(?n, ?o) ^

usesDevice(?u, ?d) ^

isCustomer(?u, ?o)

→ isAccessible(?d, ?n)

Ο κανόνας αυτός επίσης ορίζει τα διαθέσιµα δίκτυα για µία συσκευή (ιδιότητα

isAccessible). ∆εδοµένου ότι συνυπάρχει µε τον πρώτο κανόνα, η ιδιότητα των

Page 48: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 48

διαθέσιµων δικτύων ορίζεται µε το λογικό OR των κανόνων 1 και 2. Συγκεκριµένα,

ορίζονται ξανά τρεις προϋποθέσεις που πρέπει να ικανοποιούνται για να θεωρηθεί ένα

δίκτυο διαθέσιµο. Οι δύο πρώτες είναι παρόµοιες µε του πρώτου κανόνα και είναι: η

συσκευή να είναι σε περιοχή που µέσα στην εµβέλεια του δικτύου και η συσκευή να

υποστηρίζει την τεχνολογία τηλεπικοινωνιών (RAT) του συγκεκριµένου δικτύου. Η τρίτη

προϋπόθεση είναι ο χρήστης της συσκευής να είναι συνδροµητής του διαχειριστή του

συγκεκριµένου δικτύου. Με αυτόν τον κανόνα καλύπτονται και τα ιδιωτικά συνδροµητικά

δίκτυα.

Rule 3: c.Proposed

isAccessible(?d, ?n) ^

lookingForNetwork(?d, true) ^

usesDevice(?u, ?d) ^

needsService(?u, ?s) ^

hasService(?n, ?s) ^

isLoaded(?n, false)

→ isProposed(?d, ?n)

Ο κανόνας αυτός ορίζει τα δίκτυα της ιδιότητας isProposed για µία συσκευή. Τα δίκτυα

αυτά ικανοποιούν τις βασικές προϋποθέσεις ώστε να µπορούν να χρησιµοποιηθούν για

την κατανάλωση της επιθυµητής υπηρεσίας. Οι βασικές προϋποθέσεις είναι να είναι το

δίκτυο διαθέσιµο (µε τον τρόπο που ορίστηκε η διαθεσιµότητα στους παραπάνω), να

υποστηρίζει το δίκτυο την επιθυµητή από τον χρήστη υπηρεσία και να µην είναι το

δίκτυο αυτό φορτωµένο. Η ιδιότητα lookingForNetwork λειτουργεί σαν σηµαία για να

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

διαδικασία αναζήτησης του καταλληλότερου δικτύου αν η συγκεκριµένη συσκευή δεν

χρειάζεται αναζήτηση δικτύου.

Rule 4: c.ProposedSimple

isAccessible(?d, ?n) ^

lookingForNetwork(?d, true) ^

usesDevice(?u, ?d) ^

needsService(?u, ?s) ^

hasService(?n, ?s) ^

Simple(?s)

Page 49: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 49

→ isProposed(?d, ?n)

Εξαίρεση στον παραπάνω ορισµό του isProposed αποτελούν οι περιπτώσεις όπου η

επιθυµητή υπηρεσία ανήκει στην υποοντότητα Simple. Εξ' ορισµού οι απλές υπηρεσίες

µπορούν να λειτουργήσουν µε ικανοποιητική ποιότητα υπηρεσίας και σε φορτωµένα

δίκτυα λόγω των χαµηλών απαιτήσεων τους. Συνεπώς, όταν η υπηρεσία είναι απλή, η

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

ορίζει την ειδική περίπτωση του isProposed. Οι µόνες προϋποθέσεις, όταν η υπηρεσία

προς κατανάλωση είναι απλή, είναι να είναι το δίκτυο διαθέσιµο (µε τον τρόπο που

ορίστηκε η διαθεσιµότητα στους παραπάνω) και να υποστηρίζεται η υπηρεσία αυτή από

το δίκτυο. Η ιδιότητα lookingForNetwork λειτουργεί και σε αυτόν τον κανόνα σαν σηµαία

για να ξεκινήσει η διαδικασία αναζήτησης µε παρόµοιο τρόπο.

Rule 5: d.PreferedEconomic

isProposed(?d, ?n) ^

usesDevice(?u, ?d) ^

hasLowBudget(?u, true) ^

hasCost(?n, Economic)

→ isPrefered-Cost(?d, ?n)

Ο κανόνας αυτός ορίζει τα δίκτυα που περιγράφονται από την ιδιότητα isPrefered-Cost

για µία συσκευή. Τα δίκτυα αυτά ικανοποιούν τις οικονοµικές προτιµήσεις του χρήστη

όπως αυτές απεικονίζονται στο προφίλ του. Το φιλτράρισµα γίνεται από το σύνολο

δικτύων της ιδιότητας isProposed. Ο συγκεκριµένος κανόνας ορίζει τα δίκτυα

προτίµησης του οικονοµικού χρήστη. Για ένα οικονοµικό χρήστη η βασική προϋπόθεση

για να ικανοποιείται το οικονοµικό του προφίλ είναι το δίκτυο να είναι οικονοµικό.

Rule 6: d.PreferedFree

isProposed(?d, ?n) ^

usesDevice(?u, ?d) ^

hasLowBudget(?u, true) ^

hasCost(?n, Free)

→ isPrefered-Cost(?d, ?n)

Ο κανόνας αυτός ορίζει τα δίκτυα της ιδιότητας isPrefered-Cost για µία συσκευή. Ένας

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

Page 50: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 50

δίκτυα. Ο κανόνας αυτός συµπληρώνει τον πέµπτο κανόνα προσθέτοντας και τα δίκτυα

αυτά στο σύνολο των δικτύων που ικανοποιούν το οικονοµικό προφίλ του χρήστη.

Rule 7: d.PreferedFast

isProposed(?d, ?n) ^

usesDevice(?u, ?d) ^

hasLowBudget(?u, false) ^

isFast(?n, true)

→ isPrefered-Cost(?d, ?n)

Ο κανόνας αυτός ορίζει τα δίκτυα της ιδιότητας isPrefered-Cost για µία συσκευή για την

περίπτωση του απαιτητικού χρήστη που επιθυµεί την καλύτερη δυνατή ποιότητα

υπηρεσίας ανεξαρτήτως κόστους. Για την περίπτωση αυτής της κατηγορίας χρηστών

προϋπόθεση για να θεωρηθεί ένα δίκτυο ότι ικανοποιεί το οικονοµικό προφίλ του

χρήστη είναι το δίκτυο αυτό να είναι γρήγορο.

Rule 8: e.PreferedOperator

isPrefered-Cost(?d, ?n) ^

usesDevice(?u, ?d) ^

prefersOperator(?u, ?o) ^

operatedBy(?n, ?o)

→ isPrefered(?d, ?n)

Ο κανόνας 8 φιλτράρει ακόµα περισσότερο τα δίκτυα που ορίζονται από τους

παραπάνω κανόνες µε τις λιγότερο σηµαντικές προτιµήσεις του χρήστη και παράγει το

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

που ανήκουν στον διαχειριστή της προτίµησης του χρήστη. Προϋπόθεση που ορίζεται

στον κανόνα αυτόν είναι το συγκεκριµένο δίκτυο να το διαχειρίζεται ο διαχειριστής της

προτιµήσεως του χρήστη όπως αυτό προκύπτει από το προσωπικό του προφίλ.

Rule 9: e.PreferedRAT

isPrefered-Cost(?d, ?n) ^

usesDevice(?u, ?d) ^

prefersRAT(?u, ?r) ^

hasType(?n, ?r)

Page 51: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 51

→ isPrefered(?d, ?n)

Είναι ο τελευταίος κανόνας που ορίζεται στην διαδικασία επιλογής του καταλληλότερου

δικτύου προς σύνδεση και συµπληρώνει τον ορισµό της ιδιότητας isPrefered. Ο

κανόνας αυτός αφορά την προτίµηση του χρήστη σε τεχνολογία επικοινωνίας. Όταν ένα

δίκτυο ανήκει στην τεχνολογία προτίµησης του χρήστη τότε, µε βάση τον κανόνα αυτό,

το δίκτυο θεωρείται isPrefered.

7.3 Στόχος 2: ∆υνατότητα Μετάβασης από ∆ίκτυο σε ∆ίκτυο

Ο δεύτερος στόχος που θέσαµε στο κεφάλαιο 5.2, όπως προκύπτει από το σενάριο,

είναι η δυνατότητα της αυτόµατης µετάβασης από ένα δίκτυο σε άλλο όταν αυτό κρίνεται

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

που θα αναπτυχθούν σε αυτό το κεφάλαιο ορίζουν τις συνθήκες και τις προϋποθέσεις

κάτω από τις οποίες µια συσκευή θα µπει στην κατάσταση lookingForNetwork (δηλαδή

θα έχει τιµή true η αντίστοιχη ιδιότητα). Από την στιγµή που η τιµή της ιδιότητας θα γίνει

αληθής, ενεργοποιούνται οι κανόνες που έχουν οριστεί στο προηγούµενο στόχο και

εντοπίζεται το καταλληλότερο δίκτυο. Οι περιπτώσεις που απαιτείται να γίνει µετάβαση

σε άλλο δίκτυο είναι οι εξής: αν υπάρχει δυνατότητα βελτίωσης της ποιότητας της

υπηρεσίας, αν ο κινητός χρήστης αποµακρυνθεί από την εµβέλεια του δικτύου καθώς

και αν το δίκτυο που χρησιµοποιείται φορτωθεί σε σηµείο που να χειροτερεύει η

ποιότητα της υπηρεσίας κάτω από τα επιθυµητά επίπεδα.

Rule 1: b.FasterAccessibleNetworks

usesNetwork(?d, ?n1) ^

isFast(?n1, false) ^

usesService(?d, ?s) ^

Demanding(?s) ^

isAccessible(?d, ?n2) ^

hasService(?n2, ?s) ^

isFast(?n2, true)

→ lookingForNetwork(?d, true)

Ο πρώτος κανόνας αφορά τις απαιτητικές υπηρεσίες (Demanding). Βάση του ορισµού

Page 52: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 52

των υπηρεσιών που ανήκουν στην οντότητα των απαιτητικών υπηρεσιών (βλέπε

κεφάλαιο 6.2), οι υπηρεσίες αυτές αν και µπορούν να λειτουργήσουν υποτυπωδώς σε

δίκτυα χαµηλού ρυθµού µετάδοσης δεδοµένων, λειτουργούν όλο και καλύτερα σε δίκτυα

υψηλότερων ρυθµών. Ο κανόνας αυτός αφορά την περίπτωση όπου κατά την διάρκεια

χρήσης µιας απαιτητικής υπηρεσίας σε κάποιο δίκτυο χαµηλών ρυθµών, ένα άλλο

δίκτυο υψηλών ρυθµών γίνεται διαθέσιµο (συνήθως γιατί ο χρήστης µετακινείται). Στην

περίπτωση αυτή έχουµε µία πιθανή µετάβαση σε νέο δίκτυο. Η συσκευή µπαίνει σε

κατάσταση αναζήτησης δικτύου όπου είτε θα παραµείνει στο ίδιο δίκτυο ή θα µεταβεί

στο νέο, ανάλογα ποιο από τα δύο ικανοποιεί καλύτερα τις προτιµήσεις και τις

απαιτήσεις του χρήστη. Οι προϋποθέσεις που πρέπει να ικανοποιούνται σε αυτό τον

SWRL κανόνα είναι να χρησιµοποιεί η συσκευή ένα δίκτυο χαµηλών ρυθµών για την

κατανάλωση µίας απαιτητικής υπηρεσίας και να υπάρχει διαθέσιµο ένα δίκτυο υψηλών

ρυθµών µετάδοσης το οποίο να υποστηρίζει την συγκεκριµένη υπηρεσία.

Rule 2: b.LoadedNetwork_D

usesService(?d, ?s) ^

Demanding(?s) ^

usesNetwork(?d, ?n) ^

isLoaded(?n, true)

→ lookingForNetwork(?d, true)

Ένας λόγος µετάβασης είναι όταν κατά την διάρκεια χρήσης µίας υπηρεσίας, το δίκτυο

φορτωθεί σε τέτοιο βαθµό ώστε να µην µπορεί η υπηρεσία να καταναλωθεί σε

ικανοποιητική ποιότητα. Η περίπτωση µετάβασης αυτή αφορά µόνο τις απαιτητικές

υπηρεσίες και τις υπηρεσίες πραγµατικού χρόνου καθώς εξ ορισµού οι απλές

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

συγκεκριµένος κανόνας αφορά τις απαιτητικές υπηρεσίες (Demanding). Η

προϋποθέσεις, που ορίζονται στον κανόνα, για να ξεκινήσει η µετάβαση µέσω της

κατάστασης αναζήτησης δικτύου είναι η συσκευή να χρησιµοποιεί ένα φορτωµένο

δίκτυο για µία απαιτητική υπηρεσία.

Rule 3: b.LoadedNetwork_RT

usesService(?d, ?s) ^

Realtime(?s) ^

usesNetwork(?d, ?n) ^

Page 53: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 53

isLoaded(?n, true)

→ lookingForNetwork(?d, true)

Ο τρίτος κανόνας αφορά την περίπτωση µετάβαση λόγω φορτωµένου δικτύου και

συγκεκριµένα τις υπηρεσίες πραγµατικού χρόνου (Realtime). Λειτουργεί πανοµοιότυπα

µε τον προηγούµενο κανόνα και τον συµπληρώνει. Οι υπηρεσίες πραγµατικού χρόνου

δεν µπορούν να λειτουργήσουν σε ικανοποιητική ποιότητα υπηρεσίας σε φορτωµένα

δίκτυα και συνεπώς απαιτείται µετάβαση. Η προϋποθέσεις, που ορίζονται στον κανόνα

αυτό, για να ξεκινήσει η µετάβαση µέσω της κατάστασης αναζήτησης δικτύου είναι η

συσκευή να χρησιµοποιεί ένα φορτωµένο δίκτυο για µία υπηρεσία πραγµατικού χρόνου.

Rule 4: b.NetworkUnavailable

usesNetwork(?d, ?n) ^

isAboveSignalTH(?d, false)

→ lookingForNetwork(?d, true)

Ο τελευταίος κανόνας πάνω στις µεταβάσεις αφορά την περίπτωση που ο κινητός

χρήστης, καθώς αποµακρύνεται από τον ποµπό, βγει από την εµβέλεια του δικτύου

που χρησιµοποιεί. Προϋπόθεση ορίζεται να είναι το σήµα της επικοινωνίας κάτω του

κατώτατου ορίου, όπως αυτό δηλώνεται από την αντίστοιχη ιδιότητα

(isAboveSignalTH). Στην περίπτωση αυτή το δίκτυο που χρησιµοποιείται αδυνατεί να

παρέχει την υπηρεσία στον χρήστη και η µετάβαση σε άλλο δίκτυο είναι η µόνη λύση

ώστε η υπηρεσία να µην διακοπεί. Με τον κανόνα αυτό η συσκευή του χρήστη µπαίνει

σε κατάσταση αναζήτησης δικτύου, µέσω της οποίας ξεκινάει η διαδικασία αναζήτησης

του αντικαταστάτη.

7.4 Στόχος 3: Αυτοµατοποιηµένες ∆ιαδικασίες

Ο τελευταίος στόχος αφορά τις λοιπές αυτοµατοποιηµένες διαδικασίες που επιθυµούµε

να πραγµατοποιεί το σύστηµα. Η πρώτη διαδικασία είναι η δυνατότητα µαζικής

αυτόµατης ενηµέρωσης συσκευών από τον κατασκευαστή τους [κεφάλαιο 5.2]. Η

δεύτερη διαδικασία είναι η δυνατότητα τοπικού ελέγχου των πόρων και των

δυνατοτήτων της συσκευής κατά την εκκίνηση µιας υπηρεσίας µε εντολή του χρήστη. Οι

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

Page 54: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 54

αυτοµατοποίηση τους.

Rule 1: b.ServiceRequestByUser

newService(?u, true) ^

needsService(?u, ?s) ^

usesDevice(?u, ?d) ^

supportsService(?d, ?s) ^

hasResourses(?d, true)

→ lookingForNetwork(?d, true)

Στον κανόνα αυτό ο χρήστης επιθυµεί να ξεκινήσει την κατανάλωση µίας υπηρεσίας

µέσω από την συσκευή του. Ορίζονται δύο προϋποθέσεις για να συνεχιστεί η

διαδικασία µε το να µπει η συσκευή σε κατάσταση αναζήτησης δικτύου. Η πρώτη

προϋπόθεση είναι να υποστηρίζει η συγκεκριµένη συσκευή την υπηρεσία και η δεύτερη

είναι να διαθέτει η συσκευή του ελάχιστους πόρους (µνήµη, µπαταρία, CPU) που

απαιτούνται για την εκτέλεση της συγκεκριµένης υπηρεσίας.

Rule 2: u.updateDevice

providesUpdate(?m, ?sw) ^

manufacturedBy(?d, ?m) ^

isUpdated(?d, false) ^

hasResourses(?d, true) ^

isAccessible(?d, ?n) ^

hasService(?n, FileTransfering) ^

isLoaded(?n, false)

→ Downloads(?d, ?sw)

Για την περίπτωση της µαζικής αυτοµατοποιηµένης ενηµέρωσης συσκευών, ορίζεται

µέσω του τελευταίου SWRL κανόνα η ιδιότητα Downloads. Ο κατασκευαστής εκδίδει µία

νέα ενηµέρωση για τις συσκευές τις οποίες έχει κατασκευάσει. Το σύστηµα αναλαµβάνει

να ενηµερώσει αυτόµατα κάθε συσκευή που δεν είναι ενηµερωµένη και είναι στην

εµβέλεια διαθέσιµου δικτύου που της επιτρέπει να κατεβάσει την ενηµέρωση.

Συγκεκριµένα ορίζοντα µέσω του κανόνα οι προϋποθέσεις για να ξεκινήσει η διαδικασία

αυτή. Πρώτη προϋπόθεση είναι, όπως προαναφέρθηκε, να µην είναι η συσκευή ήδη

ενηµερωµένη, γιατί προφανώς σε αυτή την περίπτωση η διαδικασία έχει ήδη γίνει στο

Page 55: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 55

παρελθόν. ∆εύτερη προϋπόθεση είναι να έχει η συσκευή τους απαραίτητους πόρους

που απαιτούνται για την ολοκλήρωση της διαδικασίας ενηµέρωσης. Τρίτη και τελευταία

προϋπόθεση είναι να υπάρχει διαθέσιµο στην συσκευή δίκτυο το οποίο να υποστηρίζει

την υπηρεσία µεταφοράς αρχείων (που απαιτείται για την µεταφορά της ενηµέρωσης)

και να µην είναι φορτωµένο. Η διαδικασία της ενηµέρωσης θεωρείται ότι δεν είναι τόσο

επείγουσα ώστε να επιβαρύνει περισσότερο ένα ήδη φορτωµένο δίκτυο.

Page 56: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 56

ΚΕΦΑΛΑΙΟ 8

ΑΝΑΛΥΤΙΚΗ ΑΝΑΠΤΥΞΗ ΤΟΥ ΣΕΝΑΡΙΟΥ

8.1 Jess, Η µηχανή κανόνων

Το Jess [33] είναι µια µηχανή κανόνων γραµµένη σε Java η οποία µπορεί να

ενσωµατωθεί στην πλατφόρµα Protégé µε χρήση του SWRLJessTab [36]. Μέσω του

SWRLJessTab δίνεται η δυνατότητα εφαρµογής των κανόνων που ορίστηκαν

προηγούµενο κεφάλαιο πάνω σε συγκεκριµένα δεδοµένα της οντολογίας. Με την

βοήθεια του Jess θα αναλυθεί στην συνέχεια το σενάριο του κεφαλαίου 5 µε βάση την

οντολογία και τις πολιτικές που έχουν οριστεί. Με αυτό τον τρόπο µας δίνεται η

δυνατότητα να προσοµοιώσουµε την λειτουργία λήψης αποφάσεων βάση πολιτικών

ενός αυτόνοµου συστήµατος.

Μόλις ένας SWRL κανόνας τροποποιηθεί η µηχανή κανόνων Jess αποκτά µια

ανανεωµένη όψη της βάσης κανόνων απευθείας και µπορεί να ρυθµιστεί έτσι ώστε να

είναι συγχρονισµένη µε την SWRL βάση και την οντολογία και να εξάγει άµεσα

συµπεράσµατα όποτε συµβαίνει µια αλλαγή. Αυτά τα χαρακτηριστικά παρέχουν µια

γέφυρα (bridge) έτσι ώστε το Jess να αλληλεπιδρά µε τις βάσεις σε χρόνο εκτέλεσης

παρέχοντας στους χρήστες τους µια διαφανή εµπειρία εξαγωγής συµπερασµάτων. Αυτό

δεν είναι πάντα επιθυµητό γι’ αυτό υπάρχει και η δυνατότητα εξαγωγής

συµπερασµάτων σε βήµατα, δηλαδή φόρτωση των κανόνων και των οντολογιών στο

Jess, εξαγωγή και επισκόπηση των συµπερασµάτων για αυτό το βήµα και αποθήκευση

των τελικών συµπερασµάτων στην βάση γνώσης της OWL. Με αυτόν τον τρόπο γίνεται

η αλληλεπίδραση µε το Jess πιο ελεγχόµενη από τον χρήστη.

Η βιβλιοθήκη Jess υλοποιεί και χρησιµοποιεί τον αλγόριθµο Rete, από την λατινική λέξη

rete που σηµαίνει δίχτυ, δίκτυο. ∆ηµιουργήθηκε και εκδόθηκε από τον καθηγητή

Charles Forgy στην διδακτορική του διατριβή το 1978-79 [34]. Ο αλγόριθµος αυτός [35]

µοντελοποιεί τους κανόνες σε ένα δίκτυο κόµβων, µορφής δέντρου, όπου κάθε κόµβος

πλην της ρίζας, αντιπροσωπεύει µία προϋπόθεση στο αριστερό µέρος ενός κανόνα. Η

διαδροµή από την ρίζα µέχρι κάποιο φύλλο του δέντρου ορίζει το αριστερό µέρος

κάποιου κανόνα. Κάθε κόµβος αποθηκεύει στην µνήµη του τα δεδοµένα / γεγονότα που

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

νέα δεδοµένα, δεν χρειάζεται να επαναληφθεί όλη η διαδικασία από την αρχή καθώς

Page 57: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 57

χρησιµοποιούνται τα δεδοµένα που είναι αποθηκευµένα στους κόµβους. Με αυτό τον

τρόπο, ο αλγόριθµος Rete πετυχαίνει µεγάλη υπολογιστική ταχύτητα, θυσιάζοντας

µνήµη. Σε µεγάλων διαστάσεων συστήµατα ο αλγόριθµος στην αρχική του µορφή

εµφανίζει προβλήµατα µνήµης. Σύγχρονες εξελίξεις του αλγορίθµου, έχουν βελτιώσει το

πρόβληµα αυτό.

Το Jess εκτελεί τρεις βασικές λειτουργίες: µεταφράζει τα δεδοµένα της οντολογίας

(οντότητες, ιδιότητες, αντικείµενα, περιορισµούς και κανόνες) σε γεγονότα (facts) Jess,

επεξεργάζεται τα γεγονότα αυτά παράγοντας νέα γεγονότα µε χρήση του αλγόριθµου

Rete και µεταφράζει τα νέα γεγονότα σε µορφή OWL εισάγοντας τα πίσω στην

οντολογία. Τα γεγονότα Jess είναι της µορφής (assert (property_name domain_class

range)), όπου property_name είναι το όνοµα της ιδιότητας και ακολουθεί η τιµή της.

8.2 Ο Τηλεπικοινωνιακός Κόσµος

“Ο Κώστας και η Μαρία είναι φοιτητές του πανεπιστηµίου Αθηνών. Το πανεπιστήµιο

προσφέρει δωρεάν στον χώρο του πανεπιστηµίου ασύρµατο WiFi δίκτυο. Παράλληλα,

οι δύο αυτοί φοιτητές είναι πελάτες του τηλεπικοινωνιακού παρόχου RWNO (Random

Wireless Network Operator) ο οποίος διαχειρίζεται και προσφέρει στους πελάτες του,

ένα κλασικό δίκτυο κινητής τηλεφωνίας GSM/GPRS µε κάλυψη στην ευρύτερη περιοχή

των Αθηνών, καθώς και διάσπαρτα σηµεία πρόσβασης στο διαδίκτυο WLAN hot-spots

σε κεντρικά σηµεία, ένα από αυτά στο κέντρο των Αθηνών. Ο Κώστας λόγω χαµηλών

οικονοµικών δυνατοτήτων έχει επιλέξει το οικονοµικό προφίλ. Η Μαρία, αντίθετα, δεν

έχει οικονοµικό περιορισµό και έχει επιλέξει την καλύτερη διαθέσιµη ποιότητα υπηρεσίας

ανεξαρτήτως κόστους. Και οι δύο φοιτητές έχουν επιλέξει το πανεπιστήµιο Αθηνών σαν

διαχειριστή (operator) της προτίµησης τους. Ας δούµε λοιπόν µία τυπική µέρα του

Κώστα και της Μαρίας.”

Με βάση το κεφάλαιο 5, ο τηλεπικοινωνιακός κόσµος στον οποίος εξελίσσεται το

σενάριο αποτελείται από τρεις περιοχές, από δύο διαχειριστές και τρία δίκτυα. Στην

οντολογία αυτά απεικονίζονται ως αντικείµενα των οντοτήτων που έχουν οριστεί.

Συγκεκριµένα για την οντότητα Area έχουµε τα αντικείµενα Athens, Center_of_Athens,

University_Campus. Για την οντότητα Operator έχουµε τα αντικείµενα RWNO και UoA

και για την οντότητα Network έχουµε τα αντικείµενα GSM-GPRS, UoA-WiFi και WLAN-

hotspots. Επίσης έχουµε για την οντότητα CostProfile τα αντικείµενα Free, Economic

Page 58: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 58

και Andanced και για την οντότητα RAT τα αντικείµενα GSM, GPRS και WLAN. Τέλος

όσον αφορά την οντότητα των υπηρεσιών έχουµε α) για την οντότητα των απαιτητικών

υπηρεσιών (Demanding) τα αντικείµενα MMS, FileTransfering, WWW, β) για την

οντότητα των απλών υπηρεσιών (Simple) τα αντικείµενα SMS, email, instantMessaging

και γ) για την οντότητα των υπηρεσιών πραγµατικού χρόνου (Realtime) τα αντικείµενα

VoiceCalls, VideoStreaming.

Σύµφωνα µε το σενάριο ορίζονται τιµές για τις ιδιότητες των τριών δικτύων. Ακολουθεί

λίστα µε τις τιµές των ιδιοτήτων όπως µεταφράζονται σε γεγονότα Jess:

• (assert (availableAt GSM-GPRS Athens))

• (assert (availableAt GSM-GPRS Center_of_Athens))

• (assert (availableAt GSM-GPRS University_Campus))

• (assert (availableAt UoA-WiFi University_Campus))

• (assert (availableAt WLAN-hotspots Center_of_Athens))

• (assert (availableAt WLAN-hotspots University_Campus))

• (assert (hasCost GSM-GPRS Economic))

• (assert (hasCost UoA-WiFi Free))

• (assert (hasCost WLAN-hotspots Advanced))

• (assert (hasService GSM-GPRS email))

• (assert (hasService GSM-GPRS InstantMessaging))

• (assert (hasService GSM-GPRS MMS))

• (assert (hasService GSM-GPRS SMS))

• (assert (hasService GSM-GPRS VoiceCalls))

• (assert (hasService GSM-GPRS WWW))

• (assert (hasService UoA-WiFi email))

Page 59: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 59

• (assert (hasService UoA-WiFi FileTransfering))

• (assert (hasService UoA-WiFi InstantMessaging))

• (assert (hasService UoA-WiFi MMS))

• (assert (hasService UoA-WiFi SMS))

• (assert (hasService UoA-WiFi VideoStreaming))

• (assert (hasService UoA-WiFi VoiceCalls))

• (assert (hasService UoA-WiFi WWW))

• (assert (hasService WLAN-hotspots email))

• (assert (hasService WLAN-hotspots FileTransfering))

• (assert (hasService WLAN-hotspots InstantMessaging))

• (assert (hasService WLAN-hotspots MMS))

• (assert (hasService WLAN-hotspots SMS))

• (assert (hasService WLAN-hotspots VideoStreaming))

• (assert (hasService WLAN-hotspots VoiceCalls))

• (assert (hasService WLAN-hotspots WWW))

• (assert (hasType GSM-GPRS GPRS))

• (assert (hasType GSM-GPRS GSM))

• (assert (hasType UoA-WiFi WLAN))

• (assert (hasType WLAN-hotspots WLAN))

• (assert (isFast GSM-GPRS "false"))

• (assert (isFast UoA-WiFi "true"))

• (assert (isFast WLAN-hotspots "true"))

Page 60: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 60

• (assert (isLoaded GSM-GPRS "false"))

• (assert (isLoaded UoA-WiFi "false"))

• (assert (isLoaded WLAN-hotspots "false"))

• (assert (operatedBy GSM-GPRS RWNO))

• (assert (operatedBy UoA-WiFi UoA))

• (assert (operatedBy WLAN-hotspots RWNO))

Ο Κώστας και η Μαρία είναι οι δύο πρωταγωνιστές του σεναρίου και αποτελούν τους

δύο χρήστες του αυτόνοµου τηλεπικοινωνιακού συστήµατος. Για την οντότητα Users

ορίζονται τα αντικείµενα Kostas, Maria και για την οντότητα Device ορίζοντα τα

αντικείµενα Kostas_Mobile_Phone και Maria_Mobile_Phone αντίστοιχα. Ορίζεται επίσης

το αντικείµενο aManufacturer για την οντότητα Manufacturer. Ακολουθεί λίστα µε τις

τιµές των ιδιοτήτων των δύο χρηστών και των συσκευών τους:

• (assert (hasLowBudget Kostas "true"))

• (assert (hasLowBudget Maria "false"))

• (assert (hasResourses Kostas_Mobile_Phone "true"))

• (assert (hasResourses Maria_Mobile_Phone "true"))

• (assert (isCustomer Kostas RWNO))

• (assert (isCustomer Maria RWNO))

• (assert (isUpdated Kostas_Mobile_Phone "true"))

• (assert (isUpdated Maria_Mobile_Phone "true"))

• (assert (manufacturedBy Kostas_Mobile_Phone aManufacturer))

• (assert (manufacturedBy Maria_Mobile_Phone aManufacturer))

• (assert (prefersOperator Kostas UoA))

• (assert (prefersOperator Maria UoA))

Page 61: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 61

• (assert (supportsRAT Kostas_Mobile_Phone GPRS))

• (assert (supportsRAT Kostas_Mobile_Phone GSM))

• (assert (supportsRAT Kostas_Mobile_Phone WLAN))

• (assert (supportsRAT Maria_Mobile_Phone GPRS))

• (assert (supportsRAT Maria_Mobile_Phone GSM))

• (assert (supportsRAT Maria_Mobile_Phone WLAN))

• (assert (supportsService Kostas_Mobile_Phone email))

• (assert (supportsService Kostas_Mobile_Phone FileTransfering))

• (assert (supportsService Kostas_Mobile_Phone InstantMessaging))

• (assert (supportsService Kostas_Mobile_Phone MMS))

• (assert (supportsService Kostas_Mobile_Phone SMS))

• (assert (supportsService Kostas_Mobile_Phone VideoStreaming))

• (assert (supportsService Kostas_Mobile_Phone VoiceCalls))

• (assert (supportsService Kostas_Mobile_Phone WWW))

• (assert (supportsService Maria_Mobile_Phone email))

• (assert (supportsService Maria_Mobile_Phone FileTransfering))

• (assert (supportsService Maria_Mobile_Phone InstantMessaging))

• (assert (supportsService Maria_Mobile_Phone MMS))

• (assert (supportsService Maria_Mobile_Phone SMS))

• (assert (supportsService Maria_Mobile_Phone VideoStreaming))

• (assert (supportsService Maria_Mobile_Phone VoiceCalls))

• (assert (supportsService Maria_Mobile_Phone WWW))

Page 62: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 62

• (assert (usesDevice Kostas Kostas_Mobile_Phone))

• (assert (usesDevice Maria Maria_Mobile_Phone))

Τα παραπάνω αντικείµενα και γεγονότα αποτελούν την βάση του σεναρίου και, µε

εξαίρεση κάποια δυναµικά στοιχεία (για παράδειγµα οι ιδιότητες isLoaded και

hasResources), µένουν σταθερά καθ' όλη την διάρκεια του σεναρίου. Στην λεπτοµερή

περιγραφή κάθε µέρους του σεναρίου που ακολουθεί τα γεγονότα αυτά θεωρούνται

δεδοµένα εκτός αν ρητά αναφερθεί το αντίθετο.

8.3 Το Σενάριο του Κώστα

“Ο Κώστας καθώς πηγαίνει από το σπίτι του στο πανεπιστήµιο µε το λεωφορείο

χρησιµοποιεί το κινητό του τηλέφωνο µε το οποίο “σερφάρει” στο διαδίκτυο (world wide

web browsing) συνδεδεµένος στο δίκτυο GSM/GPRS που διαχειρίζεται ο RWNO. Η

ποιότητα της υπηρεσίας (QoS) δεν είναι ικανοποιητική λόγω του χαµηλού ρυθµού

µετάδοσης των δικτύων τύπου GSM/GPRS. Όταν όµως το λεωφορείο που επιβαίνει ο

Κώστας µπαίνει στο κέντρο της Αθήνας και κατά συνέπεια στην ακτίνα ενός WLAN hot-

spot του διαχειριστή RWNO, η συσκευή του Κώστα δεν συνδέεται σε αυτό το δίκτυο,

καθώς το κόστος του δικτύου αυτού είναι µεγαλύτερο από τις δυνατότητες του Κώστα.

Στην συνέχεια το λεωφορείο µπαίνει στην πανεπιστηµιούπολη και µπαίνει στην ακτίνα

του δικτύου που διαχειρίζεται το πανεπιστήµιο. Η συσκευή του Κώστα αλλάζει δίκτυο

από το GSM/GPRS δίκτυο του RWNO στο WiFi δίκτυο του πανεπιστηµίου και ο Κώστας

συνεχίζει να καταναλώνει την υπηρεσία µέσω αυτού. Η απόφαση λαµβάνεται µε βάση τις

προτιµήσεις του χρήστη και τις απαιτήσεις της υπηρεσίας. Η µετάβαση από το ένα δίκτυο

στο άλλο γίνεται αυτόµατα, χωρίς να διακοπεί η υπηρεσία. Το µόνο που αντιλαµβάνεται

ο Κώστας από την µετάβαση είναι η βελτίωση της ποιότητας της υπηρεσίας που

καταναλώνει.”

Στο πρώτο µέρος του σεναρίου ο Κώστας καταναλώνει µία υπηρεσία καθώς

µετακινείται µε το λεωφορείο. Αρχικά ο Κώστας, καθώς βρίσκεται στην ευρύτερη

περιοχή των Αθηνών, επιλέγει να ξεκινήσει να καταναλώνει την υπηρεσία WWW σε µία

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

• (assert (isInArea Kostas_Mobile_Phone Athens))

Page 63: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 63

• (assert (newService Kostas “true”))

• (assert (needsService Kostas WWW))

Με δεδοµένα τα γεγονότα αυτά καθώς και τα γενικά γεγονότα του προηγούµενου

κεφαλαίου, τρέχουµε το Jess, του οποίου η έξοδος είναι η εξής:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

• (assert (lookingForNetwork Kostas_Mobile_Phone "true"))

• (assert (isProposed Kostas_Mobile_Phone GSM-GPRS))

• (assert (isPrefered-Cost Kostas_Mobile_Phone GSM-GPRS))

Το µόνο διαθέσιµο δίκτυο είναι το GSM-GPRS. Η συσκευή µπαίνει σε κατάσταση

lookingForNetwork από τον κανόνα b.ServiceRequestByUser και τα διαθέσιµα δίκτυα

φιλτράρονται µε τις απαιτήσεις και τις προτιµήσεις του χρήστη. Στην προκειµένη

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

να καταναλώνει την υπηρεσία.

Στην συνέχεια ο χρήστης µετακινείται στο κέντρο των Αθηνών. Τα νέα δεδοµένα που

προκύπτουν είναι τα εξής:

• (assert (isInArea Kostas_Mobile_Phone Athens))

• (assert (isInArea Kostas_Mobile_Phone Center_of_Athens))

• (assert (needsService Kostas WWW))

• (assert (usesNetwork Kostas_Mobile_Phone GSM-GPRS))

• (assert (usesService Kostas_Mobile_Phone WWW))

Με τα νέα δεδοµένα η έξοδος του Jess είναι η εξής:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Kostas_Mobile_Phone WLAN-hotspots))

• (assert (lookingForNetwork Kostas_Mobile_Phone "true"))

Page 64: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 64

• (assert (isProposed Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isProposed Kostas_Mobile_Phone GSM-GPRS))

• (assert (isPrefered-Cost Kostas_Mobile_Phone GSM-GPRS))

Τώρα τα διαθέσιµα δίκτυα είναι δύο. Η συσκευή µπαίνει σε κατάσταση

lookingForNetwork από τον κανόνα b.FasterAccessibleNetwork. Παρόλα αυτά το δίκτυο

που αρχικά ήταν συνδεδεµένη η συσκευή ικανοποιεί περισσότερο τις οικονοµικές

προτιµήσεις του χρήστη λόγος για τον οποίο δεν πραγµατοποιείται µετάβαση στο νέο

δίκτυο.

Το λεωφορείο συνεχίζει την διαδροµή του και µπαίνει µέσα στην πανεπιστηµιούπολη.

Τα νέα δεδοµένα είναι τα ακόλουθα.

• (assert (isInArea Kostas_Mobile_Phone Athens))

• (assert (isInArea Kostas_Mobile_Phone Center_of_Athens))

• (assert (isInArea Kostas_Mobile_Phone University_Campus))

• (assert (needsService Kostas WWW))

• (assert (usesNetwork Kostas_Mobile_Phone GSM-GPRS))

• (assert (usesService Kostas_Mobile_Phone WWW))

Με τα νέα δεδοµένα η έξοδος του Jess είναι η εξής:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isAccessible Kostas_Mobile_Phone UoA-WiFi))

• (assert (lookingForNetwork Kostas_Mobile_Phone "true"))

• (assert (isProposed Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isProposed Kostas_Mobile_Phone GSM-GPRS))

• (assert (isProposed Kostas_Mobile_Phone UoA-WiFi))

Page 65: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 65

• (assert (isPrefered-Cost Kostas_Mobile_Phone GSM-GPRS))

• (assert (isPrefered-Cost Kostas_Mobile_Phone UoA-WiFi))

• (assert (isPrefered Kostas_Mobile_Phone UoA-WiFi))

Τα διαθέσιµα δίκτυα στην πανεπιστηµιούπολη είναι τρία. Η συσκευή µπαίνει σε

κατάσταση lookingForNetwork ξανά από τον κανόνα b.FasterAccessibleNetwork. Όπως

προκύπτει από την έξοδο του Jess, το δίκτυο που ικανοποιεί καλύτερα τις προτιµήσεις

του χρήστη είναι το UoA-WiFi. Πραγµατοποιείται µετάβαση στο δίκτυο UoA-WiFi.

“Ο Κώστας είναι πια στο πανεπιστήµιο. Σε κάποιο διάλειµµα από τις διαλέξεις ο Κώστας

επιθυµεί να συνοµιλήσει µε τους φίλους του µεσώ κάποιας υπηρεσίας συνοµιλιών

κειµένου (Instant Messaging). Η συσκευή συνδέεται στο WiFi δίκτυο του πανεπιστηµίου

και ο Κώστας ξεκινάει να καταναλώνει την υπηρεσία που επιθυµεί µέσω αυτού. Κάποια

στιγµή, κατά την διάρκεια της συνοµιλίας του Κώστα, το δίκτυο του πανεπιστηµίου

υπερφορτώνεται. Η υπηρεσία όµως των συνοµιλιών κειµένου είναι µια απλή υπηρεσία

της οποίας η ποιότητα δεν µειώνεται όταν υπερφορτώνεται το δίκτυο. Έτσι ο Κώστας

συνεχίζει να καταναλώνει την υπηρεσία µέσω του υπερφορτωµένου δικτύου του

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

απαιτήσεις της συγκεκριµένης υπηρεσίας.”

Στην συνέχεια του σεναρίου ο Κώστας επιλέγει να καταναλώσει την υπηρεσία

συνοµιλιών κειµένου µέσω από διεπαφή στην συσκευή του. Τα γεγονότα που ισχύουν

είναι τα εξής:

• (assert (isInArea Kostas_Mobile_Phone Athens))

• (assert (isInArea Kostas_Mobile_Phone Center_of_Athens))

• (assert (isInArea Kostas_Mobile_Phone University_Campus))

• (assert (newService Kostas “true”))

• (assert (needsService Kostas ΙnstantMessaging))

Η έξοδος του Jess είναι η εξής:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

Page 66: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 66

• (assert (isAccessible Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isAccessible Kostas_Mobile_Phone UoA-WiFi))

• (assert (lookingForNetwork Kostas_Mobile_Phone "true"))

• (assert (isProposed Kostas_Mobile_Phone GSM-GPRS))

• (assert (isProposed Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isProposed Kostas_Mobile_Phone UoA-WiFi))

• (assert (isPrefered-Cost Kostas_Mobile_Phone GSM-GPRS))

• (assert (isPrefered-Cost Kostas_Mobile_Phone UoA-WiFi))

• (assert (isPrefered Kostas_Mobile_Phone UoA-WiFi))

Σύµφωνα µε την έξοδο του Jess επιλέγεται και γίνεται η σύνδεση στο δίκτυο του

πανεπιστηµίου. Η συσκευή µπαίνει σε κατάσταση lookingForNetwork από τον κανόνα

b.ServiceRequestByUser.

Την στιγµή όµως που χρησιµοποιεί ο χρήστης την υπηρεσία το δίκτυο του

πανεπιστηµίου Αθηνών υπερφορτώνεται και τα νέα δεδοµένα που προκύπτουν είναι τα

εξής:

• (assert (isInArea Kostas_Mobile_Phone Athens))

• (assert (isInArea Kostas_Mobile_Phone Center_of_Athens))

• (assert (isInArea Kostas_Mobile_Phone University_Campus))

• (assert (needsService Kostas ΙnstantMessaging))

• (assert (usesNetwork Kostas_Mobile_Phone UoA-WiFi))

• (assert (usesService Kostas_Mobile_Phone ΙnstantMessaging))

• (assert (isLoaded UoA-WiFi "true"))

Η τιµή της ιδιότητας isLoaded αλλάζει από τα αρχικά δεδοµένα. Η έξοδος του Jess είναι:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

Page 67: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 67

• (assert (isAccessible Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isAccessible Kostas_Mobile_Phone UoA-WiFi))

Η συσκευή δεν µπαίνει σε κατάσταση lookingForNetwork καθώς η υπηρεσία είναι απλή

και συνεπώς λειτουργεί ικανοποιητικά σε φορτωµένα δίκτυα. Η υπηρεσία συνεχίζεται να

καταναλώνεται µέσα από το δίκτυο του πανεπιστηµίου και δεν πραγµατοποιείται

µετάβαση.

“Εκείνη την στιγµή ο κατασκευαστής του κινητού τηλεφώνου του Κώστα, κυκλοφορεί την

νέα έκδοση των οδηγών (drivers) για κάποιο µέρος του υλικού της συγκεκριµένης

συσκευής. Το κινητό τηλέφωνο του Κώστα συνδέεται στο WiFi δίκτυο του

πανεπιστηµίου, το οποίο δεν είναι υπερφορτωµένο πια, και κατεβάζει και εγκαθιστά τους

νέους οδηγούς (drivers). Η διαδικασία αυτή γίνεται αυτόµατα. Ο Κώστας απλά διαβάζει

απλά ένα ενηµερωτικό µήνυµα στην οθόνη του τηλεφώνου του, το οποίο τον

πληροφορεί ότι η συσκευή του ενηµερώθηκε µε την νέα έκδοση λογισµικού που έκδωσε

ο κατασκευαστής της συσκευής του. Το σύστηµα γνωρίζει ότι η συσκευή του Κώστα

ενηµερώθηκε και δεν επιχειρεί να την ξανά-ενηµερώσει.”

Ο κατασκευαστής aManufacturer εκδίδει µία ενηµέρωση για την συσκευή του

τηλεφώνου του Κώστα. Η ενηµέρωση είναι αντικείµενο της οντότητας Software και έχει

τίτλο anUpdate. Με δεδοµένο την νέα ενηµέρωση η συσκευή του Κώστα δεν είναι

ενηµερωµένη στην τελευταία έκδοση. Τα δυναµικά δεδοµένα την στιγµή αυτή είναι τα

ακόλουθα:

• (assert (isInArea Kostas_Mobile_Phone Athens))

• (assert (isInArea Kostas_Mobile_Phone Center_of_Athens))

• (assert (isInArea Kostas_Mobile_Phone University_Campus))

• (assert (providesUpdate aManufacturer anUpdate))

• (assert (isUpdated Kostas_Mobile_Phone ''false''))

Η έξοδος του Jess είναι:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Kostas_Mobile_Phone WLAN-hotspots))

Page 68: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 68

• (assert (isAccessible Kostas_Mobile_Phone UoA-WiFi))

• (assert (Downloads Kostas_Mobile_Phone anUpdate))

Το κινητό τηλέφωνο ξεκινάει να κατεβάζει την ενηµέρωση.

“Τέλος, ο Κώστας ολοκληρώνει το πρόγραµµα της ηµέρας και επιστρέφει σπίτι του µε το

λεωφορείο. Κατά την διάρκεια της διαδροµής χρησιµοποιεί και πάλι το κινητό του

τηλέφωνο για να ταξιδέψει στον κόσµο του παγκόσµιου ιστού (world wide web browsing)

µέσω του WiFi του πανεπιστηµίου Αθηνών. Όσο όµως το λεωφορείο αποµακρύνεται

από την πανεπιστηµιούπολη τόσο το σήµα του WiFi γίνεται και ασθενέστερο, µέχρι που

σε κάποιο σηµείο το σήµα πέφτει κάτω από το όριο και το σύστηµα αποφασίζει να γίνει

µετάβαση σε κάποιο άλλο δίκτυο για την συνέχιση της υπηρεσίας. Παρά το γεγονός ότι

το WLAN που διαχειρίζεται ο RWNO είναι διαθέσιµο σε αυτή την περιοχή, λόγω του

οικονοµικού προφίλ του Κώστα, η µετάβαση γίνεται στο GSM/GPRS του RWNO. Η

µετάβαση για ακόµα µια φορά γίνεται αυτόµατα. Ο Κώστας το µόνο που αντιλαµβάνεται

είναι µια µείωση της ταχύτητας µεταφοράς δεδοµένων από τον webserver της

ιστοσελίδας που καλεί, στο κινητό του τηλέφωνο. Ο Κώστας ολοκληρώνει την χρήση της

υπηρεσίας στο GSM/GPRS δίκτυό και φτάνει στο σπίτι του.”

Ο χρήστης όσο ακόµα βρίσκεται στην πανεπιστηµιούπολη επιλέγει να ξεκινήσει την

χρήση µίας υπηρεσίας στην συσκευή του. Τα γεγονότα Jess που προκύπτουν από τα

δεδοµένα του σεναρίου είναι τα ακόλουθα:

• (assert (isInArea Kostas_Mobile_Phone Athens))

• (assert (isInArea Kostas_Mobile_Phone Center_of_Athens))

• (assert (isInArea Kostas_Mobile_Phone University_Campus))

• (assert (newService Kostas “true”))

• (assert (needsService Kostas WWW))

Τα αποτελέσµατα, βάση των οποίων η συσκευή συνδέεται στον πανεπιστηµιακό δίκτυο

και ο χρήστης ξεκινάει να καταναλώνει την υπηρεσία, είναι τα ακόλουθα:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Kostas_Mobile_Phone WLAN-hotspots))

Page 69: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 69

• (assert (isAccessible Kostas_Mobile_Phone UoA-WiFi))

• (assert (lookingForNetwork Kostas_Mobile_Phone "true"))

• (assert (isProposed Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isProposed Kostas_Mobile_Phone GSM-GPRS))

• (assert (isProposed Kostas_Mobile_Phone UoA-WiFi))

• (assert (isPrefered-Cost Kostas_Mobile_Phone GSM-GPRS))

• (assert (isPrefered-Cost Kostas_Mobile_Phone UoA-WiFi))

• (assert (isPrefered Kostas_Mobile_Phone UoA-WiFi))

Βάση των αποτελεσµάτων του Jess, η συσκευή µπαίνει σε κατάσταση

lookingForNetwork από τον κανόνα b.ServiceRequestByUser. Από τα διαθέσιµα δίκτυα

αυτό που ικανοποιεί περισσότερο τις προτιµήσεις του χρήστη είναι το UoA-WiFi.

Στην συνέχεια ο χρήστης µετακινείται έξω από τον χώρο του πανεπιστηµίου σε σηµείο

να µην είναι δυνατή η σύνδεση µε τον πανεπιστηµιακό δίκτυο και να απαιτείται

µετάβαση. Τα νέα δεδοµένα είναι:

• (assert (isInArea Kostas_Mobile_Phone Athens))

• (assert (isInArea Kostas_Mobile_Phone Center_of_Athens))

• (assert (needsService Kostas ΙnstantMessaging))

• (assert (usesNetwork Kostas_Mobile_Phone UoA-WiFi))

• (assert (usesService Kostas_Mobile_Phone WWW))

• (assert (isSignalAboveTH Kostas_Mobile_Phone ''false''))

Η έξοδος του Jess µε βάση τα παραπάνω δεδοµένα είναι:

• (assert (isAccessible Kostas_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Kostas_Mobile_Phone WLAN-hotspots))

• (assert (lookingForNetwork Kostas_Mobile_Phone "true"))

Page 70: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 70

• (assert (isProposed Kostas_Mobile_Phone WLAN-hotspots))

• (assert (isProposed Kostas_Mobile_Phone GSM-GPRS))

• (assert (isPrefered-Cost Kostas_Mobile_Phone GSM-GPRS))

H συσκευή µπαίνει σε κατάσταση lookingForNetwork από τον κανόνα

b.NetworkUnavailable. Από τα νέα διαθέσιµα δίκτυα επιλέγεται το δίκτυο GSM-GPRS

για να συνεχιστεί η κατανάλωση της υπηρεσίας καθώς αυτό ικανοποιεί περισσότερο το

οικονοµικό προφίλ του χρήστη. Το σενάριο του Κώστα ολοκληρώνεται.

8.4 Το Σενάριο της Μαρίας

“Η Μαρία χρησιµοποιεί και αυτή το κινητό της τηλέφωνο κατά την διάρκεια της

διαδροµής από το σπίτι της προς το πανεπιστήµιο µε το λεωφορείο. Η υπηρεσία που

καταναλώνει είναι η περιήγηση στον παγκόσµιο ιστό (world wide web browsing) µέσω

του µόνου, αρχικά, διαθέσιµου δικτύου, του GSM/GPRS που διαχειρίζεται και

προσφέρει ο RWNO. Η ποιότητα της υπηρεσίας είναι χαµηλή. Όταν το λεωφορείο

πλησιάζει το κέντρο της Αθήνας και το WLAN δίκτυο του RWNO γίνεται διαθέσιµο, το

σύστηµα αποφασίζει ότι πρέπει να γίνει µετάβαση σε αυτό για την βελτίωση της

ποιότητας της υπηρεσίας. Το οικονοµικό προφίλ της Μαρίας, αντίθετα µε τον Κώστα,

επιτρέπει την µετάβαση στο ακριβό δίκτυο που προσφέρει ο RWNO. Η µετάβασή γίνεται

αυτόµατα και η Μαρία το µόνο που αντιλαµβάνεται είναι η βελτίωση της ποιότητας της

υπηρεσίας λόγω των υψηλότερων ρυθµών µετάδοσης του WLAN δικτύου. Το

λεωφορείο συνεχίζει την πορεία του και µπαίνει µέσα στην πανεπιστηµιούπολη. Η

ποιότητα της µέσω του WLAN δικτύου είναι ικανοποιητική και έτσι δεν τίθεται ζήτηµα

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

υπηρεσίας στο δίκτυο WLAN του παρόχου RWNO.”

Στην αρχή του σεναρίου της, η Μαρία επιλέγει να καταναλώσει την υπηρεσία WWW

µέσω από την συσκευή της ενώ βρίσκεται στην ευρύτερη περιοχή των Αθηνών. Από το

σενάριο προκύπτουν τα εξής γεγονότα:

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (newService Maria “true”))

Page 71: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 71

• (assert (needsService Maria WWW))

Η έξοδος του Jess µε τα συγκεκριµένα δεδοµένα καθώς και τα γενικά γεγονότα που

ορίστηκαν στο κεφάλαιο 8.2 είναι:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (lookingForNetwork Maria_Mobile_Phone "true"))

• (assert (isProposed Maria_Mobile_Phone GSM-GPRS))

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

την χρήση της υπηρεσίας, η Μαρία µετακινείται και εισέρχεται στο κέντρο των Αθηνών

οπού ένα νέο δίκτυο είναι διαθέσιµο. Τα νέα δεδοµένα είναι τα ακόλουθα:

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (needsService Maria WWW))

• (assert (usesService Maria_Mobile_Phone WWW))

• (assert (usesNetwork Maria_Mobile_Phone GSM-GPRS))

Η έξοδος µε αυτά τα δεδοµένα είναι:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

• (assert (lookingForNetwork Maria_Mobile_Phone "true"))

• (assert (isProposed Maria_Mobile_Phone GSM-GPRS))

• (assert (isProposed Maria_Mobile_Phone WLAN-hotspots))

• (assert (isPrefered-Cost Maria_Mobile_Phone WLAN-hotspots))

Η ποιότητα της υπηρεσίας είναι χαµηλή στο δίκτυο GSM-GPRS. Η συσκευή µπαίνει σε

κατάσταση lookingForNetwork από τον κανόνα b.FasterAccessibleNetwork, µε σκοπό

να µεταβεί σε δίκτυο που µπορεί να προσφέρει καλύτερη ποιότητα υπηρεσίας. Το νέο

Page 72: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 72

διαθέσιµο δίκτυο WLAN-hotspots ικανοποιεί καλύτερα το προφίλ της υπηρεσίας και του

χρήστη και πραγµατοποιείται µετάβαση από το σύστηµα σε αυτό.

Η Μαρία συνεχίζει την πορεία της και µπαίνει µέσα στην πανεπιστηµιούπολη καθώς

καταναλώνει την υπηρεσία µέσα από το δίκτυο WLAN-hotspots. Τα νέα δεδοµένα είναι

τα ακόλουθα.

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (isInArea Maria_Mobile_Phone University_Campus))

• (assert (needsService Maria WWW))

• (assert (usesService Maria_Mobile_Phone WWW))

• (assert (usesNetwork Maria_Mobile_Phone WLAN-hotspots))

Η έξοδος µε αυτά τα δεδοµένα είναι:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Maria_Mobile_Phone UoA-WiFi))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

Παρατηρούµε ότι η συσκευή δεν µπαίνει σε κατάσταση lookingForNetwork. Η ποιότητα

της υπηρεσίας είναι ικανοποιητική και παρά την ύπαρξη δικτύου που ικανοποιεί

καλύτερα της προτιµήσεις του χρήστη, δεν υπάρχει πολιτική που να οδηγεί στην

µετάβαση αυτή. Έτσι η Μαρία ολοκληρώνει την χρήση της υπηρεσίας µέσω από το

δίκτυο WLAN-hotspots.

“Η Μαρία ξεκινάει µια βίντεο κλήση στο κινητό της τηλέφωνο. Υπάρχουν δύο διαθέσιµα

δίκτυα που µπορούν να κάνουν µια βίντεο κλήση σε ικανοποιητική ποιότητα, το WLAN

που διαχειρίζεται ο RWNO και το WiFi δίκτυο που διαχειρίζεται το πανεπιστήµιο. Η

Μαρία όµως έχει δηλώσει σαν διαχειριστή της προτίµησης της το πανεπιστήµιο Αθηνών,

λόγος για τον οποίο το σύστηµα πραγµατοποιεί την κλήση µέσα από το δίκτυο του

πανεπιστηµίου. Η επιλογή για µια ακόµα φορά γίνεται αυτόµατα χωρίς την άµεση

επιλογή της Μαρίας. Κατά την διάρκεια της κλήσης όµως το δίκτυο του πανεπιστηµίου

Page 73: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 73

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

κατά συνέπεια, η ποιότητα της υπηρεσίας θα πέσει σε µη ικανοποιητικό επίπεδο εξαιτίας

του υπερφορτωµένου δικτύου. Το σύστηµα αποφασίζει ότι πρέπει να γίνει µετάβαση σε

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

ποιότητας. Η συσκευή συνδέεται στο διαθέσιµο WLAN για την συνέχιση της υπηρεσίας.

Η µετάβαση γίνεται χωρίς να την αντιληφθεί η Μαρία και χωρίς να πέσει η ποιότητα της

υπηρεσίας.”

Στην συνέχεια του σεναρίου η Μαρία επιλέγει να ξεκινήσει µια βίντεο κλήση από την

συσκευή της. Τα δεδοµένα που προκύπτουν είναι τα εξής:

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (isInArea Maria_Mobile_Phone University_Campus))

• (assert (newService Maria “true”))

• (assert (needsService Maria VideoStreaming))

Η έξοδος του Jess είναι:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Maria_Mobile_Phone UoA-WiFi))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

• (assert (lookingForNetwork Maria_Mobile_Phone "true"))

• (assert (isProposed Maria_Mobile_Phone WLAN-hotspots))

• (assert (isProposed Maria_Mobile_Phone UoA-WiFi))

• (assert (isPrefered-Cost Maria_Mobile_Phone WLAN-hotspots))

• (assert (isPrefered-Cost Maria_Mobile_Phone UoA-WiFi))

• (assert (isPrefered Maria_Mobile_Phone UoA-WiFi))

Βάση των αποτελεσµάτων του Jess, η συσκευή µπαίνει σε κατάσταση

Page 74: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 74

lookingForNetwork από τον κανόνα b.ServiceRequestByUser. Το δίκτυο GSM-GPRS

δεν περνάει το φίλτρο των isProposed γιατί δεν υποστηρίζει την συγκεκριµένη

υπηρεσία. Τα δύο άλλα δίκτυα ικανοποιούν και τις απαιτήσεις της υπηρεσίας αλλά και

τις οικονοµικές προτιµήσεις του χρήστη. Επιλέγεται, όµως, το δίκτυο UoA-WiFi καθώς

το έχει δηλώσει η χρήστης σαν διαχειριστή της προτίµησης της.

Στην συνέχεια του σεναρίου, καθώς η Μαρία καταναλώνει την υπηρεσία, το δίκτυο του

πανεπιστηµίου υπερφορτώνεται. Τα νέα δεδοµένα είναι τα ακόλουθα:

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (isInArea Maria_Mobile_Phone University_Campus))

• (assert (needsService Maria VideoStreaming))

• (assert (usesService Maria_Mobile_Phone VideoStreaming))

• (assert (usesNetwork Maria_Mobile_Phone UoA-WiFi))

• (assert (isLoaded UoA-WiFi ''true''))

Η έξοδος του Jess σύµφωνα µε τα δεδοµένα του σεναρίου είναι τα ακόλουθα:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Maria_Mobile_Phone UoA-WiFi))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

• (assert (lookingForNetwork Maria_Mobile_Phone "true"))

• (assert (isProposed Maria_Mobile_Phone WLAN-hotspots))

• (assert (isPrefered-Cost Maria_Mobile_Phone WLAN-hotspots))

Η συσκευή µπαίνει σε κατάσταση lookingForNetwork σύµφωνα µε την πολιτική που

ορίστηκε για τα φορτωµένα δίκτυα και συγκεκριµένα τον κανόνα b.LoadedNetwork_RT,

που αφορά τις υπηρεσίες πραγµατικού χρόνου. Το φορτωµένο πανεπιστηµιακό δίκτυο

(UoA-WiFi) δεν είναι πια στην λίστα µε τα προτεινόµενα δίκτυα. Συνεπώς επιλέγεται το

Page 75: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 75

µόνο διαθέσιµο δίκτυο που ικανοποιεί τις απαιτήσεις της υπηρεσίας, στο οποίο και

γίνεται η µετάβαση.

“Αργότερα, ο κατασκευαστής του κινητού τηλεφώνου της Μαρίας, κυκλοφορεί την νέα

έκδοση των οδηγών (drivers) όπως και στο σενάριο του Κώστα. Η συσκευή της Μαρίας

όµως είναι πολύ χαµηλή σε µπαταρία και το σύστηµα αποφασίζει να µην προχωρήσει

στην µεταφορά του λογισµικού γιατί κρίνει ότι η µπαταρία της συσκευής της Μαρίας δεν

αρκεί για την ολοκλήρωση της διαδικασίας. Η απόφαση λαµβάνεται µε βάση το προφίλ

της συσκευής. Το σύστηµα γνωρίζει ότι η ενηµέρωση της συσκευής της Μαρίας

εκκρεµεί. Κάποια στιγµή η Μαρία επισκέπτεται το εργαστήριο της σχολής της και συνδέει

το κινητό της τηλέφωνο σε ένα ηλεκτρονικό υπολογιστή. Η συσκευή φορτίζεται από το

τροφοδοτικό του ηλεκτρονικού υπολογιστή. Το σύστηµα τώρα µπορεί να προχωρήσει

στην µεταφορά και εγκατάσταση του λογισµικού που απαιτείται για την ενηµέρωση των

οδηγών της συσκευής. Η εγκατάσταση ολοκληρώνεται και το µόνο που αντιλαµβάνεται η

Μαρία είναι ένα ενηµερωτικό µήνυµα στην οθόνη της συσκευής της. Το σύστηµα

γνωρίζει ότι η συσκευή της Μαρίας ενηµερώθηκε και δεν επιχειρεί να την ξανά-

ενηµερώσει.”

Ο κατασκευαστής εκδίδει την ενηµέρωση anUpdate και το κινητό τηλέφωνο της Μαρίας

χρειάζεται ενηµέρωση. Αρχικά όµως, σύµφωνα µε το σενάριο, η συσκευή είναι πολύ

χαµηλά σε µπαταρία. Τα δεδοµένα σε αυτό το µέρος του σεναρίου είναι τα εξής:

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (isInArea Maria_Mobile_Phone University_Campus))

• (assert (providesUpdate aManufacturer anUpdate))

• (assert (isUpdated Maria_Mobile_Phone ''false''))

• (assert (hasResourses Maria_Mobile_Phone ''false''))

Το σύστηµα επιχειρεί να πραγµατοποιήσει την ενηµέρωση. Η έξοδος όµως του Jess

δεν επιτρέπει την εκκίνηση της λειτουργίας. Το σύστηµα κρίνει ότι η συσκευή δεν έχει

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

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

Page 76: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 76

• (assert (isAccessible Maria_Mobile_Phone UoA-WiFi))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

Στην συνέχεια η Μαρία φορτίζει την συσκευή της και τα νέα δεδοµένα είναι τα

ακόλουθα:

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (isInArea Maria_Mobile_Phone University_Campus))

• (assert (providesUpdate aManufacturer anUpdate))

• (assert (isUpdated Maria_Mobile_Phone ''false''))

• (assert (hasResourses Maria_Mobile_Phone ''true''))

Η έξοδος όµως του Jess µε τα νέα δεδοµένα είναι:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Maria_Mobile_Phone UoA-WiFi))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

• (assert (Downloads Maria_Mobile_Phone anUpdate))

Τώρα το σύστηµα προχωράει στην ενηµέρωση της συσκευής καθώς πληρούνται όλοι οι

περιορισµοί που ορίστηκαν στις πολιτικές και συγκεκριµένα στον κανόνα

u.updateDevice.

“Τέλος, η Μαρία ολοκληρώνει και αυτή το πρόγραµµα της ηµέρας και επιστρέφει σπίτι

της µε το λεωφορείο. Κατά την διάρκεια της διαδροµής και στα όρια του δικτύου του

πανεπιστήµιου αποφασίζει να στείλει ένα µήνυµα πολυµέσων (MMS). Αρχικά η συσκευή

της συνδέεται και ξεκινάει να στέλνει το µήνυµα µεσώ του δικτύου WiFi του

πανεπιστήµιου το οποίο και έχει δηλώσει σαν διαχειριστή της προτίµησης της. Κατά την

διάρκεια της αποστολής το λεωφορείο αποµακρύνεται από τα όρια του δικτύου του

πανεπιστήµιου µέχρι που το σήµα πέφτει κάτω από το όριο. Απαιτείται µετάβαση σε

κάποιο άλλο δίκτυο για να συνεχιστεί η αποστολή. Από τα δύο διαθέσιµα, το

Page 77: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 77

GSM/GPRS και το WLAN, επιλέγεται το WLAN λόγω του µεγαλύτερου ρυθµού

µετάδοσης δεδοµένων µε σκοπό την γρηγορότερη αποστολή του µηνύµατος. Η

αποστολή ολοκληρώνεται µε επιτυχία µεσώ του WLAN δικτύου του RWNO και η Μαρία

φτάνει σπίτι της.”

Στο τελευταίο µέρος του σεναρίου, η χρήστης επιλέγει να στείλει ένα µήνυµα

πολυµέσων χρησιµοποιώντας την συσκευή της. Εξακολουθεί να βρίσκεται στο χώρο

της πανεπιστηµιούπολης. Οι τιµές των δυναµικών ιδιοτήτων είναι οι ακόλουθες:

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (isInArea Maria_Mobile_Phone University_Campus))

• (assert (newService Maria “true”))

• (assert (needsService Maria MMS))

Η έξοδος του Jess σε αυτά τα δεδοµένα είναι:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Maria_Mobile_Phone UoA-WiFi))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

• (assert (lookingForNetwork Maria_Mobile_Phone "true"))

• (assert (isProposed Maria_Mobile_Phone GSM-GPRS))

• (assert (isProposed Maria_Mobile_Phone WLAN-hotspots))

• (assert (isPrefered-Cost Maria_Mobile_Phone WLAN-hotspots))

Η συσκευή µπαίνει σε κατάσταση lookingForNetwork και επιλέγεται το πανεπιστηµιακό

δίκτυο για ακόµα µία φορά για να καταναλώσει η χρήστης την υπηρεσία. Κατά την

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

πανεπιστηµιούπολη και κατά συνέπεια από την εµβέλεια του πανεπιστηµιακού δικτύου.

Τα νέα δεδοµένα στην οντολογία είναι:

Page 78: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 78

• (assert (isInArea Maria_Mobile_Phone Athens))

• (assert (isInArea Maria_Mobile_Phone Center_of_Athens))

• (assert (needsService Maria MMS))

• (assert (usesNetwork Maria_Mobile_Phone UoA-WiFi))

• (assert (usesService Maria_Mobile_Phone MMS))

• (assert (isSignalAboveTH Maria_Mobile_Phone ''false''))

Για τα νέα δεδοµένα έχουµε:

• (assert (isAccessible Maria_Mobile_Phone GSM-GPRS))

• (assert (isAccessible Maria_Mobile_Phone WLAN-hotspots))

• (assert (lookingForNetwork Maria_Mobile_Phone "true"))

• (assert (isProposed Maria_Mobile_Phone GSM-GPRS))

• (assert (isProposed Maria_Mobile_Phone WLAN-hotspots))

• (assert (isPrefered-Cost Maria_Mobile_Phone WLAN-hotspots))

Το πανεπιστηµιακό δίκτυο δεν είναι πια διαθέσιµο και απαιτείται µετάβαση σε άλλο

δίκτυο, ώστε να αποφευχθεί η διακοπή της υπηρεσίας. Η συσκευή µπαίνει σε

κατάσταση lookingForNetwork από τον κανόνα b.NetworkUnavailable. Από τα

διαθέσιµα δίκτυα αυτό που ικανοποιεί καλύτερα το προφίλ της Μαρίας είναι, σύµφωνα

µε την έξοδο του Jess, το WLAN-hotspots στο οποίο και πραγµατοποιείται η µετάβαση.

Το σενάριο της Μαρίας ολοκληρώνεται.

Page 79: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 79

ΚΕΦΑΛΑΙΟ 9

ΥΛΟΠΟΙΗΣΗ

9.1 Εισαγωγή

Με την ολοκλήρωση του κεφαλαίου 8, έχουµε µοντελοποιηµένο στην πλατφόρµα του

Protégé ένα αυτόνοµο σύστηµα, ικανό να παίρνει δυναµικά αποφάσεις µε τις οποίες

προσαρµόζεται καλύτερα στο περιβάλλον του. Στην συνέχεια, µε χρήση της γλώσσας

προγραµµατισµού Java, κατασκευάσαµε ένα πρόγραµµα παρουσίασης (demo), το

οποίο δείχνει πως µπορεί να υλοποιηθεί η διαδικασία δυναµικής λήψης αποφάσεων

βασισµένη σε πολιτικές στην πράξη. Σε αυτό το σηµείο αξίζει να σηµειωθεί ότι η

συγκεκριµένη εφαρµογή υλοποιεί µόνο το τµήµα της λήψης αποφάσεων ενός τέτοιου

συστήµατος. Τα υπόλοιπα τµήµατα και συγκεκριµένα το τµήµα που αφορά την διαρκή

ενηµέρωση των δεδοµένων του περιβάλλοντος, προσοµοιώνονται σε απλοποιηµένη

µορφή, µε σκοπό να παρέχουν το τµήµα λήψης αποφάσεων µε δεδοµένα. Σε

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

ληφθεί η απόφαση θα ενηµερώνονται µέσα από αισθητήρες παρακολούθησης του

περιβάλλοντος. Για παράδειγµα ένα τερµατικό θα έχει µετρητές καταγραφής της

στάθµης της µπαταρίας, ενώ ένας διαχειριστής δικτύου θα καταγράφει την κίνηση στους

δροµολογητές του.

Στην υλοποίηση θεωρούµε ότι ένα τµήµα της γνώσης είναι στατικό. Το σύνολο αυτών

των πληροφοριών βρίσκεται αποθηκευµένο σε µία οντολογία την οποία και έχουν

δυνατότητα να ενηµερώνουν οι διαχειριστές του συστήµατος µε διαδικασία που προς το

παρόν δεν µας αφορά. Όταν το σύστηµα καλείται να πάρει µία απόφαση, αντλεί το

σύνολο της στατικής γνώσης από το αρχείο της οντολογίας, εισάγει στο µοντέλο αυτό το

σύνολο της δυναµικής γνώσης και µε βάση όλα αυτά τα στοιχεία αποφασίζει. Η

διαδικασία αυτή φαίνεται στο UML διάγραµµα περιπτώσεων χρήσης της εικόνας 7 και

αποτελεί την βάση της υλοποίησης.

Ο χρήστης έχει την δυνατότητα να ορίσει µέσα από µία φόρµα στην συσκευή του, το

προφίλ των προτιµήσεων του. Λόγω των περιορισµένων δυνατοτήτων µίας απλής

παρουσίασης, θέτουµε τον χρήστη να ορίζει την θέση του στον τηλεπικοινωνιακό κόσµο

µέσα από αυτή την διεπαφή. Η υπόθεση αυτή προσοµοιώνει την πραγµατικότητα όπου

Page 80: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 80

ο χρήστης επιλέγει την θέση της συσκευή έµµεσα, επιλέγοντας που θα µετακινηθεί.

Εικόνα 7: ∆ιάγραµµα Περιπτώσεων Χρήσης

Επίσης ο χρήστης επιλέγει µέσα από την διεπαφή της εφαρµογής την συσκευή την

οποία θα χρησιµοποιήσει. Η υπόθεση αυτή προσοµοιώνει την πραγµατικότητα όπου ο

χρήστης επιλέγει την συσκευή που θα χρησιµοποιεί, κατά την αγορά της από τον

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

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

αρκούν για να φανεί πως συµπεριφέρεται το σύστηµα σε κάθε περίπτωση. Αξίζει να

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

απαιτήσεις του συστήµατος σε πόρους (µπαταρία,CPU,µνήµη).

Η εφαρµογή παρουσίασης υλοποιεί το τον πρώτο στόχο που θέσαµε στο κεφάλαιο

5.2: Την δυνατότητα επιλογής του καταλληλότερου δικτύου στο οποίο η συσκευή του

χρήστη θα συνδεθεί για να καταναλώσει µια υπηρεσία. Αρχικά ο χρήστης ορίζει το

προφίλ των προτιµήσεων του, την θέση του, την συσκευή του και την υπηρεσία που

επιθυµεί να καταναλώσει. Το πρόγραµµα χρησιµοποιεί τα δεδοµένα αυτά καθώς και

την γενικότερη γνώση που έχει αποθηκευµένη στην οντολογία και αποφασίζει το

δίκτυο µε το οποίο θα συνδεθεί η συσκευή. Στο σηµείο αυτό υλοποιείται και ο

αλγόριθµος επιλογής που αναφέραµε στο κεφάλαιο 7.2. Στα πλαίσια της

παρουσίασης, το πρόγραµµα απλά τυπώνει το δίκτυο που επιλέχτηκε. Σε

πραγµατικές συνθήκες, ένα άλλο µέρος του συστήµατος θα αναλάµβανε να

εκτελέσει την απόφαση.

Page 81: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 81

Μέσα από την εφαρµογή αυτή δίνεται η ευκαιρία στον χρήστη να µελετήσει πως

επηρεάζουν την απόφαση του συστήµατος διαφοροποιήσεις στα χαρακτηριστικά του

χρήστη (προτιµήσεις, θέση, κτλ).

Εικόνα 8: Η διεπαφή χρήστη

9.2 Περιγραφή

Η εφαρµογή έχει δηµιουργηθεί στην γλώσσα προγραµµατισµού Java και συγκεκριµένα

στην πλατφόρµα J2SE µε την βοήθεια του IDE NetBeans 5.5 [38]. Για την εκτέλεση της

χρησιµοποιούνται οι βιβλιοθήκες Protégé – OWL και Jess, οι οποίες και περιγράφονται

στα επόµενα υποκεφάλαια. Συγκεκριµένα, απαιτείται να συµπεριληφθούν τα ακόλουθα

αρχεία στις βιβλιοθήκες της εφαρµογής:

• commons-logging-1.1.jar

• icu4j_3_4.jar

Page 82: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 82

• iri.jar

• jena.jar

• looks-2.1.3.jar

• protégé.jar

• protégé-owl.jar

• swrl-jess-bridge.jar

• xerceslmpl.jar

• jess.jar

Η παρουσίαση υλοποιείται σε τρεις τάξεις. Η τάξη ProfileForm κληρονοµεί την τάξη

JFrame της Java και αποτελεί την φόρµα µε την οποία ο χρήστης εισάγει δεδοµένα στο

σύστηµα και διαβάζει τα αποτελέσµατα του. Υλοποιεί την main συνάρτηση της

εφαρµογής. Η τάξη UserProfile αποτελεί το προφίλ του χρήστη και διαθέτει τις

ακόλουθες δηµόσιες µεθόδους:

• UserProfile (String name,String prefOperator, String prefRAT, String tariffClass,

String device, String service, String location, boolean rwno_Customer): Είναι ο

κατασκευαστής της τάξης UserProfile. ∆έχεται σαν ορίσµατα τα στοιχεία του

προφίλ ενός χρήστη και δηµιουργεί ένα νέο προφίλ µε βάση αυτά.String

getName(): Επιστρέφει στο όνοµα της το όνοµα του χρήστη του συγκεκριµένου

προφίλ από το οποίο καλείται.

• String getPrefOperator(): Επιστρέφει στο όνοµα της το όνοµα του διαχειριστή της

προτίµησης του χρήστη του συγκεκριµένου προφίλ από το οποίο καλείται.

• String getPrefRAT(): Επιστρέφει στο όνοµα της το όνοµα της τεχνολογίας

πρόσβασης της προτίµησης του χρήστη του συγκεκριµένου προφίλ από το οποίο

καλείται.

• String getTariffClass(): Επιστρέφει στο όνοµα της το οικονοµικό προφίλ του

χρήστη του συγκεκριµένου προφίλ από το οποίο καλείται.

Page 83: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 83

Εικόνα 9: ∆ιάγραµµα Τάξεων

Page 84: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 84

• String getDevice(): Επιστρέφει στο όνοµα της το όνοµα της συσκευής του χρήστη

του συγκεκριµένου προφίλ από το οποίο καλείται.

• String getService(): Επιστρέφει στο όνοµα της το όνοµα της υπηρεσίας που

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

καλείται.

• String getLocation(): Επιστρέφει στο όνοµα της το όνοµα της τοποθεσίας που

βρήσκεται ο χρήστης του συγκεκριµένου προφίλ από το οποίο καλείται.

• boolean getRWNO_Customer(): Επιστρέφει στο όνοµα της true αν ο χρήστης

του συγκεκριµένου προφίλ από το οποίο καλείται είναι πελάτης του διαχειριστή

RWNO

Τελευταία και πιο ουσιαστική τάξη είναι ο PolicyManager που αποτελεί και το µέρος της

εφαρµογής που εκτελεί την διαδικασία λήψης απόφασης. Αποτελείται από τις

ακόλουθες δηµόσιες µεθόδους:

• PolicyManager(String filename): Είναι ο κατασκευαστής της τάξης

PolicyManager. ∆έχεται σαν όρισµα το όνοµα του αρχείου της οντολογίας και

αναλαµβάνει να δηµιουργήσει ένα µοντέλο OWL µε αυτή την οντολογία καθώς

και να κάνει τις απαραίτητες αρχικοποίησης στην µηχανή κανόνων Jess καθώς

και στην γέφυρα που ενώνει το µοντέλο µε την µηχανή κανόνων.

• void close(): Η µέθοδος αυτή κλείνει το µοντέλο OWL.

• String connectTo(UserProfile prof): Η µέθοδος αυτή δέχεται σαν όρισµα το

προφίλ ενός χρήστη και αναλαµβάνει να το φορτώσει στο µοντέλο. Στην συνέχεια

τρέχει την µηχανή κανόνων στο σύνολο των δυναµικών και στατικών γνώσεων.

Τέλος µεταφράζει τα αποτελέσµατα και επιστρέφει στο όνοµα της το όνοµα του

δικτύου το οποίο επέλεξε. Στην περίπτωση που η συσκευή δεν πληρεί τις

προϋποθέσεις ώστε να ξεκινήσει η διαδικασία αναζήτησης δικτύου, η έξοδος της

µεθόδου είναι null. Στην περίπτωση που δεν υπάρχει κανένα διαθέσιµο δίκτυο

προς χρήση η έξοδος της µεθόδου είναι η συµβολοσειρά “none”.

Η διαδικασία της λήψης απόφασης περιγράφεται στο διάγραµµα ακολουθίας της

εικόνας 10. Ο χρήστης πατάει το κουµπί µε το οποίο ξεκινά όλη η διαδικασία. Αρχικά

κατασκευάζεται ένα προφίλ χρήστη µε τα στοιχεία που δόθηκαν στα πεδία της φόρµας.

Page 85: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 85

Στην συνέχεια αρχικοποιείται ένας PolicyManager µε όρισµα την οντολογία που

κατασκευάσαµε. Η διαδικασία της αρχικοποίησης του PolicyManager περιλαµβάνει την

δηµιουργία ενός αντικειµένου της τάξης OWLModel, την δηµιουργία ενός αντικειµένου

της τάξης Rete, που αποτελεί την βασική τάξη της µηχανής κανόνων Jess, και την

δηµιουργία ενός αντικειµένου της τάξης SWRLJessEngine που αναλαµβάνει να

γεφυρώσει το µοντέλο OWL µε την µηχανή κανόνων. Στην συνέχεια καλείται ο

PolicyManager που κατασκευάστηκε να πάρει απόφαση για το συγκεκριµένο προφίλ

χρήστη. Η διαδικασία αποτελείται από τρία στάδια. Φορτώνει στο µοντέλο τις δυναµικές

πληροφορίες που βρίσκονται στο προφίλ του χρήστη. Τρέχει την µηχανή κανόνων στο

σύνολο των δυναµικών και στατικών δεδοµένων. Μεταφράζει την έξοδο της µηχανής

κανόνων και επιστρέφει την απόφαση.

Εικόνα 10: ∆ιάγραµµα Ακολουθίας

9.3 Η Βιβλιοθήκη Protégé – OWL

Η βιβλιοθήκη Protégé – OWL [41] είναι µια ανοιχτού κώδικα (open source) Java

βιβλιοθήκη για την χρήση της γλώσσας OWL και RFD. Η βιβλιοθήκη παρέχει τάξεις και

µεθόδους Java για την εισαγωγή, αποθήκευση και επεξεργασία οντολογιών OWL και

Page 86: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 86

δίνει την δυνατότητα για σύνδεση της οντολογίας µε µηχανές εξαγωγής

συµπερασµάτων.

Η βασική τάξη που αναπαριστά µία οντολογία, είναι η τάξη OWLModel [40]. Σε αυτή η

βιβλιοθήκη µοντελοποιεί όλη την γνώση της οντολογίας. Η βιβλιοθήκη δίνει την

δυνατότητα στον προγραµµατιστή είτε να δηµιουργήσει ένα κενό µοντέλο, είτε να

δηµιουργήσει ένα µοντέλο από κάποιο αρχείο OWL. Για την δηµιουργία του µοντέλου

χρησιµοποιούνται οι ακόλουθες µέθοδοι:

• ProtegeOWL.createJenaOWLModel(): ∆ηµιουργεί ένα νέο κενό µοντέλο.

Επιστρέφει µία τάξη τύπου OWLModel.

• ProtegeOWL.createJenaOWLModelFromURI(String uri): ∆ηµιουργεί ένα νέο

µοντέλο µε βάση την οντολογία που υπάρχει στην διεύθυνση που δέχεται σαν

όρισµα. Η διεύθυνση αυτή µπορεί να είναι είτε κάποιο τοπικό αρχείο, είτε κάποια

IP διεύθυνση προς κάποια αποµακρυσµένη οντολογία. Επιστρέφει µία τάξη

τύπου OWLModel.

Ένα σηµαντικό ζήτηµα που απαιτείται στα πλαίσια της συγκεκριµένης υλοποίησης είναι

η δυνατότητα δυναµικής εισαγωγής δεδοµένων στην οντολογία κατά την διάρκεια

εκτέλεσης της παρουσίασης. Η βιβλιοθήκη Protégé – OWL µοντελοποιεί τις Οντότητες,

τις Ιδιότητες και τα Αντικείµενα µίας οντολογίας στις τάξεις OWLNamedClass,

OWLProperty και OWLIndividual αντίστοιχα. Με χρήση των τριών αυτών τάξεων καθώς

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

δυνατότητα για δηµιουργία και διαγραφή δεδοµένων στην οντολογία. Ακολουθεί η

περιγραφή των µεθόδων που χρησιµοποιούνται στην στην συγκεκριµένη υλοποίηση.

• getOWLNamedClass(String name): Αποτελεί µέθοδο της τάξης OWLModel.

Επιστρέφει στο όνοµα της µία κλάση τύπου OWLNamedClass µε βάση το

µοναδικό όνοµα της (βλέπε UNA, κεφάλαιο 6.1), από το µοντέλο από το οποίο

καλείται.

• getOWLProperty(String name): Αποτελεί µέθοδο της τάξης OWLModel.

Επιστρέφει στο όνοµα της µία κλάση τύπου OWLProperty µε βάση το µοναδικό

όνοµα της, από το µοντέλο από το οποίο καλείται.

Page 87: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 87

• getOWLIndividual(String name): Αποτελεί µέθοδο της τάξης OWLModel.

Επιστρέφει στο όνοµα της µία κλάση τύπου OWLIndividual µε βάση το µοναδικό

όνοµα της, από το µοντέλο από το οποίο καλείται.

• createOWLIndividual(String name): Αποτελεί µέθοδο της τάξης

OWLNamedClass. ∆ηµιουργεί ένα αντικείµενο µε το όνοµα που δέχεται σαν

όρισµα, για την οντότητα για την οποία καλείται. Η µέθοδος αυτή δεν επιστρέφει

κάποια τιµή.

• addPropertyValue(OWLProperty prop, Object value): Αποτελεί µέθοδο της τάξης

OWLIndividual. Συσχετίζει το συγκεκριµένο αντικείµενο από το οποίο καλείται µε

το αντικείµενο value για µία ιδιότητα που δέχεται από τα ορίσµατα. Η τιµή του

αντικειµένου value µπορεί να είναι είτε κάποιο άλλο στιγµιότυπο της τάξης

OWLIndividual για την περίπτωση των ιδιοτήτων αντικειµένου, είτε κάποια τιµή

(ακέραιος αριθµός, αριθµός κινητής υποδιαστολής, κτλ) για τις ιδιότητες τύπου

δεδοµένων. Η µέθοδος αυτή δεν επιστρέφει κάποια τιµή.

9.4 Η Βιβλιοθήκη SWRLRuleEngineBridge

Η γέφυρα µηχανής κανόνων SWRL (SWRL Rule Engine Bridge) [37] αποτελεί στοιχείο

του SWRLTab και παρέχει µια διασύνδεση µεταξύ ενός µοντέλου OWL µε κανόνες

SWRL και µιας µηχανής κανόνων, µε στόχο την παροχή της απαραίτητης υποδοµής

ώστε να ενσωµατώνονται µηχανές κανόνων στην Protégé OWL για την εκτέλεση των

κανόνων SWRL.

Συγκεκριµένα η γέφυρα παρέχει µηχανισµούς ώστε:

Να εισάγονται κανόνες και οι σχετικές µε αυτούς οντότητες, αντικείµενα και

ιδιότητες από ένα µοντέλο OWL

Να γράφεται αυτή η γνώση σε µια µηχανή κανόνων

Να επιτρέπεται η εξαγωγή συµπερασµάτων από την µηχανή κανόνων και η

εισαγωγή της καινούριας γνώσης πίσω στη γέφυρα

Να εισάγεται η αποκτηµένη γνώση στο µοντέλο OWL

Page 88: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 88

Να µπορούν να προστεθούν δυναµικές γραφικές διεπαφές για την

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

κανόνων και του χρήστη.

Από τη στιγµή που θα δηµιουργηθεί η γέφυρα, µπορεί να χρησιµοποιηθεί για την

εκτέλεση κανόνων SWRL και την εισαγωγή των συµπερασµάτων πίσω στο µοντέλο

OWL. Η διαδικασία αυτή ελέγχεται από τις ακόλουθες δηµόσιες µεθόδους (public

methods) [39]:

• resetBridge(): «Καθαρίζεται» όλη η γνώση από τη γέφυρα και τη µηχανή

κανόνων.

• ImportSWRLRulesAndOWLKnowledge(): Εισάγονται όλοι οι κανόνες SWRL και η

σχετική µε αυτούς γνώση από το µοντέλο OWL στη γέφυρα. Όλοι οι υπάρχοντες

κανόνες και η υπάρχουσα γνώση θα καθαριστούν πρώτα και η συσχετισµένη

µηχανή κανόνων θα επανεκκινηθεί µε µια κλήση της µεθόδου resetBridge().

• ExportSWRLRulesAndOWLKnowledge(): Οι εισαχθέντες κανόνες και οι γνώσεις

OWL γράφονται από τη γέφυρα στη µηχανή κανόνων.

• RunRuleEngine(): Καλείται η µηχανή κανόνων η οποία εκτελεί τους κανόνες µε

βάση τη γνώση που έχει εξαχθεί και τα αποτελέσµατα των συµπερασµάτων

µεταφέρονται πίσω στη γέφυρα. Αυτή είναι µια αόριστη µέθοδος (abstract

method) που πρέπει να οριστεί ξανά στην υλοποίηση για κάθε συγκεκριµένη

µηχανή κανόνων.

• WriteAssertedIndividualsAndProperties2OWL(): Οι πληροφορίες που εξήγαγε η

µηχανή κανόνων µεταφέρονται στο µοντέλο OWL.

• infer(): Ουσιαστικά εµπερικλείει τις πέντε προαναφερθείσες µεθόδους

• ResetRuleEngine(): Καθαρίζεται η γνώση από τη µηχανή κανόνων καθώς και τα

συµπεράσµατα που αυτή εξήγαγε και βρίσκονται στη γέφυρα αλλά µένουν

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

Καµία από τις προαναφερθείσες µεθόδους δεν επιστρέφει τιµή και όλες ενδέχεται να

εµφανίσουν το SWRLRuleEngineBridgeException. Επίσης παρέχονται και επτά µέθοδοι

για να διευκολύνεται η εξέταση των περιεχοµένων της γέφυρας:

Page 89: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 89

• getNumberOfImportedSWRLRules(): για την ανάκτηση των κανόνων που έχουν

εισαχθεί στη γέφυρα.

• getNumberOfImportedClasses(): για την ανάκτηση των οντοτήτων που έχουν

εισαχθεί στη γέφυρα.

• getNumberOfImportedIndividuals(): για την ανάκτηση των αντικειµένων που

έχουν εισαχθεί στη γέφυρα.

• getNumberOfImportedProperties(): για την ανάκτηση των ιδιοτήτων που έχουν

εισαχθεί στη γέφυρα.

• getNumberOfImportedRestrictions(): για την ανάκτηση των περιορισµών που

έχουν εισαχθεί στη γέφυρα.

• getNumberOfAssertedIndividuals(): για την ανάκτηση των αντικειµένων που

προέρχονται από συµπέρασµα και έχουν εξαχθεί στη γέφυρα.

• getNumberOfAssertedProperties(): για την ανάκτηση των ιδιοτήτων που

προέρχονται από συµπέρασµα και έχουν εξαχθεί στη γέφυρα.

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

Η διεπαφή του χρήστη µε τη γέφυρα έχει σχεδιαστεί ώστε να είναι η ίδια ανεξάρτητα

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

είναι απαραίτητο να έχουν γνώση της µηχανής κανόνων που χρησιµοποιείται.

Η τάξη µε όνοµα SWRLJessBridge [36] αποτελεί την υλοποίηση της

SWRLRuleEngineBridge για την µηχανή κανόνων Jess. H συνάρτηση κατασκευής

(constructor) αυτής της τάξης λαµβάνει ένα στιγµιότυπο της κλάσης OWLModel, που

αναπαριστά τη βάση γνώσης OWL µαζί µε τους συσχετισµένους µε αυτήν κανόνες

SWRL και ένα στιγµιότυπο ενός Jess Rete αντικειµένου, που αναπαριστά ένα

στιγµιότυπο της µηχανής κανόνων Jess.

Από τη στιγµή που θα δηµιουργηθεί η γέφυρα για Jess, οι δηµόσιες µέθοδοι που

κληρονοµεί από την κλάση SWRLRuleEngineBridge µπορούν να χρησιµοποιηθούν για

την αλληλεπίδραση µαζί της.

Page 90: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 90

ΚΕΦΑΛΑΙΟ 10

ΣΥΜΠΕΡΑΣΜΑΤΑ

10.1 Συµπεράσµατα

Η σύγχρονες ανάγκες των τηλεπικοινωνιών απαιτούν κλιµακώσιµα δίκτυα που να έχουν

την ικανότητα να προσαρµόζονται στο διαρκώς µεταβαλλόµενο περιβάλλον τους. Τα

αυτόνοµα δίκτυα καλούνται να δώσουν την λύση µέσα από ένα σύνολο αρχών. Με την

µοντελοποίηση της γνώσης του τηλεπικοινωνιακού κόσµου σε µία οντολογία

εφαρµόσαµε τις αρχές που χαρακτηρίζουν τα αυτόµατα συστήµατα. ∆ίνουµε δηλαδή

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

περιβάλλοντος, αυτοπροστασίας αλλά και δυνατότητα πρόβλεψης της συµπεριφοράς

του ενώ παράλληλα το σύστηµα βασίζεται σε προτυποποιηµένες διαδικασίες και

συνεπώς µπορεί να υλοποιηθεί µε βάση διαφορετικές αρχιτεκτονικές.

Συγκεκριµένα οι ιδιότητες αυτό-θεραπείας, πρόγνωσης και αυτοπροστασίας

υλοποιούνται µέσω των κανόνων που ελέγχουν τον φόρτο σε ένα δίκτυο και εάν είναι

επιβαρηµένο προτείνουν στη συσκευή να συνδεθεί σε άλλο δίκτυο που προσφέρει την

επιθυµητή υπηρεσία, µετριάζοντας έτσι το φόρτο του δικτύου και προστατεύοντας από

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

στους κανόνες που επιτρέπουν σε µια συσκευή να συνεχίσει να χρησιµοποιεί µια

υπηρεσία µέσω της σύνδεσής της σε νέο δίκτυο που προσφέρει την υπηρεσία, ενώ έχει

βγει εκτός της εµβέλειας του δικτύου στο οποίο ξεκίνησε την χρήση της υπηρεσίας. Ένα

ακόµη παράδειγµα αυτορύθµισης είναι και ο κανόνας ενηµέρωσης των συσκευών µε

νέο λογισµικό όταν αυτό είναι διαθέσιµο από τον κατασκευαστή τους, κατόπιν ελέγχου

εάν έχει προηγηθεί αναβάθµιση του λογισµικού στη συγκεκριµένη συσκευή.

Οι ιδιότητες αυτογνωσίας και επίγνωσης του περιβάλλοντος υλοποιούνται µέσω των

κανόνων που προσδιορίζουν ποια δίκτυα είναι διαθέσιµα και σε ποιες περιοχές, ποιες

τεχνολογίες χρησιµοποιούν και ποιες υπηρεσίες µπορούν να υποστηρίξουν. Παράλληλα

στο σύστηµα είναι γνωστοποιηµένα µέσω της οντολογίας οι προτιµήσεις των χρηστών,

το οικονοµικό τους προφίλ καθώς και οι πόροι των συσκευών τους. Μετά από έλεγχο

αυτών των προϋποθέσεων προτείνονται στη συσκευή τα καταλληλότερα δίκτυα προς

σύνδεση.

Η αναπαράσταση της γνώσης γίνεται µε βάση οντολογία στο πρότυπο της γλώσσας

Page 91: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 91

OWL ενώ η πολιτική υλοποιείται µέσω κανόνων εκφρασµένων στην πρότυπη γλώσσα

κανόνων SWRL. Με την χρήση προτύπων γλωσσών επιτυγχάνεται και ο ανοιχτός

χαρακτήρας του συστήµατος.

Με την αναπαράσταση της γνώσης για τον τηλεπικοινωνιακό αυτό κόσµο σε µια

οντολογία µε τη βοήθεια της γλώσσας OWL δίνεται η δυνατότητα εξαγωγής

συµπερασµάτων σχετικά µε τη γνώση από µηχανές, η δυνατότητα κοινοποίησης της

γνώσης µεταξύ προγραµµάτων-πρακτόρων που εκτελούνται στις κινητές συσκευές και

των εξυπηρετητών που αποφασίζουν για τις ρυθµίσεις των δικτύων, αλλά παράλληλα

και η δυνατότητα η οντολογία αυτή να επαναχρησιµοποιηθεί για την αναπαράσταση

ενός παρόµοιου περιβάλλοντος ή και ενός πιο σύνθετου κόσµου.

Η χρήση πολιτικών δίνει την δυνατότητα άµεσης δυναµικής συµµετοχής όλων των

ενδιαφερόµενων (χρήστες, διαχειριστές δικτύων, κατασκευαστές συσκευών, πάροχοι

υπηρεσιών) στην λήψη αποφάσεων. Είναι πλέον εµφανές, ότι στο µέλλον οι ασύρµατες

επικοινωνίες δεν θα είναι πια θέµα µίας τηλεπικοινωνιακής εταιρίας, άλλα ένα

ενοποιηµένο και ανοικτό περιβάλλον, στα πρότυπα του διαδικτύου.

Page 92: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 92

ΑΚΡΩΝΥΜΙΑ

API Application Programming Interface

CPU Central Processor Unit

EE Execution Engine

FTP File Transfer Protocol

GPRS General Packet Radio Service

GSM Global System for Mobile communications

HTTP Hyper Text Transfer Protocol

IDE Integrated Development Environment

IETF Internet Engineering Task Force

IP Internet Protocol

J2SE Java v.2 Standard Edition

KE Knowledge Engine

M&A Monitoring and Analysis engine

MMS Multimedia Messaging Service

OWL Ontology Web Language

OWL DL Ontology Web Language Description Logic

PE Planning Engine

QoS Quality of Service

RAT Radio Access Technology

RDF Resource Description Framework

RWNO Random Wireless Network Operator

SMS Short Message Service

SWRL Semantic Web Rule Language

UML Unified Modeling Language

UNA Unique Name Assumption

Page 93: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 93

UoA University of Athens

URI Uniform Resource Identifier

W3C World Wide Web Consortium

WiFi Wireless Fidelity

WLAN Wireless Local Area Network

WWW World Wide Web

XML Extensible Markup Language

ΕΚΠΑ Εθνικό Καποδιστριακό Πανεπιστήµιο Αθηνών

Page 94: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 94

ΟΡΟΛΟΓΙΑ

αντικείµενο individual

αντίληψη του περιβάλλοντος contextually aware

αντίστροφη ιδιότητα inverse property

αόριστη µέθοδος abstract method

αποφασισιµότητα decidability

ασύνδετος disjoint

άτοµο atom

αυτογνωσία self-awareness

αυτοδιακυβέρνηση self-governing

αυτοθεραπεία self-healing

αυτό-µάθηση self-learning

αυτοµατοποιηµένη εξαγωγή συµπερασµάτων automated reasoning

αυτόνοµη δικτύωση autonomic networking

αυτοπροστασία self-protecting

αυτορύθµιση self-configuring

βάση γνώσεων knowledge base

βρόγχος ελέγχου control loops

γεγονός fact

γέφυρα bridge

γέφυρα µηχανής κανόνων SWRL SWRL rule engine bridge

γλώσσα κανόνων rule language

γνωστικό πεδίο / πεδίο ορισµού domain

δεξαµενή συµπεριφορών behaviour pool

διαλειτουργικότητα interoperability

Page 95: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 95

διαχειριστής operator

διαχειριστής υλοποίησης administrator developer

διεπαφή interface

δικτυακός τόπος web site

διύλιση των πολιτικών policy refinement

δυνατότητα κλιµάκωσης scalability

έµπειρο σύστηµα expert system

ενηµέρωση update

έξυπνος πράκτορας intelligent agent

επαναρυθµίζόµενο reconfigurable

επερώτηση query

εφαρµογή ανοιχτού κώδικα open source

ιδιότητα property

ιδιότητα αντικειµένων object property

ιδιότητα σχολιασµού annotation property

ιδιότητα τύπου δεδοµένων datatype property

καθολικός βρόγχος ελέγχου global control loop

κανόνας rule

κατασκευαστής manufacturer

κλειστός βρόγχος ελέγχου closed control loop

µεταβατική ιδιότητα transitive property

µήνυµα πολυµέσων MMS

µηχανή γνώσης knowledge engine

µηχανή εκτέλεσης execution engine

µηχανή παρακολούθησης και ανάλυσης monitoring and analysis engine

µηχανή σχεδιασµού planning engine

οντότητα class (owl)

Page 96: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 96

πεδίο τιµών range

περιήγηση στον παγκόσµιο ιστό world wide web browsing

περιορισµός restriction

περιορισµός πληθικότητας cardinality restriction

περιορισµός τιµών hasValue restrictions

πλαίσιο framework

πληροφορίες από το περιβάλλον contextual information

ποιότητα της υπηρεσίας quality of service

πολιτική policy

πόρος resource

ποσοτικός περιορισµός quantifier restriction

πρακτόρας λογισµικού software agent

πρόγραµµα παρουσίασης demo

προνοητικό anticipatory

σηµασιολογία Semantics

σηµασιολογικά µεταδεδοµένα semantic metadata

στοιχείo λογισµικού software module

σύµβουλος διαχειριστή administrator consultant

συµµετρική ιδιοτήτα symmetric property

συµφραζόµενα context

συναρτησιακή ιδιότητα functional property

συνεχές continuum

σύντοµα µηνύµατα SMS

τάξη class (java)

τεχνολογίες σηµασιολογικού ιστoύ semantic web technologies

Τοπικός βρόγχος ελέγχου local control loop

υπέρ-οντότητα superclass

Page 97: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 97

υπηρεσίας συνοµιλιών κειµένου instant messaging

υπηρεσίες δικτύου web services

υπό-γλώσσα sub-language

υπολογιστικός πράκτορας computer agent

ύπο-οντότητα subclass

Page 98: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 98

ΑΝΑΦΟΡΕΣ

1. E2R II Consortium, “Evolution of Reconfiguration Management and Control

System Architecture”, June 2006

2. Αντώνης Λιλής, Νάνσυ Αλωνιστιώτη, “Policy Based Self-Management

Framework for Reconfigurable Systems”, Τµήµα Πληροφορικής και

Τηλεπικοινωνιών, ΕΚΠΑ

3. R. Elmasri, S.B. Navathe, “Θεµελιώδεις Αρχές Συστηµάτων Βάσεων ∆εδοµένων”

4. Salim Hariri, Bithika Khargharia, Houping Chen, Jingmei Yand, Yeliang Zhang,

Manish Parashar, Hua Liu “The Autonomic Computing Paradigm”, University of

Arizona, University of New Jersey, Sept 2006

5. John Strassner, “Introduction to Autonomics”, Autonomic Computing, 2006

6. John Davies, Rudi Studer, Paul Warren, “Semantic Web Technologies: Trends

and Research in Ontology - Based Systems”, 2006, p. 9 – 69

7. Mikko Laukkanen, “Semantic Web Technologies in Context-Aware Systems”,

Department of Computer Science, University of Helsinki, 2003

8. Harry Chen, Tim Finin, Anupam Joshi, “The Role of the Semantic Web in

Pervasive Context-Aware Systems”, 2003

9. “HTML 4.01 Specification”, World Wide Web Consortium (W3C)

Recommendation, Dec. 1999;

10. Natalya F. Noy, Deborah L. McGuinness, “Ontology Development 101: A Guide

to Creating Your First Ontology”, 2000

11. Deborah L. McGuinness, Frank van Harmelen “OWL Web Ontology Language”,

World Wide Web Consortium (W3C) Recommendation, Feb. 2004;

http://www.w3.org/TR/owl-features/

12. Dave Beckett, Brian McBride “RDF/XML Syntax Specification (Revised)”, World

Wide Web Consortium (W3C) Recommendation, Feb. 2004;

Page 99: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 99

http://www.w3.org/TR/rdf-syntax-grammar/

13. “Extensible Markup Language (XML)”, World Wide Web Consortium (W3C);

http://www.w3.org/XML/

14. URI Planning Interest Group, W3C/IETF, “URIs, URLs, and URNs: Clarifications

and Recommendations 1.0”, World Wide Web Consortium (W3C), Sept. 2001

15. J. Strassner, E. Ellesson, "Terminology for Describing Network Policy and

Services", IETF Internet Draft, Feb. 1999

16. Javier Rubio-Loyola, Joan Serrat, Paris Flegkas, George Pavlou, “A

Methodological Approach Towards the Refinement Problem in Policy-Based

Management Systems”, Universitat Politecnica de Catalunya Marinos

Charalambides, University of Surrey, Oct 2006

17. D.Agrawal, K-W.Lee, J.Lobo, “Policy - based management of networked

computing systems” IEEE Communications, 2005.

18. Object Management Group, “Unified Modeling Language (UML), Version 2.1.1”;

http://www.omg.org/technology/documents/formal/uml.htm

19. Martin O’Connor, Holger Knublauch, Samson Tu, Benjamin Grosof, Mike Dean,

William Grosso, Mark Musen, “Supporting Rule System Interoperability on the

Semantic Web with SWRL”, 2005

20. Ian Horrocks, Peter F. Patel-Schneider, Harold Boley, Said Tabet, Benjamin

Grosof, Mike Dean, “SWRL: A Semantic Web Rule Language Combining OWL

and RuleML”, World Wide Web Consortium (W3C) Member Submission, May

2004; http://www.w3.org/Submission/SWRL/

21. IEEE std, 802.11, IEEE 1997

22. IEEE std. 802.15.1, IEEΕ 2002

23. ETSI GSM 06.51 4.0.1, Dec. 1997

24. 3GPP Specification Detail, “General Packet Radio Service (GPRS) Stage 2”,

http://www.3gpp.org/ftp/Specs/html-info/23060.htm

Page 100: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 100

25. Stanford Medical Informatics, “The Protégé Ontology Editor and Knowledge

Acquisition System”, Stanford University School of Medicine ;

http://protege.stanford.edu/

26. Holger Knublauch, Ray W. Fergerson, Natalya F. Noy, Mark A. Musen, “The

Protégé OWL Plugin: An Open Development Environment for Semantic Web

Applications”, Stanford Medical Informatics, 2004

27. Matthew Horridge, Holger Knublauch, Alan Rector, Robert Stevens, Chris Wroe,

“A Practical Guide to Building OWL Ontologies Using The Protégé OWL Plugin

and CO-ODE Tools Edition 1.0”, University of Manchester, August 27, 2004

28. Martin O’Connor, “Semantic Web Rule Language”, Stanford Medical Informatics,

2006

29. Martin J. O'Connor, Amar Das, “The SWRLTab: An Extensible Environment for

working with SWRL Rules with Protégé – OWL”, Stanford Medical Informatics

30. Protégé Wiki, “SWRL Language FAQ”, April 2007; http://protege.cim3.net/cgi-

bin/wiki.pl?SWRLLanguageFAQ

31. Protégé Wiki, “SWRLTab”, April 2007; http://protege.cim3.net/cgi-

bin/wiki.pl?SWRLTab

32. Protégé Wiki, “SWRL Factory FAQ”, April 2007; http://protege.cim3.net/cgi-

bin/wiki.pl?SWRLFactoryFAQ

33. Ernest Friedman-Hill, “Jess, the Rule Engine for the Java Platform”, Sandia

National Laboratories, 1995; http://herzberg.ca.sandia.gov/jess/

34. Charles Forgy, "Rete: A Fast Algorithm for the Many Pattern/Many Object

Pattern Match Problem", Artificial Intelligence, 19, pp 17-37, 1982

35. Ernest Friedman – Hill, “Jess in Action, Rule – Based Systems in Java”, July

2003, p. 136 -138

36. Protégé Wiki, “SWRL Jess Tab”, March 2007; http://protege.cim3.net/cgi-

bin/wiki.pl?SWRLJessTab

37. Protégé Wiki, “SWRL Rule Engine Bridge FAQ”, April 2007;

Page 101: ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑxefa/files/theses/bsc_fafoutis...ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ... ΠΕΡΙΛΗΨΗ Με την ανάπτυξη ασύρµατων δικτύων

Αυτόνοµη Λήψη Αποφάσεων Βασισµένη σε Πολιτικές για Ασύρµατα ∆ίκτυα

Ν. Γκαζώνη, Ξ. Φαφούτης 101

http://protege.cim3.net/cgi-bin/wiki.pl?SWRLRuleEngineBridgeFAQ

38. NetBeans Community; http://www.netbeans.org/

39. Protégé-OWL, Class SWRLRuleEngineBridge API, Stanford Medical Informatics;

http://protege.stanford.edu/download/release-javadoc-

owl/edu/stanford/smi/protegex/owl/swrl/bridge/SWRLRuleEngineBridge.html

40. Protégé-OWL, Interface OWLModel API, Stanford Medical Informatics;

http://protege.stanford.edu/download/release-javadoc-

owl/edu/stanford/smi/protegex/owl/model/OWLModel.html

41. Holger Knublauch, “Protégé-OWL API Programmer's Guide”, Stanford Medical

Informatics, Sept 2006; http://protege.stanford.edu/plugins/owl/api/guide.html

42. J. Strassner, “Policy Based Management”, 2004

43. Seraphin Calo, Jorge Lobo, “A Basis for Comparing Characteristics of Policy

Systems”, IBM T.J. Watson Research Center, 2006