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

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

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

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

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

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

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

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

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

Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

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

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

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

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

Σημασιολογικός Ιστός RDF(S) OWL Οντολογίες. Pervasive Computing Research Group

«Ανάπτυξη μηχανής παραγωγής φυσικής γλώσσας για οντολογίες OWL»

«Σημασιολογική Αναζήτηση Υπηρεσιών Ιστού βάση των δυνατοτήτων τους» Semantic Matching of Web Services Capabilities

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

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

Ανάκτηση Πληροφορίας

Μεταδεδομένα στο Ψηφιακό περιβάλλον

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS)

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

Εισαγωγή στο RDF. Το Resource Description Framework (RDF) Σταύρος Πολυβίου

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1

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

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

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

Εννοιολογική Ομοιογένεια

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 02 & 03. Δρ. Γεώργιος Χρ. Μακρής

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 01 & 02. Δρ. Γεώργιος Χρ. Μακρής

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

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

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

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 9: Web Services. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Μεταπτυχιακή Διατριβή

Κεφάλαιο 29. Τεχνητή Νοημοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου

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

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

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

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

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

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

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

Τεχνικές Προδιαγραφές ιαλειτουργικότητας

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

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

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

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

ανοιχτά γλωσσικά δεδομένα: η υποδομή γλωσσικών πόρων και υπηρεσιών clarin:el

της πληροφορίας Λίνα Μπουντούρη Εθνικό Κέντρο Τεκμηρίωσης 13ο ΠανελλήνιοΣυνέδριοΑκαδημαϊκών Βιβλιοθηκών - Κέρκυρα 2004

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Περιεχόμενα. Κατάλογος εικόνων 13. Πρόλογος Το όραμα του Σημασιολογικού Ιστού 19

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

Πολιτισμική Τεχνολογία. Πολυμέσα & Διαδίκτυο Παράμετροι Δικαίου Μέρος Α

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων ιαχείριση ικτύων ρ.αρίστη Γαλάνη Ακαδημαϊκό Έτος

Οντολογία σύμφωνα με τη Φιλοσοφία

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

Ημερομηνία Παράδοσης: 4/4/2013

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

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

Τεχνολογία ανάπτυξης νέων ιστοσελίδων στο Semantic Web.

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

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

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

Διασύνδεση και Άνοιγμα Δεδομένων του Α.Π.Θ. Καραογλάνογλου Κωνσταντίνος Μονάδα Σημασιολογικού Ιστού Α.Π.Θ 18/3/2014

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΑΝΑΠΤΥΞΗ ΥΠΟΔΟΜΩΝ ΑΝΟΙΚΤΗΣ ΠΡΟΣΒΑΣΗΣ ΙΔΡΥΜΑΤΙΚΟ ΑΠΟΘΕΤΗΡΙΟ «ΟΛΥΜΠΙΑΣ» Διαλειτουργικότητα Ιδρυματικών Αποθετηρίων

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

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

Διδακτικές Τεχνικές (Στρατηγικές)

Διπλωματικές των κ. Ι. Βλαχάβα και Ν. Βασιλειάδη

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

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

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

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

EBSCOhost Research Databases

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

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Orchid: Integrating Schema Mapping and ETL ICDE 2008

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

Προγραμματισμός ΙI (Θ)

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

Διαχείριση Πολιτισμικών Δεδομένων


Transcript:

Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α «ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ» (Semantic Web Service Matching and Composition) «ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ» AEM: 433 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΒΑΣΙΛΕΙΑΔΗΣ ΝΙΚΟΣ, ΑΝΑΠΛΗΡΩΤΗΣ ΚΑΘΗΓΗΤΗΣ ΤΡΙΜΕΛΗΣ ΕΠΙΤΡΟΠΗ: ΒΑΣΙΛΕΙΑΔΗΣ ΝΙΚΟΣ, ΑΝΑΠΛΗΡΩΤΗΣ ΚΑΘΗΓΗΤΗΣ ΒΛΑΧΑΒΑΣ ΙΩΑΝΝΗΣ, ΚΑΘΗΓΗΤΗΣ ΒΡΑΚΑΣ ΔΗΜΗΤΡΙΟΣ, ΛΕΚΤΟΡΑΣ ΘΕΣΣΑΛΟΝΙΚΗ 15/02/2014

ΠΕΡΙΛΗΨΗ Π Ε Ρ Ι Λ Η Ψ Η Η εργασία αυτή έχει ως στόχο την επίλυση ζητημάτων, που σχετίζονται με την ανάκτηση Υπηρεσιών Ιστού, γνωστή επίσης ως επιλογή, ανακάλυψη ή ταυτοποίηση υπηρεσιών και με τη σύνθεση Υπηρεσιών Ιστού. Αρχικά, η εργασία αυτή προτείνει ένα νέο αλγόριθμο ταυτοποίησης για SAWSDL. Ο αλγόριθμος είναι υβριδικής φύσεως, συνδυάζοντας νέες και γνωστές έννοιες, όπως η βασισμένη στη λογική στρατηγική και μέτρα ομοιότητας κειμένου σε σημασιολογικές επισημάνσεις και περιγραφές κειμένου. Η υβριδική παραλλαγή του αλγορίθμου κατατάχθηκε ψηλά σε μια εκτενή αξιολόγηση ως προς την αποτελεσματικότητα και την απόδοση, σε σύγκριση με διάφορες παραλλαγές και διάφορους αλγορίθμους της βιβλιογραφίας σε ένα μεγάλο σύνολο δεδομένων. Δεύτερον, αυτή η εργασία προτείνει μια τεχνική αναγωγής ενός προβλήματος σύνθεσης υπηρεσιών σε πρόβλημα σχεδιασμού ενεργειών, το οποίο επιλύεται στη συνέχεια από έναν καθιερωμένο σχεδιαστή. Επιπλέον, η εργασία παρουσιάζει την web εφαρμογή Tomaco, που αποσκοπεί στην επιτάχυνση της ευρείας διάδοσης των τεχνολογιών και των αλγορίθμων Σημασιολογικών Υπηρεσιών Ιστού, αντιμετωπίζοντας την απουσία φιλικών προς το χρήστη εφαρμογών αυτού του πεδίου. Το Tomaco ενσωματώνει μια ποικιλία παραμετροποιήσιμων αλγορίθμων επιλογής υπηρεσιών, που προτείνονται σε αυτή την εργασία, καθώς και μια τεχνική σύνθεσης υπηρεσιών. Τέλος, επιτρέπει την ανακάλυψη τόσο υπαρχόντων συλλογών υπηρεσιών όσο και προσφερόμενων από τους χρήστες, λειτουργώντας επίσης σαν αποθήκη υπηρεσιών. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ VII

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

ABSTRACT A B S T R A C T This work aims to resolve issues related to Web Service retrieval, also known as service selection, discovery or essentially matching, and Web Service Composition. Firstly, it introduces a new matching algorithm for SAWSDL. The algorithm is hybrid in nature, combining novel and known concepts, such as a logic-based strategy and syntactic text-similarity measures on semantic annotations and textual descriptions. The algorithm s hybrid variant ranked high during an extensive effectiveness and performance evaluation amongst different variants and state-of-the-art algorithms on a large dataset. Secondly, this work suggests a simple technique to map a composition problem into a planning problem, which is then resolved by an established planner. In addition, this work introduces the Tomaco web application which aims to accelerate the wide-spread deployment of Semantic Web Service technologies and algorithms, targeting the lack of user-friendly applications for this field. Tomaco integrates a variety of configurable matching algorithms proposed in this paper, as well as a composition technique. It, finally, allows discovery of both existing and user-contributed service collections and ontologies, serving also as a service registry. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ IX

ΕΥΧΑΡΙΣΤΙΕΣ Ε Υ Χ Α Ρ Ι Σ Τ Ι Ε Σ Η εκπόνηση της εργασίας έγινε στο εργαστήριο Γλωσσών Προγραμματισμού και Τεχνολογίας Λογισμικού (PLaSE) του Τμήματος Πληροφορικής του Αριστοτελείου Πανεπιστημίου, σε συνεργασία με την ερευνητική ομάδα Λογικού Προγραμματισμού και Ευφυών Συστημάτων (LPIS) και Ευφυών Συστημάτων και Επεξεργασίας Γνώσης (ISKP). Θα ήθελα να ευχαριστήσω τον επιβλέποντα αναπληρωτή καθηγητή του τμήματος, κύριο Βασιλειάδη Νικόλαο, καθώς με ώθησε στο αντικείμενο του Σημασιολογικού Ιστού και μου εμπιστεύτηκε το συγκεκριμένο θέμα. Επιπλέον, θα ήθελα να ευχαριστήσω τον υποψήφιο διδάκτορα, κύριο Σταυρόπουλο Θάνο, για τη συνεχή καθοδήγηση και τη βοήθεια σε όποια δυσκολία συναντούσα. Χάρη στο ουσιαστικό ενδιαφέρον και των δύο η διπλωματική ολοκληρώθηκε με το καλύτερο δυνατό αποτέλεσμα. 15/02/2014 Ανδρεάδης Στέλιος ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ XI

ΠΕΡΙΕΧΟΜΕΝΑ Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α ΠΕΡΙΛΗΨΗ... VII ABSTRACT... IX ΕΥΧΑΡΙΣΤΙΕΣ... XI ΠΕΡΙΕΧΟΜΕΝΑ... XIII ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ... XV ΛΙΣΤΑ ΠΙΝΑΚΩΝ... XVII ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ...19 ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ...25 2.1 ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΟΝΤΟΛΟΓΙΕΣ...27 2.2 ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ...32 2.3 ΣΗΜΑΣΙΟΛΟΓΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ...35 2.4 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΤΑΥΤΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ...40 2.5 ΑΠΟΘΗΚΕΣ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ONLINE...48 2.6 ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ...50 ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO...55 3.1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ...57 3.2 ΓΕΝΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ...58 3.3 ΥΠΗΡΕΣΙΕΣ...61 3.4 ΟΝΤΟΛΟΓΙΕΣ...65 3.5 ΤΑΥΤΟΠΟΙΗΣΗ...66 3.6 ΣΥΝΘΕΣΗ...71 ΚΕΦΑΛΑΙΟ 4: ΟΙ ΑΛΓΟΡΙΘΜΟΙ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ TOMACO...73 4.1 ΣΤΡΑΤΗΓΙΚΗ ΒΑΣΙΣΜΕΝΗ ΣΤΗ ΛΟΓΙΚΗ (LOGIC-BASED)...75 4.2 ΣΤΡΑΤΗΓΙΚΗ ΒΑΣΙΣΜΕΝΗ ΣΤΗΝ ΟΜΟΙΟΤΗΤΑ ΚΕΙΜΕΝΟΥ ΤΗΣ ΣΗΜΑΣΙΟΛΟΓΙΑΣ (SYNTACTIC-ON-SEMANTICS)...78 4.3 ΣΤΡΑΤΗΓΙΚΗ ΒΑΣΙΣΜΕΝΗ ΣΤΗΝ ΟΜΟΙΟΤΗΤΑ ΚΕΙΜΕΝΟΥ ΤΗΣ ΟΝΟΜΑΤΟΛΟΓΙΑΣ (SYNTACTIC-ON-SYNTACTICS)...79 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ XIII

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ 4.4 ΥΒΡΙΔΙΚΗ ΣΤΡΑΤΗΓΙΚΗ (HYBRID)...80 4.5 ΣΥΓΚΡΙΣΗ ΜΕ ΆΛΛΕΣ ΜΕΘΟΔΟΥΣ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ...80 4.6 ΑΛΓΟΡΙΘΜΟΣ ΣΥΝΘΕΣΗΣ...82 4.7 ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ...83 ΚΕΦΑΛΑΙΟ 5: ΥΛΟΠΟΙΗΣΗ...89 5.1 ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΤΗΝ ΥΛΟΠΟΙΗΣΗ...91 5.2 ΥΛΟΠΟΙΗΣΗ ΑΛΓΟΡΙΘΜΟΥ ΤΑΥΤΟΠΟΙΗΣΗΣ TOMACO...93 5.3 ΥΛΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ ΣΥΝΘΕΣΗΣ ΣΤΟ TOMACO... 102 5.4 ΥΛΟΠΟΙΗΣΗ ΛΟΙΠΩΝ ΛΕΙΤΟΥΡΓΙΩΝ ΤΗΣ WEB ΕΦΑΡΜΟΓΗΣ TOMACO... 104 ΚΕΦΑΛΑΙΟ 6: ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ... 117 ΠΑΡΑΡΤΗΜΑ I: ΑΝΑΦΟΡΕΣ... 121 ΠΑΡΑΡΤΗΜΑ II: ΑΚΡΩΝΥΜΑ... 129 XIV ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΕΙΣΑΓΩΓΗ Λ Ι Σ ΤΑ Σ Χ Η Μ ΑΤ Ω Ν ΕΙΚΟΝΑ 1: ΓΡΑΦΟΣ ΤΩΝ STATEMENTS ΤΗΣ RDF... 29 ΕΙΚΟΝΑ 2: RDF/XML ΚΩΔΙΚΑΣ... 30 ΕΙΚΟΝΑ 3: ΤΟ ΣΤΟΙΧΕΙΟ TYPES... 33 ΕΙΚΟΝΑ 4: ΤΟ ΣΤΟΙΧΕΙΟ MESSAGE... 33 ΕΙΚΟΝΑ 5: ΤΟ ΣΤΟΙΧΕΙΟ OPERATION... 34 ΕΙΚΟΝΑ 6: ΤΟ ΣΤΟΙΧΕΙΟ BINDING... 34 ΕΙΚΟΝΑ 7: ΤΟ ΣΤΟΙΧΕΙΟ PORT... 34 ΕΙΚΟΝΑ 8: ΤΟ ΣΤΟΙΧΕΙΟ SERVICE... 35 ΕΙΚΟΝΑ 9: ΕΠΙΣΗΜΑΝΣΗ ΤΟΥ INTERFACE... 36 ΕΙΚΟΝΑ 10: ΕΠΙΣΗΜΑΝΣΗ ΤΟΥ OPERATION... 36 ΕΙΚΟΝΑ 11: ΕΠΙΣΗΜΑΝΣΗ ΤΟΥ FAULT... 36 ΕΙΚΟΝΑ 12: ΕΠΙΣΗΜΑΝΣΗ ΤΟΥ SIMPLETYPE... 36 ΕΙΚΟΝΑ 13: ΕΠΙΣΗΜΑΝΣΗ ΧΑΜΗΛΟΥ ΕΠΙΠΕΔΟΥ ΤΟΥ COMPLEXTYPE... 37 ΕΙΚΟΝΑ 14: ΕΠΙΣΗΜΑΝΣΗ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ ΤΟΥ COMPLEXTYPE... 37 ΕΙΚΟΝΑ 15: ΕΠΙΣΗΜΑΝΣΗ ΤΟΥ ELEMENT... 37 ΕΙΚΟΝΑ 16: ΕΠΙΣΗΜΑΝΣΗ ΤΟΥ ATTRIBUTE... 37 ΕΙΚΟΝΑ 17: SCHEMA MAPPING... 38 ΕΙΚΟΝΑ 18: Η ATOMIC PROCESS ΤΗΣ OWL-S... 39 ΕΙΚΟΝΑ 19: Η ΥΠΟΔΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ TOMACO ΜΕ ΤΙΣ ΑΠΟΘΗΚΕΣ, ΤΙΣ ΜΗΧΑΝΕΣ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΤΙΣ ΑΛΛΗΛΕΠΙΔΡΑΣΕΙΣ ΤΩΝ ΧΡΗΣΤΩΝ... 57 ΕΙΚΟΝΑ 20: ΑΡΧΙΚΗ ΣΕΛΙΔΑ... 58 ΕΙΚΟΝΑ 21: ΣΕΛΙΔΑ ΠΛΗΡΟΦΟΡΙΩΝ (ABOUT)... 59 ΕΙΚΟΝΑ 22: ΠΛΗΡΟΦΟΡΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ... 59 ΕΙΚΟΝΑ 23: ΦΟΡΜΑ ΕΙΣΟΔΟΥ ΧΡΗΣΤΗ... 60 ΕΙΚΟΝΑ 24: ΔΗΜΙΟΥΡΓΙΑ ΛΟΓΑΡΙΑΣΜΟΥ ΧΡΗΣΤΗ... 60 ΕΙΚΟΝΑ 25: ΑΠΟΣΥΝΔΕΣΗ ΧΡΗΣΤΗ... 61 ΕΙΚΟΝΑ 26: ΑΠΟΘΗΚΗ ΥΠΗΡΕΣΙΩΝ... 61 ΕΙΚΟΝΑ 27: ΕΠΙΛΟΓΗ ΣΥΛΛΟΓΗΣ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΦΟΡΤΩΣΗ ΜΕΤΑΔΕΔΟΜΕΝΩΝ... 62 ΕΙΚΟΝΑ 28: ΕΜΦΑΝΙΣΗ ΥΠΗΡΕΣΙΩΝ ΤΗΣ ΣΥΛΛΟΓΗΣ... 62 ΕΙΚΟΝΑ 29: ΔΕΝΤΡΟ ΤΗΣ ΥΠΗΡΕΣΙΑΣ... 63 ΕΙΚΟΝΑ 30: ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΣΥΛΛΟΓΗΣ ΥΠΗΡΕΣΙΩΝ... 64 ΕΙΚΟΝΑ 31: ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΥΠΗΡΕΣΙΑΣ... 64 ΕΙΚΟΝΑ 32: ΑΠΟΘΗΚΗ ΟΝΤΟΛΟΓΙΩΝ... 65 ΕΙΚΟΝΑ 33: ΕΜΦΑΝΙΣΗ ΜΕΤΑΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΕΝΤΡΟΥ ΟΝΤΟΛΟΓΙΑΣ... 66 ΕΙΚΟΝΑ 34: ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΟΝΤΟΛΟΓΙΑΣ... 66 ΕΙΚΟΝΑ 35: ΦΟΡΜΑ ΕΡΩΤΗΜΑΤΟΣ ΤΑΥΤΟΠΟΙΗΣΗΣ... 67 ΕΙΚΟΝΑ 36: ΕΠΙΛΟΓΗ ΣΤΡΑΤΗΓΙΚΗΣ... 67 ΕΙΚΟΝΑ 37: ΕΠΙΛΟΓΗ ΣΥΛΛΟΓΗΣ... 68 ΕΙΚΟΝΑ 38: ΕΠΙΛΟΓΗ ΟΝΤΟΛΟΓΙΑΣ... 68 ΕΙΚΟΝΑ 39: ΕΚΤΕΛΕΣΗ ΕΡΩΤΗΜΑΤΟΣ... 69 ΕΙΚΟΝΑ 40: ΠΙΝΑΚΑΣ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ... 69 ΕΙΚΟΝΑ 41: ΕΜΦΑΝΙΣΗ ΑΙΤΙΟΛΟΓΗΣΗΣ ΑΠΟΤΕΛΕΣΜΑΤΟΣ (REASONS)... 70 ΕΙΚΟΝΑ 42: ΦΟΡΜΑ ΕΡΩΤΗΜΑΤΟΣ ΣΥΝΘΕΣΗΣ... 71 ΕΙΚΟΝΑ 43: ΕΚΤΕΛΕΣΗ ΕΡΩΤΗΜΑΤΟΣ ΣΥΝΘΕΣΗΣ... 71 ΕΙΚΟΝΑ 44: ΠΙΝΑΚΑΣ ΑΠΟΤΕΛΕΣΜΑΤΩΝ... 72 ΕΙΚΟΝΑ 45: DFS ΔΙΑΣΧΙΣΗ ΤΟΥ WSDL ΔΕΝΤΡΟΥ ΓΙΑ ΕΞΑΓΩΓΗ ΤΗΣ ΣΗΜΑΣΙΟΛΟΓΙΑΣ... 76 ΕΙΚΟΝΑ 46: Η ΣΥΝΑΡΤΗΣΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΤΟΥ TOMACO ΕΞΑΓΕΙ ΜΕ DFS ΤΗ ΣΗΜΑΣΙΟΛΟΓΙΑ, ΒΑΘΜΟΛΟΓΕΙ ΒΑΣΙΣΜΕΝΗ ΣΤΗ ΛΟΓΙΚΗ ΚΑΙ ΕΦΑΡΜΟΖΕΙ ΒΑΡΗ... 77 ΕΙΚΟΝΑ 47: ΒΑΘΜΟΛΟΓΗΣΗ ΤΗΣ ΒΑΣΙΣΜΕΝΗΣ ΣΤΗ ΛΟΓΙΚΗ ΣΤΡΑΤΗΓΙΚΗΣ... 78 ΕΙΚΟΝΑ 48: MACRO-AVERAGING PRECISION ΓΙΑ ΟΛΕΣ ΤΙΣ ΠΑΡΑΛΛΑΓΕΣ... 85 ΕΙΚΟΝΑ 49: MACRO-AVERAGING PRECISION ΤΟΥ ΥΒΡΙΔΙΚΟΥ TOMACO ΕΝΑΝΤΙ ΑΛΛΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΤΑ SAWSDL-TC 1,3... 85 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ XV

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ ΕΙΚΟΝΑ 50: F-MEASURE ΓΙΑ ΟΛΕΣ ΤΙΣ ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΠΑΡΑΛΛΑΓΕΣ... 85 ΕΙΚΟΝΑ 51: MACRO-AVERAGING PRECISION ΤΟΥ ΥΒΡΙΔΙΚΟΥ TOMACO ΕΝΑΝΤΙ ΑΛΛΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΤΟ SAWSDL-TC 3... 85 ΕΙΚΟΝΑ 52: ΣΥΓΚΡΙΣΗ ΤΗΣ ΛΟΓΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΜΕ ΚΑΙ ΧΩΡΙΣ EQUAL CLASSES... 86 ΕΙΚΟΝΑ 53: ΔΟΜΗ ΤΟΥ PROJECT TOMACO... 91 ΕΙΚΟΝΑ 54: ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ TOMACO... 93 ΕΙΚΟΝΑ 55: ΚΩΔΙΚΑΣ JQUERY ΓΙΑ ΤΟ ΠΑΤΗΜΑ ΤΟΥ ΚΟΥΜΠΙΟΥ ΤΑΥΤΟΠΟΙΗΣΗΣ... 94 ΕΙΚΟΝΑ 56: Η ΣΥΝΑΡΤΗΣΗ DISCOVER... 94 ΕΙΚΟΝΑ 57: ΠΕΡΑΣΜΑ ΤΩΝ ΠΑΡΑΜΕΤΡΩΝ ΤΟΥ ΕΡΩΤΗΜΑΤΟΣ ΣΤΟ SERVLET... 95 ΕΙΚΟΝΑ 58: ΔΗΜΙΟΥΡΓΙΑ ΤΩΝ REASONERS ΓΙΑ ΚΑΘΕ ΟΝΤΟΛΟΓΙΑ ΤΩΝ ΕΙΣΟΔΩΝ/ΕΞΟΔΩΝ... 95 ΕΙΚΟΝΑ 59: Η ΣΥΝΑΡΤΗΣΗ CHECKONTREASONING... 96 ΕΙΚΟΝΑ 60: ΣΥΝΔΕΣΗ ΜΕ ΤΗ ΒΑΣΗ ΚΑΙ ΣΥΓΚΕΝΤΡΩΣΗ ΠΡΟΣΦΕΡΟΜΕΝΩΝ ΕΙΣΟΔΩΝ/ΕΞΟΔΩΝ... 96 ΕΙΚΟΝΑ 61: ΒΑΘΜΟΛΟΓΗΣΗ ΤΟΥ OPERATION... 97 ΕΙΚΟΝΑ 62: ΚΛΑΣΗ DBADMIN, ΥΠΕΥΘΥΝΗ ΓΙΑ ΤΗ ΣΥΝΔΕΣΗ ΜΕ ΤΗ ΒΑΣΗ... 97 ΕΙΚΟΝΑ 63: Η ΣΥΝΑΡΤΗΣΗ RATE EXACT... 98 ΕΙΚΟΝΑ 64: Η ΣΥΝΑΡΤΗΣΗ RATE DESIRED/LESSDESIRED... 98 ΕΙΚΟΝΑ 65: Η ΣΥΝΑΡΤΗΣΗ RATE LESSDESIRED/DESIRED... 99 ΕΙΚΟΝΑ 66: ΦΙΛΤΡΑΡΙΣΜΑ ΜΕ ΧΡΗΣΗ ΚΑΤΩΦΛΙΟΥ ΚΑΙ ΕΠΙΣΤΡΟΦΗ ΤΑΞΙΝΟΜΗΜΕΝΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ... 99 ΕΙΚΟΝΑ 67: Η ΣΥΝΑΡΤΗΣΗ PROCESSDISCOVERYREQUEST... 100 ΕΙΚΟΝΑ 68: Η ΣΥΝΑΡΤΗΣΗ RATE ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ SYNTACTIC-ON-SEMANTICS... 101 ΕΙΚΟΝΑ 69: Η ΣΥΝΑΡΤΗΣΗ RATE ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ SYNTACTIC-ON-SYNTACTICS... 101 ΕΙΚΟΝΑ 70: Η ΣΥΝΑΡΤΗΣΗ RATE ΤΗΣ ΥΒΡΙΔΙΚΗΣ ΣΤΡΑΤΗΓΙΚΗΣ... 101 ΕΙΚΟΝΑ 71: ΣΥΓΚΕΝΤΡΩΣΗ ΤΩΝ ΠΡΟΣΦΕΡΟΜΕΝΩΝ ΕΙΣΟΔΩΝ/ΕΞΟΔΩΝ... 102 ΕΙΚΟΝΑ 72: ΔΗΜΙΟΥΡΓΙΑ ACTION ΓΙΑ ΚΑΘΕ OPERATION... 103 ΕΙΚΟΝΑ 73: ΟΡΙΣΜΟΣ ΤΟΥ PROBLEM ΚΑΙ ΕΠΙΛΟΓΗ ΣΧΕΔΙΑΣΤΗ ΕΝΕΡΓΕΙΩΝ... 103 ΕΙΚΟΝΑ 74: ΕΥΡΕΣΗ ΠΛΑΝΟΥ ΚΑΙ ΕΚΤΥΠΩΣΗ ΤΟΥ... 104 ΕΙΚΟΝΑ 75: ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ... 104 ΕΙΚΟΝΑ 76: ΣΥΝΔΕΣΗ ΧΡΗΣΤΗ... 105 ΕΙΚΟΝΑ 77: ΔΗΜΙΟΥΡΓΙΑ ΝΕΑΣ ΣΥΛΛΟΓΗΣ... 106 ΕΙΚΟΝΑ 78: ΕΙΣΑΓΩΓΗ ΥΠΗΡΕΣΙΑΣ ΜΕΣΩ ΣΥΝΔΕΣΜΟΥ... 106 ΕΙΚΟΝΑ 79: ΕΙΣΑΓΩΓΗ ΤΩΝ OPERATION ΚΑΙ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΤΟΥΣ ΣΤΗ ΒΑΣΗ... 107 ΕΙΚΟΝΑ 80: ΑΝΑΖΗΤΗΣΗ ΤΩΝ PARTS ΤΟΥ OPERATION... 108 ΕΙΚΟΝΑ 81: ΈΛΕΓΧΟΣ ΤΩΝ PARTS... 108 ΕΙΚΟΝΑ 82: ΠΡΟΣΘΕΤΗ ΣΥΝΑΡΤΗΣΗ ΓΙΑ ΑΝΑΚΤΗΣΗ ΤΩΝ TYPES ΑΠΟ ΤΑ PARTS... 109 ΕΙΚΟΝΑ 83: ΈΛΕΓΧΟΣ ΤΩΝ ELEMENTS... 109 ΕΙΚΟΝΑ 84: ΈΛΕΓΧΟΣ ΤΩΝ TYPES... 110 ΕΙΚΟΝΑ 85: ΈΛΕΓΧΟΣ ΤΩΝ COMPLEXTYPES... 110 ΕΙΚΟΝΑ 86: ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΥΠΗΡΕΣΙΑΣ ΑΠΟ ΑΡΧΕΙΟ... 111 ΕΙΚΟΝΑ 87: ΛΗΨΗ ΠΛΗΡΟΦΟΡΙΩΝ ΣΥΛΛΟΓΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ ΤΗΣ... 111 ΕΙΚΟΝΑ 88: ΣΧΗΜΑΤΙΣΜΟΣ ΤΗΣ JSON ΣΥΜΒΟΛΟΣΕΙΡΑΣ ΓΙΑ ΤΟ ΔΕΝΤΡΟ ΤΩΝ ΣΤΟΙΧΕΙΩΝ WSDL... 112 ΕΙΚΟΝΑ 89: Η ΑΝΑΔΡΟΜΙΚΗ ΣΥΝΑΡΤΗΣΗ FINDCHILDREN... 113 ΕΙΚΟΝΑ 90: ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΟΝΤΟΛΟΓΙΑΣ ΜΕΣΩ ΣΥΝΔΕΣΜΟΥ... 113 ΕΙΚΟΝΑ 91: ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΟΝΤΟΛΟΓΙΑΣ ΑΠΟ ΑΡΧΕΙΟ... 114 ΕΙΚΟΝΑ 92: ΛΗΨΗ ΠΛΗΡΟΦΟΡΙΩΝ ΟΝΤΟΛΟΓΙΑΣ ΑΠΟ ΤΗ ΒΑΣΗ... 114 ΕΙΚΟΝΑ 93: ΣΧΗΜΑΤΙΣΜΟΣ ΤΗΣ JSON ΣΥΜΒΟΛΟΣΕΙΡΑΣ ΓΙΑ ΤΟ ΔΕΝΤΡΟ ΤΩΝ ΚΛΑΣΕΩΝ... 115 ΕΙΚΟΝΑ 94: ΑΝΑΔΡΟΜΙΚΗ ΣΥΝΑΡΤΗΣΗ FINDCHILDREN ΓΙΑ ΔΕΝΤΡΟ ΚΛΑΣΕΩΝ... 115 XVI ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΛΙΣΤΑ ΠΙΝΑΚΩΝ Λ Ι Σ ΤΑ Π Ι Ν Α Κ Ω Ν ΠΙΝΑΚΑΣ 1: ΣΥΓΚΡΙΣΗ ΑΛΓΟΡΙΘΜΩΝ ΩΣ ΠΡΟΣ ΕΤΟΣ ΚΑΙ ΓΛΩΣΣΑ... 47 ΠΙΝΑΚΑΣ 2: ΣΥΓΚΡΙΣΗ ΑΛΓΟΡΙΘΜΩΝ ΩΣ ΠΡΟΣ ΤΗ ΣΤΡΑΤΗΓΙΚΗ... 48 ΠΙΝΑΚΑΣ 3: ΣΥΓΚΡΙΣΗ ΣΥΣΤΗΜΑΤΩΝ ΣΥΝΘΕΣΗΣ... 51 ΠΙΝΑΚΑΣ 4: MEAN AVERAGE PRECISION ΓΙΑ ΤΙΣ ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΠΑΡΑΛΛΑΓΕΣ... 86 ΠΙΝΑΚΑΣ 5: ΧΡΟΝΟΙ ΚΑΘΕ ΣΤΡΑΤΗΓΙΚΗΣ... 86 ΠΙΝΑΚΑΣ 6: MEAN AVERAGE PRECISION ΚΑΙ ΧΡΟΝΟΙ ΤΟΥ ΥΒΡΙΔΙΚΟΥ TOMACO ΣΕ ΣΥΓΚΡΙΣΗ ΜΕ ΑΛΛΑ ΣΥΣΤΗΜΑΤΑ ΣΕ ΔΙΑΦΟΡΑ ΣΥΝΟΛΑ ΔΕΔΟΜΕΝΩΝ... 87 ΠΙΝΑΚΑΣ 7: MEAN AVERAGE PRECISION ΚΑΙ ΜΕΣΟΙ ΧΡΟΝΟΙ ΑΝΑ ΕΡΩΤΗΜΑ ΤΟΥ ΥΒΡΙΔΙΚΟΥ TOMACO ΣΕ ΣΥΓΚΡΙΣΗ ΜΕ ΑΛΛΑ ΣΥΣΤΗΜΑΤΑ ΣΤΟ TC 3... 88 ΠΙΝΑΚΑΣ 8: ΒΙΒΛΙΟΘΗΚΕΣ, ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝΤΑΙ ΣΤΟ TOMACO... 92 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ XVII

Κ Ε Φ Α Λ Α Ι Ο 1 : Ε Ι Σ Α Γ Ω Γ Η

ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΕΙΣΑΓΩΓΗ Το αντικείμενο της παρούσας εργασίας είναι η ταυτοποίηση και η σύνθεση Σημασιολογικών Υπηρεσιών Ιστού. Αρχικά, ας παρουσιαστούν οι βασικές έννοιες, ώστε να γίνει πιο κατανοητό το θέμα της εργασίας. Ο Παγκόσμιος Ιστός είναι ένα σύστημα διασυνδεδεμένων υπερκειμένων, προσβάσιμων από το διαδίκτυο. Στα πρώτα στάδιά του (Web 1.0) οι χρήστες μπορούσαν να επισκεφτούν ιστοσελίδες με στατικό περιεχόμενο και να πλοηγηθούν μέσω υπερσυνδέσμων. Χάρη στη δημοτικότητά του, το στατικό περιεχόμενο των ιστοσελίδων μετατράπηκε σε δυναμικό και η αλληλοεπίδραση μεταξύ των χρηστών οδήγησε στη δημιουργία διαδικτυακών κοινοτήτων (Web 2.0). Ο Σημασιολογικός Ιστός (Web 3.0) αποτελεί μια επέκταση του ήδη υπάρχοντος Ιστού με στόχο τον ορισμό μιας δομής γύρω από τη σημασία του περιεχομένου των ιστοσελίδων, ώστε οι μηχανές να καταλαβαίνουν τα δεδομένα, που τώρα απλά παρουσιάζονται, και να συνεργάζονται. Για την υλοποίηση του Σημασιολογικού Ιστού μπορούν να οριστούν τέσσερις βασικές τεχνολογίες: τα αναγνωριστικά (Universal Resource Identifiers ή URIs), που χρησιμοποιούνται για τον προσδιορισμό αντικειμένων στο διαδίκτυο, τη γλώσσα σήμανσης XML, που περιλαμβάνει ετικέτες για τη δομή ενός αρχείου, τις οντολογίες, που ορίζουν επίσημα τις σχέσεις μεταξύ όρων, και τους πράκτορες, προγράμματα, που συλλέγουν περιεχόμενο του Ιστού από διαφορετικές πηγές, επεξεργάζονται την πληροφορία και ανταλλάσσουν αποτελέσματα με άλλα προγράμματα. Μαζί με τον Σημασιολογικό Ιστό συχνά αναφέρεται ο πλέον διαδεδομένος όρος «Υπηρεσίες Ιστού». Γενικά, μια Υπηρεσία Ιστού μπορεί να θεωρηθεί ως μια εφαρμογή, η οποία είναι προσβάσιμη από άλλες εφαρμογές του διαδικτύου. Ειδικότερα, είναι μια εφαρμογή λογισμικού προσδιορισμένη από ένα URI, της οποίας οι διεπαφές και συνδέσεις μπορούν να οριστούν, να περιγραφούν και να ταυτοποιηθούν ως αντικείμενα XML. Το όραμα του Σημασιολογικού Ιστού περιλαμβάνει υπηρεσίες, οι οποίες θα κωδικοποιούνται με τέτοιο τρόπο, ώστε να γίνονται κατανοητές από τις μηχανές. Για αυτό τον λόγο, είναι αναγκαία η κατασκευή σημασιολογικών εκδόσεων των Υπηρεσιών Ιστού, που γίνονται αντιληπτές από λογισμικά, ώστε να επιτρέπονται αυτόματα η ταυτοποίηση (matching/discovery), η εκτέλεση, η σύνθεση (composition) και η διαλειτουργικότητά τους. Αυτές είναι οι Σημασιολογικές Υπηρεσίες Ιστού. Η ταυτοποίηση περιλαμβάνει την αυτόματη εύρεση Υπηρεσιών Ιστού, που προσφέρουν μια συγκεκριμένη υπηρεσία και που ανταποκρίνονται σε κάποια ζητούμενα χαρακτηριστικά. Η σύνθεση, από την άλλη, αναφέρεται στην πραγματοποίηση μιας υπηρεσίας καλώντας μια σειρά άλλων υπηρεσιών. Όσον αφορά το κομμάτι της ταυτοποίησης, η εργασία προτείνει έναν αλγόριθμο, ο οποίος αποτελείται από τέσσερις παραλλαγές: τη βασισμένη στη λογική στρατηγική, τη βασισμένη στην ομοιότητα κειμένου της ονοματολογίας, τη βασισμένη στην ομοιότητα κειμένου της σημασιολογίας και την υβριδική στρατηγική. Εκτενή πειράματα σε ένα γνωστό σύνολο ελέγχου αποδεικνύουν την υπεροχή της υβριδικής στρατηγικής έναντι των άλλων παραλλαγών. Επιπλέον, αυτή η στρατηγική υπερέχει άλλων συστημάτων της βιβλιογραφίας στο ίδιο σύνολο ελέγχου, ενώ φαίνεται να είναι και η πιο γρήγορη μέθοδος. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 21

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Σχετικά με τη σύνθεση υπηρεσιών, δεν προτείνεται κάποια καινοτομία, αλλά παρουσιάζεται ένας αλγόριθμος μετατροπής του προβλήματος της σύνθεσης σε πρόβλημα σχεδιασμού ενεργειών, το οποίο επιλύεται από έναν έτοιμο σχεδιαστή. Λόγω έλλειψης δεδομένων ελέγχου, δεν πραγματοποιήθηκε κάποια πειραματική αξιολόγηση. Τόσο η ταυτοποίηση, όσο και η σύνθεση υπηρεσιών ενσωματώνονται σε μια web εφαρμογή ονόματι Tomaco (Tool for Matching and Composition). Η εφαρμογή, πέρα από τη δυνατότητα υποβολής ερωτημάτων ταυτοποίησης και σύνθεσης Υπηρεσιών Ιστού, υποστηρίζει τη δημιουργία χρηστών και την αποθήκευση οντολογιών και υπηρεσιών. Η εργασία δομείται σε κεφάλαια ως εξής: Στο Κεφάλαιο 2 επεξηγούνται βασικοί όροι του τομέα και παρουσιάζεται η σχετική βιβλιογραφία. Το υποκεφάλαιο 2.1 αναφέρεται στο Σημασιολογικό Ιστό και τις οντολογίες, αναπτύσσοντας μάλιστα δύο γλώσσες οντολογιών, την RDF και την OWL. Το επόμενο υποκεφάλαιο παρουσιάζει τις Υπηρεσίες Ιστού και αναλύει τη γλώσσα WSDL για την περιγραφή τους. Το υποκεφάλαιο 2.3 αφορά τις Σημασιολογικές Υπηρεσίες Ιστού και αναπτύσσει τις γλώσσες SAWSDL, OWL-S και WSMO. Στη συνέχεια, στο 2.4 αναλύονται και συγκρίνονται συστήματα της βιβλιογραφίας σχετικά με την ταυτοποίηση, ενώ στο 2.5 παρουσιάζονται δύο online αποθήκες Υπηρεσιών Ιστού, τα OPOSSum και BioCatalogue. Στο 2.6 γίνεται μια παρουσίαση διαφόρων συστημάτων, που ασχολούνται με τη σύνθεση υπηρεσιών. Στο Κεφάλαιο 3 γίνεται μια αναλυτική παρουσίαση της διαδικτυακής εφαρμογής Tomaco. Αρχικά, περιγράφεται η αρχιτεκτονική του συστήματος, ενώ στη συνέχεια προβάλλονται με λογική σειρά όλες οι λειτουργίες του, συνοδεία εικόνων, και προτείνονται κάποια απλά σενάρια χρήσης. Αναλυτικότερα, το υποκεφάλαιο 3.2 αναφέρεται στις γενικές λειτουργίες του Tomaco, π.χ. τη δημιουργία λογαριασμού χρήστη, το 3.3 στην αποθήκη υπηρεσιών, το 3.4 στην αποθήκη οντολογιών, το 3.5 στην εφαρμογή ταυτοποίησης και το 3.6 στην εφαρμογή σύνθεσης. Στο Κεφάλαιο 4 παρουσιάζονται οι αλγόριθμοι ταυτοποίησης και σύνθεσης Υπηρεσιών Ιστού του συστήματος. Στα υποκεφάλαια 4.1-4.4 επεξηγούνται λεπτομερώς οι τέσσερις στρατηγικές του αλγορίθμου ταυτοποίησης, ενώ στο 4.5 γίνεται μια σύγκρισή τους με άλλα συστήματα, που αναφέρθηκαν στο υποκεφάλαιο 2.4. Στο 4.6 περιγράφεται ο αλγόριθμος σύνθεσης. Στο 4.7 παρουσιάζονται τα αποτελέσματα των πειραμάτων για τη σύγκριση των τεσσάρων στρατηγικών ταυτοποίησης μεταξύ τους και της υβριδικής με συστήματα της βιβλιογραφίας. Η αξιολόγηση στρέφεται προς διάφορα μέτρα ακρίβειας (αποτελεσματικότητα) και τον χρόνο (απόδοση). Στο Κεφάλαιο 5 παρουσιάζεται η υλοποίηση του συστήματος, δηλαδή οι τεχνολογίες, που χρησιμοποιήθηκαν, και κάποια τμήματα του κώδικα. Το πρώτο υποκεφάλαιο αφορά γενικές πληροφορίες σχετικά με την υλοποίηση, όπως τα μέρη του project, που κατασκευάστηκε, τις βιβλιοθήκες, που αξιοποιήθηκαν, και το σχήμα βάσης δεδομένων, που χρησιμοποιείται. Το δεύτερο υποκεφάλαιο αφορά την υλοποίηση του αλγορίθμου ταυτοποίησης, το τρίτο τον αλγόριθμο σύνθεσης και το τελευταίο όλες τις υπόλοιπες λειτουργίες της εφαρμογής. Στο 6 ο και τελευταίο Κεφάλαιο προκύπτουν κάποια συμπεράσματα για τον αλγόριθμο και για το γενικότερο αντικείμενο της ταυτοποίησης και της σύνθεσης υπηρεσιών. Επιπλέον, ορίζονται κάποιοι στόχοι σχετικά με μελλοντική εργασία 22 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ πάνω στο συγκεκριμένο πρόβλημα και κάποιες ιδέες για επέκταση των δυνατοτήτων του αλγορίθμου και της εφαρμογής, που προτείνονται. Στο Παράρτημα I παρουσιάζεται η βιβλιογραφία με τη σειρά, που αναφέρεται στην εργασία. Στο Παράρτημα IΙ παρουσιάζονται τα ακρωνύμια, τα οποία χρησιμοποιούνται σε αυτή την εργασία για τη διευκόλυνση του αναγνώστη. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 23

Κ Ε Φ Α Λ Α Ι Ο 2 : Α Ν Α Σ Κ Ο Π Η Σ Η Τ Η Σ Β Ι Β Λ Ι Ο Γ Ρ Α Φ Ι Α Σ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ Σε αυτή την ενότητα παρουσιάζονται βασικές έννοιες, που είναι αναγκαίες για την ευρύτερη κατανόηση του θέματος. Εξηγούνται διάφοροι ορισμοί, όπως τι είναι Σημασιολογικός Ιστός, οντολογίες, Υπηρεσίες Ιστού και Σημασιολογικές Υπηρεσίες Ιστού. Στη συνέχεια, παρουσιάζονται βιβλιογραφικές εργασίες σχετικά με την ταυτοποίηση, την αποθήκευση και τη σύνθεση υπηρεσιών. 2.1 ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΟΝΤΟΛΟΓΙΕΣ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Ο Παγκόσμιος Ιστός (World Wide Web ή σύντομα web) είναι ένα σύστημα διασυνδεδεμένων υπερκειμένων, προσβάσιμων από το διαδίκτυο. Κατά τα πρώτα στάδιά του, που ορίζονται ως Web 1.0, οι χρήστες μπορούσαν να επισκεφτούν ιστοσελίδες, οι οποίες περιλάμβαναν κείμενο, εικόνες, βίντεο και άλλα πολυμέσα, και να πλοηγηθούν μεταξύ αυτών μέσω υπερσυνδέσμων. Η δημοτικότητα του Ιστού οδήγησε στην επόμενη έκδοσή του, αυτή του Web 2.0. Δίνοντας τη δυνατότητα στους χρήστες να συμμετέχουν ενεργά προσφέροντας το δικό τους υλικό, το στατικό περιεχόμενο των ιστοσελίδων μετατράπηκε σε δυναμικό και η αλληλοεπίδραση μεταξύ των χρηστών επέφερε τη δημιουργία διαδικτυακών κοινοτήτων. Σήμερα κυρίαρχες εφαρμογές είναι τα κοινωνικά δίκτυα, τα blogs και οι ιστότοποι διαμοιρασμού πολυμεσικού υλικού, που κάνουν εμφανή τον κοινωνικό πλέον χαρακτήρα του Ιστού. Προσπαθώντας να δώσει τον ορισμό του Σημασιολογικού Ιστού στην εργασία [1], ο Tim Berners-Lee ξεκινάει με μια αναφορά στο πρόβλημα ότι το μεγαλύτερο μέρος του περιεχομένου του Ιστού είναι σχεδιασμένο έτσι ώστε να αναγνωρίζεται από τους ανθρώπους, ενώ οι υπολογιστές αδυνατούν να το χειριστούν. Οι υπολογιστές δηλαδή έχουν την ικανότητα να αναλύουν ιστοσελίδες εντοπίζοντας σχεδιαστικά στοιχεία (π.χ. υπερσυνδέσμους για άλλες σελίδες), αλλά δεν υπάρχει αξιόπιστος τρόπος για να αντιληφθούν τη σημασία του περιεχομένου τους. Ο Σημασιολογικός Ιστός ή αλλιώς Web 3.0 δημιουργήθηκε με στόχο να ορίσει μια δομή γύρω από τη σημασία του περιεχομένου των ιστοσελίδων. Δεν είναι ένας νέος, ξεχωριστός Ιστός, αλλά αποτελεί μια επέκταση του ήδη υπάρχοντος, όπου το νόημα της πληροφορίας είναι σαφώς ορισμένο και οι υπολογιστές μπορούν να συνεργαστούν είτε με τους χρήστες είτε μεταξύ τους. Το πρώτο στάδιο είναι η δόμηση της σημασιολογίας του περιεχομένου, που διατίθεται ήδη στον Ιστό, και απώτερος στόχος να αποκτήσουν οι μηχανές τη σημαντική λειτουργία του να καταλαβαίνουν τα δεδομένα, που τώρα απλά παρουσιάζονται στις ιστοσελίδες. Μέχρι σήμερα ο Ιστός έχει αναπτυχθεί με ταχείς ρυθμούς σε ένα μέσο διάθεσης κειμένων για ανθρώπους, παρά δεδομένων και πληροφορίας, που μπορούν να επεξεργαστούν αυτόματα. Ο Σημασιολογικός Ιστός στοχεύει στη διόρθωση αυτού του προβλήματος και θέτει την πρόκληση για μια γλώσσα, που να εκφράζει δεδομένα, αλλά και κανόνες για συλλογισμό (reasoning) γύρω από τα δεδομένα. Επίσης, αυτή η γλώσσα θα πρέπει να επιτρέπει την εξαγωγή κανόνων από κάθε υπάρχον σύστημα αναπαράστασης γνώσης στον Ιστό. Για την υλοποίηση λοιπόν του Σημασιολογικού ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 27

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Ιστού μπορούν να οριστούν τέσσερις βασικές τεχνολογίες, που αναλύονται στις επόμενες παραγράφους. Πρώτο εργαλείο αποτελούν τα αναγνωριστικά, γνωστά ως Universal Resource Identifiers ή URIs. Χρησιμοποιούνται για τον προσδιορισμό αντικειμένων στο διαδίκτυο, με πιο γνωστά τα Universal Resource Locators (URLs), που προσδιορίζουν τη διεύθυνση μιας ιστοσελίδας. Ένα URL αποτελείται από τρία μέρη: τον υπολογιστή ή τη διεύθυνση διαδικτύου (domain), όπου βρίσκεται η ιστοσελίδα, το directory και το όνομα της σελίδας ή του αρχείου, που διατίθεται online. Τα URIs ορίζονται με τον ίδιο τρόπο, αλλά δε χρησιμοποιούνται ως διεύθυνση μιας σελίδας, αλλά ως αναγνωριστικό ενός στοιχείου, που μπορεί να είναι ή να μην είναι διαθέσιμο στο διαδίκτυο. Επόμενη τεχνολογία είναι η γλώσσα σήμανσης XML, δηλαδή extensible Markup Language. Η XML επιτρέπει στον κάθε χρήστη να κατασκευάσει τις δικές του ετικέτες (π.χ. <zipcode>) και να επισημάνει με αυτές ιστοσελίδες ή τμήματα κειμένου σε μια σελίδα. Οι υπολογιστές μπορούν να αξιοποιήσουν την πληροφορία, που δίνουν οι ετικέτες, όμως με την προϋπόθεση ότι γνωρίζουν γιατί τις χρησιμοποίησε ο συγγραφέας της σελίδας. Επομένως, η XML προσφέρει μια δομή σε ένα αρχείο, αλλά δε δίνει καμία πληροφορία σχετικά με το τι σημαίνει αυτή η δομή. Η τρίτη τεχνολογία αφορά τις οντολογίες. Στον τομέα της φιλοσοφίας, ως οντολογία ορίζεται η θεωρία γύρω από τη φύση της ύπαρξης, ενώ στον τομέα της Τεχνητής Νοημοσύνης και του Ιστού η οντολογία είναι ένα αρχείο, που ορίζει επίσημα τις σχέσεις μεταξύ όρων. Για παράδειγμα, μια κοινή έννοια μπορεί να προσδιορίζεται από δύο διαφορετικά αναγνωριστικά. Ένα πρόγραμμα θα πρέπει να γνωρίζει πως οι δύο όροι χρησιμοποιούνται για να εκφράσουν την ίδια ιδέα και εδώ εισάγεται η χρήση της οντολογίας. Μια οντολογία του Ιστού αποτελείται από μία ταξινόμηση και ένα σετ συμπερασματικών κανόνων. Η ταξινόμηση ορίζει κλάσεις αντικειμένων και σχέσεις μεταξύ τους. Οι κλάσεις μπορούν να έχουν ιδιότητες, που τις συνδέουν με άλλες κλάσεις, καθώς και υποκλάσεις, που κληρονομούν αυτές τις ιδιότητες. Η ταξινόμηση καλύπτει την αναπαράσταση της γνώσης, ενώ οι συμπερασματικοί κανόνες παρέχουν μια περαιτέρω χρήση των όρων. Για παράδειγμα, εάν η κλάση κωδικός_πόλης σχετίζεται με την κλάση ταχυδρομικός_κωδικός και η κλάση διεύθυνση χρησιμοποιεί την κλάση κωδικός_πόλης, τότε βγαίνει το συμπέρασμα ότι η διεύθυνση σχετίζεται με τον ταχυδρομικό_κωδικό. Οι οντολογίες μπορούν να ενισχύσουν τις λειτουργίες του Ιστού. Μπορούν να βελτιώσουν την ακρίβεια των μηχανών αναζήτησης, καθώς πραγματοποιείται αναζήτηση σύμφωνα με την ακριβή έννοια και όχι με τη χρήση διφορούμενων λέξεωνκλειδιών. Ακόμη, οι οντολογίες επιτρέπουν σε προγράμματα να απαντούν σε πολύπλοκες ερωτήσεις, των οποίων οι απαντήσεις δε βρίσκονται μόνο σε μία ιστοσελίδα. Δύο βασικές γλώσσες περιγραφής οντολογιών αποτελούν οι RDF και OWL, που θα αναλυθούν λεπτομερώς στη συνέχεια. Τέταρτη και τελευταία τεχνολογία είναι οι πράκτορες. Η πραγματική δύναμη του Σημασιολογικού Ιστού θα πραγματοποιηθεί όταν θα κατασκευαστούν προγράμματα, τα οποία θα συλλέγουν περιεχόμενο του Ιστού από διαφορετικές πηγές, θα επεξεργάζονται την πληροφορία και θα ανταλλάσσουν αποτελέσματα με άλλα προγράμματα. Η αποτελεσματικότητα τέτοιων πρακτόρων λογισμικού θα αυξηθεί εκθετικά όταν καταστεί διαθέσιμο περισσότερο υλικό αναγνώσιμο από μηχανές. Τελικός στόχος είναι ότι πράκτορες, που δε σχεδιάστηκαν μαζί για να δουλεύουν 28 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ συνεργατικά, θα μπορούν να μεταφέρουν δεδομένα μεταξύ τους, όταν αυτά τα δεδομένα θα συνοδεύονται από σημασιολογία. RESOURCE DESCRIPTION FRAMEWORK (RDF) Η RDF είναι η μια από τις δύο γλώσσες οντολογιών, που θα αναφερθούν, και ορίζει ένα πλαίσιο περιγραφής πόρων (Resource Description Framework) [2]. Σκοπός της είναι η αναπαράσταση μεταδεδομένων για πόρους του Ιστού, όπως ο τίτλος, ο συγγραφέας και η ημερομηνία δημιουργίας μιας ιστοσελίδας ή οι πληροφορίες γύρω από τα δικαιώματα ενός διαδικτυακού αρχείου κειμένου. Γενικοποιώντας την έννοια του «πόρου», η RDF μπορεί επίσης να αναπαραστήσει πληροφορία για αντικείμενα, που μπορούν να προσδιοριστούν στον Ιστό, ακόμη και όταν δεν ανακτώνται άμεσα σε αυτόν. Η RDF βασίζεται στην ιδέα του προσδιορισμού αντικειμένων με τη χρήση των URIs και στην ιδέα της περιγραφής των πόρων μέσω απλών ιδιοτήτων. Η RDF μπορεί να αναπαραστήσει απλές προτάσεις (statements) σχετικά με πόρους ως ένα γράφο, όπου οι κόμβοι συμβολίζουν τους πόρους ή τις τιμές και οι ακμές τις ιδιότητες. Για παράδειγμα, το σύνολο των προτάσεων «υπάρχει ένα άτομο, το οποίο έχει όνομα Eric Miller, η ηλεκτρονική του διεύθυνση είναι em@w3.org και ο τίτλος του Dr.» μπορεί να αναπαρασταθεί στο γράφο της RDF, όπως στην εικόνα 1. Εικόνα 1: Γράφος των statements της RDF Παρατηρούμε στην εικόνα ότι η RDF χρησιμοποιεί URIs για να δηλώσει: Οντότητες (π.χ. το άτομο Eric Miller, με το URI http://www.w3.org/people/ EM/contact#me) Είδη αντικειμένων (π.χ. άτομο, με το URI http://www.w3.org/2000/10/swap/ pim/contact#person) Ιδιότητες των αντικειμένων (π.χ. ότι έχει ηλεκτρονική διεύθυνση, με το URI http://www.w3.org/2000/10/swap/pim/contact#mailbox) Τιμές των ιδιοτήτων (π.χ. «Dr.» ως η τιμή του τίτλου του) ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 29

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Πέρα από τη μορφή του γράφου, η RDF προσφέρει ένα συντακτικό βασισμένο στην XML γλώσσα, το RDF/XML. Για παράδειγμα, ο παραπάνω γράφος μπορεί να αντιστοιχηθεί με τον κώδικα, που ακολουθεί. Εικόνα 2: RDF/XML κώδικας Όπως φαίνεται από το παράδειγμα και ειδικά από το γράφο, κάθε ένα statement της RDF ορίζεται ως μία τριπλέτα, η οποία αποτελείται από το υποκείμενο (subject), το κατηγόρημα (predicate) και το αντικείμενο (object). Συγκεκριμένα, η πρόταση «Το πρόσωπο http://www.w3.org/people/em/contact#me έχει τίτλο με τιμή Dr.» μπορεί να αναπαρασταθεί από ένα RDF statement με: υποκείμενο «http://www.w3.org/people/em/contact#me» κατηγόρημα «http://www.w3.org/2000/10/swap/pim/contact#personaltitle» και αντικείμενο «Dr.». Τα αντικείμενα των RDF statements μπορούν να είναι είτε URIs είτε να έχουν σταθερές τιμές, που ονομάζονται literals και αναπαρίστανται από συμβολοσειρές, όπως στο παράδειγμα. Το λεξικό της γλώσσας RDF είναι μια σημασιολογική επέκταση της RDF και ονομάζεται RDF Schema [3]. Η RDF Schema προσφέρει μηχανισμούς για την περιγραφή ομάδων από σχετικούς πόρους και τις σχέσεις μεταξύ αυτών των πόρων. Έτσι ορίζονται οι δύο βασικές έννοιες κλάση (class) και ιδιότητα (property). Κάθε κλάση αποτελείται από μια ομάδα πόρων, ενώ με τη σειρά της θεωρείται και αυτή πόρος. Συχνά οι κλάσεις χαρακτηρίζονται από URI αναφορές, ενώ τα μέλη τους είναι γνωστά ως στιγμιότυπα των κλάσεων. Οι πιο γνωστές κατηγορίες κλάσεων είναι η rdfs:resource, που είναι η υπερκλάση όλων, η rdfs:class, η rdfs:property, η rdfs:statement και η rdfs:literal, των οποίων η χρήση είναι εύκολο να κατανοηθεί σύμφωνα με το όνομά τους. Ο ορισμός της RDF ιδιότητας μπορεί να περιγραφθεί ως η σχέση μεταξύ υποκειμένων και αντικειμένων. Κάθε ιδιότητα αποτελείται από ένα domain και ένα range. Το domain περιορίζει σε ποια στοιχεία μπορεί να εφαρμοστεί η ιδιότητα, ενώ το range περιορίζει τα στοιχεία, τα οποία μπορεί να έχει ως τιμή η ιδιότητα. Δύο σημαντικές ιδιότητες είναι η rdfs:subclassof με domain την rdfs:class και range την rdsf:class και η rdfs:subpropertyof με domain την rdf:property και range την rdf:property. Όπως φαίνεται από αυτές τις δύο, μπορεί να υπάρχει κληρονομικότητα τόσο κλάσεων όσο και ιδιοτήτων. 30 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ WEB ONTOLOGY LANGUAGE (OWL) Η XML έχει την ικανότητα να ορίζει προσαρμοσμένα σχήματα ετικετών και η RDF είναι μια ευέλικτη προσέγγιση στην αναπαράσταση των δεδομένων. Το επόμενο βήμα του Σημασιολογικού Ιστού απαιτεί μια γλώσσα οντολογίας, που να μπορεί να περιγράφει επίσημα τη σημασία των ορολογιών, που χρησιμοποιούνται στα αρχεία του Ιστού. Αν αναμένουμε από τις μηχανές να παράγουν χρήσιμους συλλογισμούς, η γλώσσα θα πρέπει να ξεπερνά τη βασική σημασιολογία της RDF Schema. Σε αυτό το σημείο έρχεται η Web Ontology Language ή OWL [4]. Η OWL παρέχει καλύτερους μηχανισμούς έκφρασης της σημασιολογίας από τις XML, RDF και RDF Schema και επομένως ξεπερνά αυτές τις γλώσσες ως προς την ικανότητα να αναπαριστά διαδικτυακό περιεχόμενο, που να είναι κατανοητό από τις μηχανές. Η OWL εμπλουτίζει το λεξιλόγιο της περιγραφής των κλάσεων και την ιδιοτήτων με νέες σχέσεις και χαρακτηριστικά, που παρουσιάζονται εν συντομία παρακάτω. Η OWL προσφέρει τρεις όλο και πιο εκφραστικές υπογλώσσες, σχεδιασμένες για χρήση από ξεχωριστές κοινότητες χρηστών. Η OWL Lite καλύπτει τους χρήστες, που κατά κύριο λόγο χρειάζονται μια ιεραρχία κατηγοριοποίησης και απλούς περιορισμούς. Έχει τη χαμηλότερη πολυπλοκότητα από τις τρεις. Η OWL DL καλύπτει τους χρήστες, που θέλουν τη μέγιστη δυνατή εκφραστικότητα, διατηρώντας παράλληλα την εγγύηση για υπολογιστική πληρότητα σε πεπερασμένο χρόνο. Η OWL Full προορίζεται για χρήστες, που επιθυμούν μέγιστη εκφραστικότητα και τη συντακτική ελευθερία της RDF, χωρίς εγγύηση για τους υπολογισμούς. Για να παρουσιάσουμε τις διαφορές της OWL σε σχέση με την RDF, θα αναφερθούμε στις προσθήκες μίας εκ των τριών υπογλωσσών, της OWL Lite, που μπορούν να χωριστούν σε πέντε κατηγορίες. Πρώτον, ορίζεται η ισότητα και η ανισότητα. Για παράδειγμα, η ιδιότητα equivalentclass δηλώνει ότι δυο κλάσεις είναι ίσες, ενώ η αντίστοιχη για ιδιότητες είναι η equivalentproperty. Από την άλλη, η differentfrom ορίζει πως ένα στιγμιότυπο είναι διαφορετικό από ένα άλλο. Δεύτερον, προστέθηκαν κάποια χαρακτηριστικά των ιδιοτήτων. Η TransitiveProperty δηλώνει μεταβατικότητα, δηλαδή εάν το ζεύγος (x,y) είναι στιγμιότυπο της μεταβατικής ιδιότητας Ρ και το ζεύγος (y,z) επίσης, τότε το ζεύγος (x,z) είναι και αυτό στιγμιότυπο της Ρ. Άλλα χαρακτηριστικά μπορούν να είναι η SymmetricProperty, η inverseof και άλλες. Τρίτον, προστέθηκαν κάποιοι περιορισμοί για τις ιδιότητες. Η allvaluesfrom δηλώνει πως μια ιδιότητα μπορεί να έχει μόνο συγκεκριμένα αντικείμενα, ενώ η somevaluesfrom να έχει τουλάχιστον ένα αντικείμενο συγκεκριμένου τύπου. Τέταρτον, εισάχθηκε η έννοια του πληθάριθμου. Η mincardinality θέτει πόσα τουλάχιστον αντικείμενα θα έχει η ιδιότητα μιας κλάσης, η maxcardinality πόσα το πολύ και η cardinality για ένα ή κανένα. Τέλος, επιτρέπεται η διατομή κλάσεων και περιορισμών με χρήση της intersectionof. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 31

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ 2.2 ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ Ο όρος «Υπηρεσίες Ιστού» είναι πια διαδεδομένος και συχνά αναφέρεται μαζί με το Σημασιολογικό Ιστό ή τους πράκτορες. Παρόλα αυτά, οι βασικές έννοιες και τεχνολογίες τους μπορούν να ερμηνευτούν με πολλούς τρόπους, καθιστώντας δύσκολο τον ακριβή ορισμό των Υπηρεσιών Ιστού. Ο Gustavo Alonso προσπαθεί στην εργασία [5] να βρει έναν κατάλληλο ορισμό. Πολύ γενικά, μια Υπηρεσία Ιστού μπορεί να θεωρηθεί ως μια εφαρμογή, που είναι προσβάσιμη από άλλες εφαρμογές στο διαδίκτυο. Με αυτόν, όμως, τον ορισμό, μπορεί να αποτελεί Υπηρεσία Ιστού καθετί έχει URL. Ένας πιο ξεκάθαρος ορισμός έχει δοθεί από το W3C (World Wide Web consortium). Σύμφωνα με αυτόν, Υπηρεσία Ιστού είναι μια εφαρμογή λογισμικού προσδιορισμένη από ένα URI, της οποίας οι διεπαφές και συνδέσεις (interfaces και bindings) μπορούν να οριστούν, να περιγραφούν και να ταυτοποιηθούν ως αντικείμενα XML. Μια Υπηρεσία Ιστού θα πρέπει να υποστηρίζει άμεσες αλληλεπιδράσεις μεταξύ πρακτόρων χρησιμοποιώντας μηνύματα σε XML μορφή, που θα ανταλλάσσονται μέσω πρωτοκόλλων του διαδικτύου. Ένα βασικό σημείο του ορισμού του W3C είναι πως οι Υπηρεσίες Ιστού δε θα πρέπει μόνο να είναι διαθέσιμες και να λειτουργούν, αλλά να μπορούν να περιγραφούν και να προσφέρονται, ώστε να υπάρχει η δυνατότητα να δημιουργηθούν clients, που θα συνδέονται και θα αλληλοεπιδρούν με αυτές. Με άλλα λόγια, οι Υπηρεσίες Ιστού πρέπει να είναι συστατικά, τα οποία να μπορούν να ενσωματωθούν σε πιο πολύπλοκες κατανεμημένες εφαρμογές. Περνώντας από τη θεωρία στην πράξη, η κατασκευή και η ενσωμάτωση Υπηρεσιών Ιστού μπορεί να πραγματοποιηθεί αξιοποιώντας τα SOAP, UDDI, WSDL και άλλα πρότυπα του Ιστού. Το πρωτόκολλο SOAP (Simple Object Access Protocol) [6] προσφέρει έναν απλό και ελαφρύ μηχανισμό για την ανταλλαγή δομημένης πληροφορίας μεταξύ υπολογιστών (peers) σε ένα αποκεντρωμένο, κατανεμημένο περιβάλλον με χρήση της XML. Το UDDI (Universal Description, Discovery and Integration) [7] βασίζεται πάλι στην XML και προσφέρει στους χρήστες ένα ενοποιημένο, συστηματικό τρόπο να εντοπίζουν παρόχους υπηρεσιών μέσω μιας κεντρικής αποθήκης (registry), κάτι σαν «τηλεφωνικό κατάλογο» για Υπηρεσίες Ιστού. Τέλος, η γλώσσα WSDL περιγράφεται αναλυτικά στην ακόλουθη υποενότητα. WEB SERVICE DESCRIPTION LANGUAGE (WSDL) Καθώς τα πρωτόκολλα επικοινωνίας και οι μορφές των μηνυμάτων τυποποιούνται στη διαδικτυακή κοινότητα, γίνεται ολοένα και πιο εφικτή και σημαντική η ανάγκη για περιγραφή των επικοινωνιών με ένα πιο δομημένο τρόπο. Η γλώσσα περιγραφής Υπηρεσιών Ιστού WSDL (Web Service Description Language) [8] ικανοποιεί αυτή την ανάγκη ορίζοντας μια XML γραμματική για να περιγράψει υπηρεσίες δικτύου ως συλλογές σημείων επικοινωνίας, ικανών για ανταλλαγή μηνυμάτων. Ένα έγγραφο WSDL ορίζει τις υπηρεσίες ως ένα σετ από σημεία του δικτύου ή αλλιώς ports. Ένα port ορίζεται ως η συσχέτιση μιας διεύθυνσης δικτύου με μια επαναχρησιμοποιήσιμη σύνδεση (binding). Ένα binding με τη σειρά του αποτελείται από το πρωτόκολλο και τις προδιαγραφές της μορφής των δεδομένων για ένα συγκεκριμένο port type. Ένα port type ορίζεται ως μια συλλογή από λειτουργίες (operations). Τέλος, τα μηνύματα (messages) αποτελούν γενικές περιγραφές των 32 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ δεδομένων, που ανταλλάσσονται. Ο ορισμός των messages και των ports είναι ξεχωριστός από την ανάπτυξη του δικτύου ή από τα bindings, επιτρέποντας έτσι την επαναχρησιμοποίηση τους. Αναλυτικότερα, ακολουθεί μια περιγραφή όλων των στοιχείων, που μπορούν να χρησιμοποιηθούν στην κατασκευή μια υπηρεσίας. Το στοιχείο types ορίζει τους τύπους των δεδομένων χρησιμοποιώντας κάποιο σύστημα τύπων, όπως το XML Schema Definition ή XSD [9]. Το types περικλείει τους ορισμούς των τύπων δεδομένων, που σχετίζονται με τα ανταλλασσόμενα μηνύματα. Ο λόγος, που η WSDL προτιμά τη χρήση του XSD, είναι για μέγιστη διαλειτουργικότητα και ουδετερότητα ως προς την πλατφόρμα. Εικόνα 3: Το στοιχείο types Το στοιχείο message αφορά τα δεδομένα, που μετέχουν στην επικοινωνία, και αποτελείται από ένα ή περισσότερα λογικά parts. Κάθε part μπορεί να συνδεθεί με ένα type ή ένα element μέσω ενός αντίστοιχου χαρακτηριστικού (attribute). Το attribute element αναφέρεται σε ένα XSD element μέσω του ονόματος (QName), ενώ το attribute type σε ένα XSD simpletype ή complextype πάλι μέσω του ονόματος. Το message, όπως και το part, έχει ένα attribute name, που προσφέρει ένα μοναδικό όνομα για κάθε ένα message του εγγράφου. Ακολουθεί η σύνταξη ενός μηνύματος. Εικόνα 4: Το στοιχείο message Το port type είναι μια συλλογή από operations και το operation είναι η περιγραφή μιας ενέργειας, που υποστηρίζεται από την υπηρεσία. Η WSDL προσφέρει τέσσερα αρχέτυπα μετάδοσης: One-way (μονόδρομη), όταν το operation μόνο λαμβάνει ένα μήνυμα. Request-response (αίτημα-απόκριση), όταν το operation δέχεται ένα μήνυμα και στέλνει ένα σχετικό μήνυμα. Solicit-response (αίτηση για απόκριση), όταν το operation στέλνει ένα μήνυμα και λαμβάνει ένα σχετικό. Notification (ειδοποίηση), όταν το operation μόνο αποστέλλει ένα μήνυμα. Ένα operation της μορφής request-response αποτελείται από είσοδο (input), έξοδο (output) και σφάλμα (fault). Το input ορίζει τη μορφή του μηνύματος για το αίτημα, το output για την απόκριση και το προαιρετικό fault για τα μηνύματα λάθους, που μπορεί να προκύψουν ως αποτέλεσμα του operation. Η γραμματική για operation αυτής της μορφής φαίνεται στην εικόνα 5. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 33

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Εικόνα 5: Το στοιχείο operation Το binding ορίζει τις λεπτομέρειες σχετικά με τη μορφή του μηνύματος και του πρωτόκολλου για τα operations και τα messages, που ορίζονται από κάποιο συγκεκριμένο port type. Για ένα port type μπορούν να υπάρχουν πολλά bindings. Το attribute name προσφέρει ένα μοναδικό όνομα για κάθε binding του εγγράφου, ενώ το attribute type το ενώνει με το port type, που συνδέει. Στα σημεία (1) έως (5) του ακόλουθου κώδικα μπορούν να οριστούν στοιχεία, που επεκτείνουν το binding. Εικόνα 6: Το στοιχείο binding To port προσδιορίζει μια μοναδική διεύθυνση δικτύου για ένα binding. Το attribute name προσφέρει ένα μοναδικό όνομα για το port και το attribute binding αναφέρεται μέσω ονόματος (QName) στο αντίστοιχο binding. Στο σημείο (1) του κώδικα μπορούν να οριστούν οι πληροφορίες της διεύθυνσης για το port. Εικόνα 7: Το στοιχείο port 34 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ Τέλος, το service αποτελεί μια συλλογή από σχετικά ports και η σύνταξή του φαίνεται στον επόμενο κώδικα. Εικόνα 8: Το στοιχείο service 2.3 ΣΗΜΑΣΙΟΛΟΓΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΙΣΤΟΥ Όπως έχει αναφερθεί ήδη, το όραμα του Σημασιολογικού Ιστού περιλαμβάνει υπηρεσίες, των οποίων οι ιδιότητες, οι ικανότητες και τα αποτελέσματα θα μπορούν να κωδικοποιούνται σε μια σαφή μορφή, κατανοητή από τις μηχανές. Για να πραγματοποιηθεί αυτό το όραμα απαιτείται η κατασκευή σημασιολογικών εκδόσεων των Υπηρεσιών Ιστού [10]. Σκοπός είναι οι υπηρεσίες να γίνονται αντιληπτές από λογισμικά, ώστε να επιτρέπονται αυτόματα η ταυτοποίηση (matching/discovery), η εκτέλεση, η σύνθεση (composition) και η διαλειτουργικότητά τους. Οι όροι της ταυτοποίησης και της σύνθεσης θα παρουσιαστούν εκτενώς σε επόμενα υποκεφάλαια. Η WSDL, που έχει ήδη περιγραφεί στο 2.2, μπορεί να προσδιορίσει τις λειτουργίες, τις οποίες διαθέτει μία Υπηρεσία Ιστού, και τη δομή των δεδομένων, που λαμβάνονται και αποστέλλονται, αλλά δε μπορεί να προσδιορίσει τη σημασιολογική ουσία αυτών των δεδομένων ή των περιορισμών τους. Σε αυτό το σημείο έρχεται να βοηθήσει η OWL του υποκεφαλαίου 2.1. Η γλώσσα περιγραφής οντολογιών επιτρέπει στα δεδομένα και στους παρόχους υπηρεσιών να περιγράψουν σημασιολογικά τους πόρους τους με τη χρήση φυσικά οντολογιών. Αυτός ο συνδυασμός παίρνει μορφή μέσω διάφορων τεχνολογιών, όπως η SAWSDL, η OWL-S και η WSMO. SEMANTIC ANNOTATIONS FOR WSDL (SAWSDL) Η σημασιολογική επισήμανση για την WSDL και την XML Schema, SAWSDL, ορίζει πως μπορούν να προστεθούν σχόλια σχετικά με τη σημασιολογία σε διάφορα μέρη ενός εγγράφου WSDL, όπως στα input και output messages, στα interfaces ή στα operations [11]. Η σημασιολογική επισήμανση ενός εγγράφου είναι η πρόσθετη πληροφορία, που προσδιορίζει μία έννοια ενός σημασιολογικού μοντέλου, ώστε να περιγράψει τμήματα αυτού του εγγράφου. Στην SAWSDL οι σημασιολογικές επισημάνσεις είναι attributes σε XML μορφή, που προστίθενται στα στοιχεία ενός αρχείου WSDL ή ενός αρχείου XML Schema, που σχετίζεται. Οι σημασιολογικές επισημάνσεις μπορούν να είναι δύο ειδών: σαφή αναγνωριστικά εννοιών ή αναγνωριστικά mapping από τη WSDL σε έννοιες (ή το αντίστροφο). Στην πρώτη περίπτωση, αναφέρονται στην έννοια μιας οντολογίας, ενώ στη δεύτερη στην έννοια ενός εγγράφου mapping. Ο μηχανισμός επισήμανσης είναι ανεξάρτητος από τη γλώσσα περιγραφής της οντολογίας, αλλά και από τη γλώσσα του mapping. Για τη σημασιολογική επισήμανση ενός στοιχείου προσφέρονται από την SAWSDL τα παρακάτω attributes, που αποτελούν επέκταση των χαρακτηριστικών των στοιχείων της WSDL. Το attribute με όνομα modelreference χρησιμοποιείται για να προσδιορίσει τη σχέση μεταξύ ενός στοιχείου της WSDL ή της XML Schema και μίας έννοιας ενός σημασιολογικού μοντέλου. Από την άλλη, τα attributes ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 35

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ liftingschemamapping και loweringschemamapping προστίθενται μόνο στα στοιχεία της XML Schema για να ορίσουν mapping μεταξύ σημασιολογικών δεδομένων και της XML. Η τιμή του attribute modelreference είναι ένα σύνολο από μηδέν ή περισσότερα URIs, διαχωρισμένα με κενά, που κάθε ένα αποτελεί δείκτης στην έννοια ενός σημασιολογικού μοντέλου και προσφέρει σημασιολογική πληροφορία για το στοιχείο, το οποίο έχει επισημανθεί. Το attribute modelreference επιτρέπει πολλαπλές επισημάνσεις και υπάρχει η ελευθερία τα URIs να είναι από διαφορετικές γλώσσες αναπαράστασης οντολογιών, χωρίς βέβαια να προκύπτει κάποια λογική σχέση μεταξύ τους με αυτή τη δήλωση. Επίσης, δεν υπάρχει περιορισμός ως προς το πλήθος των στοιχείων, που μπορούν να επισημανθούν σημασιολογικά, ενώ αυτά τα στοιχεία μπορούν να είναι τα παρακάτω: Το interface του εγγράφου WSDL, όπου το modelreference μπορεί να το κατηγοριοποιήσει ως προς κάποιο μοντέλο ή να προσδιορίσει κάποια χαρακτηριστικά συμπεριφοράς. Εικόνα 9: Επισήμανση του interface Το operation του WSDL, όπου η σημασιολογική επισήμανση μπορεί να προσφέρει υψηλό επίπεδο περιγραφής της λειτουργίας. Εικόνα 10: Επισήμανση του operation Το fault του WSDL, για υψηλό επίπεδο περιγραφής του προβλήματος. Εικόνα 11: Επισήμανση του fault Το simpletype του εγγράφου XML Schema. Εικόνα 12: Επισήμανση του simpletype 36 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ Το complextype του XML Schema, όπου υπάρχουν δύο βασικές τεχνικές. Η επισήμανση χαμηλού επιπέδου (Bottom Level Annotation) εφαρμόζεται σε κάποιο element ή attribute του complextype, ενώ η επισήμανση υψηλού επιπέδου (Top Level Annotation) στο ίδιο το complextype. Εικόνα 13: Επισήμανση χαμηλού επιπέδου του complextype Εικόνα 14: Επισήμανση υψηλού επιπέδου του complextype Το element του XML Schema. Εικόνα 15: Επισήμανση του element Το attribute του XML Schema. Εικόνα 16: Επισήμανση του attribute Πέρα, όμως, από το modelreference αναφέρθηκαν και τα attributes liftingschemamapping και loweringschemamapping. Τα modelreferences μπορούν να χρησιμοποιηθούν ώστε να καθορίσουν εάν ένα service πληροί τις προϋποθέσεις ενός πελάτη (client), αλλά και πάλι μπορούν να υπάρχουν αναντιστοιχίες μεταξύ του σημασιολογικού μοντέλου και της δομής των inputs και outputs. Για παράδειγμα, ένας client μπορεί να έχει ένα μικρό όνομα και ένα επίθετο μεταξύ των δεδομένων του και αυτές οι τιμές να πρέπει να ενωθούν στο μήνυμα για την Υπηρεσία Ιστού. Ένα lowering schema mapping θα δεχόταν τα σημασιολογικά δεδομένα του client, θα τα μετέτρεπε ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 37

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ σε XML και στη συνέχεια θα εφάρμοζε την αναγκαία ένωση για να παράγει ένα ενιαίο όνομα (μικρό όνομα + επίθετο). Αντίθετα, ένα lifting schema mapping μετατρέπει στοιχεία της XML σε ένα σημασιολογικό μοντέλο. Σε ένα πιο πολύπλοκο σενάριο, έστω ότι ένας client χρησιμοποιεί την WSDL μαζί με σημασιολογικές επισημάνσεις για να περιγράψει την υπηρεσία, που αναμένει. Εάν οι δομές της XML, που αναμένονται από τον client, και αυτές της υπηρεσίας διαφέρουν, το schema mapping θα μεταφράσει τις XML δομές σε ένα σημασιολογικό μοντέλο, ώστε κάθε αναντιστοιχία να γίνει αντιληπτή και να διορθωθεί. Εικόνα 17: Schema Mapping ONTOLOGY WEB LANGUAGE FOR SERVICES (OWL-S) H SAWSDL δεν είναι η μοναδική τεχνολογία, που μπορεί να δημιουργήσει σημασιολογικές Υπηρεσίες Ιστού. Υπάρχουν και άλλες γλώσσες, όπως η OWL-S, που θα συναντήσουμε αρκετές φορές και στις σχετικές εργασίες, με τις οποίες συγκρίνεται το προτεινόμενο σύστημα. Η OWL-S είναι μια γλώσσα περιγραφής οντολογιών για υπηρεσίες (Ontology Web Language for Services), που χτίζεται πάνω στην OWL με στόχο να κωδικοποιήσει πλούσιες περιγραφές σημασιολογικών υπηρεσιών [12]. Η OWL-S δεν είναι ανεξάρτητη, αλλά ενσωματώνεται στα τωρινά κυρίαρχα πρότυπα του Ιστού, όπως είναι η WSDL. Αυτή η σύζευξη της OWL-S με την WSDL οδηγεί σε έναν εκτενή προσδιορισμό των Υπηρεσιών Ιστού μέσω της σημασιολογίας. Πρόκειται για μία οντολογία, η οποία αποτελείται από τρεις αλληλένδετες υποοντολογίες, γνωστές ως profile, process model και grounding. Το profile χρησιμοποιείται για να εκφράσει τι κάνει μία υπηρεσία, προωθώντας έτσι την υπηρεσία είτε για δημιουργία αιτημάτων προς αυτήν είτε για ταυτοποίηση. Το process model περιγράφει πως δουλεύει και το grounding συνδέει το process model με λεπτομερείς προσδιορισμούς της μορφής των μηνυμάτων και των πρωτόκολλων. Το βασικό στοιχείο της WSDL, που χαρακτηρίζεται από την OWL-S, είναι το operation. Τα operations προσφέρουν την οργανωτική δομή, γύρω από την οποία ορίζεται η σύνταξη των μηνυμάτων για τα input και output. Η OWL-S παρέχει μια ανάλογη, αλλά πιο αφαιρετική κατασκευή, που ονομάζεται atomic process και χαρακτηρίζεται με τους όρους των inputs, outputs, preconditions και effects (εν συντομία IOPEs), που έχει. Τα preconditions είναι λογικές προτάσεις, οι οποίες απαιτείται να ικανοποιούνται από αυτόν, που αιτείται την υπηρεσία, προτού αυτή εκτελεστεί. Τα effects είναι επίσης λογικές προτάσεις, που όμως θα ισχύουν (δηλαδή θα έχουν τιμή true) μετά την επιτυχή εκτέλεση της υπηρεσίας. Ακολουθεί ένα παράδειγμα κώδικα για την καλύτερη κατανόησή της atomic process. 38 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ Εικόνα 18: Η atomic process της OWL-S Τόσο η SAWSDL, όσο και η OWL-S στοχεύουν στον εμπλουτισμό των WSDL αρχείων προσφέροντας ιδιότητες για σημασιολογικές επισημάνσεις. Παρόλα αυτά, παρουσιάζουν δύο βασικές διαφορές [13]. Πρώτον, η OWL-S ορίζει μια νέα γλώσσα για να καλύψει τα διαφορετικά επίπεδα των Υπηρεσιών Ιστού, ενώ οι δημιουργοί της SAWSDL περιορίστηκαν σε επαύξηση της WSDL, απλοποιώντας τη διαδικασία της σημασιολογικής αναπαράστασης των υπηρεσιών, αλλά μειώνοντας την εκφραστικότητα. Δεύτερον, η SAWSDL παρέχει έναν πολύ γενικό μηχανισμό επισήμανσης, που μπορεί να χρησιμοποιηθεί για αναφορά σε οποιαδήποτε μορφή σημασιολογικής σήμανσης, σε αντίθεση με την περιορισμένη OWL-S. WEB SERVICE MODELING ONTOLOGY (WSMO) Μία τρίτη εναλλακτική για τη δημιουργία σημασιολογικών Υπηρεσιών Ιστού είναι η οντολογία WSMO (Web Service Modeling Ontology) [14]. Η WSMO συνοδεύεται από μια επίσημη γλώσσα, τη WSML (Web Service Modeling Language), η οποία επιτρέπει τη συγγραφή επισημάνσεων Υπηρεσιών Ιστού σύμφωνα με ένα εννοιολογικό μοντέλο. Τα τέσσερα βασικά στοιχεία της WSMO είναι οι οντολογίες, οι Υπηρεσίες Ιστού, οι στόχοι (goals) και οι μεσολαβητές (mediators). Οι οντολογίες αναπαριστούν ένα στοιχείο-κλειδί της γλώσσας WSMO, καθώς παρέχουν ορολογίες γύρω από συγκεκριμένους τομείς για να περιγράψουν άλλα στοιχεία. Ο σκοπός τους είναι διπλός: να ορίσουν την επίσημη σημασιολογία της πληροφορίας και να ενώσουν ορολογίες των μηχανών με ορολογίες των ανθρώπων. Οι Υπηρεσίες Ιστού συνδέουν υπολογιστές και συσκευές χρησιμοποιώντας τα κλασικά πρωτόκολλα του Ιστού για την ανταλλαγή και τον συνδυασμό δεδομένων με νέους τρόπους. Η κατανομή τους στον Ιστό τους προσφέρει το πλεονέκτημα της ανεξαρτησίας ως προς την πλατφόρμα. Κάθε Υπηρεσία Ιστού αναπαριστά ένα ατομικό κομμάτι λειτουργίας, το οποίο μπορεί να επαναχρησιμοποιηθεί για να χτιστούν ακόμη πιο πολύπλοκα. Οι Υπηρεσίες Ιστού στη WSMO περιγράφονται από τρεις διαφορετικές οπτικές: τις μη-λειτουργικές ιδιότητες (non-functional properties), τη λειτουργικότητα (functionality) και τη συμπεριφορά (behavior). ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 39

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Οι στόχοι προσδιορίζουν τους σκοπούς, που μπορεί να έχει ένας πελάτης, όταν συμβουλεύεται μια Υπηρεσία Ιστού, δηλαδή λειτουργίες, που θα έπρεπε να προσφέρει μια Υπηρεσία Ιστού από την οπτική του χρήστη. Η συνύπαρξη των στόχων και των Υπηρεσιών Ιστού ως μη επικαλυπτόμενων οντοτήτων διασφαλίζει την αποδέσμευση μεταξύ αιτήματος και υπηρεσίας. Αυτό το είδος προβλημάτων, στο οποίο ο αιτών αποκτάει σκοπούς χωρίς να λαμβάνει υπόψιν τις Υπηρεσίες Ιστού κατά την επίλυση, είναι γνωστό ως προσέγγιση καθοδηγούμενη από τους στόχους. Τέλος, οι μεσολαβητές περιγράφουν στοιχεία, που στοχεύουν να ξεπεράσουν τις αναντιστοιχίες μεταξύ διαφορετικών συστατικών της WSMO περιγραφής. Η ύπαρξη των μεσολαβητών επιτρέπει τη πιθανή σύνδεση ετερογενών πόρων. Επιλύουν ασυμβατότητες, που προκύπτουν σε διάφορα επίπεδα: Επίπεδο δεδομένων: μεσολαβούν μεταξύ διαφορετικών χρησιμοποιημένων ορολογιών και ειδικότερα επιλύουν το πρόβλημα της ενσωμάτωσης οντολογίας. Επίπεδο διεργασίας: μεσολαβούν μεταξύ ετερογενών προτύπων επικοινωνίας των Υπηρεσιών Ιστού. Συγκριτικά με την SAWSDL, η WSMO είναι μια νέα σημασιολογική αναπαράσταση και όχι μια επέκταση της WSDL με ιδιότητες. Επιπλέον, στη WSMO δεν υπάρχει ελευθερία ως προς τη σημασιολογική επισήμανση (RDF, OWL κλπ.), κάτι που προσφέρει μόνο η SAWSDL. 2.4 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΤΑΥΤΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ Όταν οι Υπηρεσίες Ιστού έχουν κατασκευαστεί και περιγραφεί κατάλληλα, οι περιγραφές τους πρέπει να γίνονται διαθέσιμες σε όσους ενδιαφέρονται να τις χρησιμοποιήσουν. Οι χρήστες θα πρέπει να έχουν τη δυνατότητα να αναζητήσουν και να εντοπίσουν υπηρεσίες, ανακαλύπτοντας τις πιο σχετικές ως προς τις επιθυμίες τους. Η σημασιολογική ταυτοποίηση Υπηρεσιών Ιστού περιλαμβάνει την αυτόματη εύρεση Υπηρεσιών Ιστού, που προσφέρουν μια συγκεκριμένη υπηρεσία και που ανταποκρίνονται σε κάποια ζητούμενα χαρακτηριστικά [10]. Ένας χρήστης, για παράδειγμα, θα μπορούσε να ζητήσει μια υπηρεσία, η οποία «πουλάει αεροπορικά εισιτήρια μεταξύ του Σαν Φρανσίσκο και του Τορόντο και δέχεται πληρωμή με πιστωτική κάρτα Diner s Club». Για να πάρει αποτελέσματα, ο χρήστης πρέπει να χρησιμοποιήσει μια μηχανή αναζήτησης για να βρει μια υπηρεσία και έπειτα είτε να διαβάσει την ιστοσελίδα, που σχετίζεται με αυτή την υπηρεσία, είτε να την τρέξει, ώστε να ελέγξει εάν ανταποκρίνεται στα απαιτούμενα χαρακτηριστικά. Με τη σημασιολογική, όμως, επισήμανση των υπηρεσιών, μπορούμε να προσδιορίσουμε την αναγκαία πληροφορία για την ταυτοποίηση των Υπηρεσιών Ιστού ορίζοντας κατανοητή από τις μηχανές σημασιολογία στις ιστοσελίδες των υπηρεσιών και στη συνέχεια μια αποθήκη υπηρεσιών ή μια εμπλουτισμένη με οντολογίες μηχανή αναζήτησης θα μπορούν αυτόματα να εντοπίσουν κατάλληλες υπηρεσίες. Αυτή η ενότητα παρουσιάζει ενδεικτικά παραδείγματα από αλγόριθμους ταυτοποίησης Υπηρεσιών Ιστού, που μπορούν να εντοπιστούν στη βιβλιογραφία, με έμφαση στις τεχνικές, που χρησιμοποιούνται. Η πλειοψηφία των τεχνικών μπορούν να κατηγοριοποιηθούν ως βασισμένες στη λογική και βασισμένες στην ομοιότητα 40 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ κειμένου, ενώ οι τεχνικές δομής και μηχανικής μάθησης χρησιμοποιούνται λιγότερο συχνά. Οι βασισμένες στη λογική τεχνικές μπορούν να είναι απλοί, σύντομοι κανόνες γύρω από την σχέση κλάσεων ή εκτενείς λίστες από συνθήκες, ενώ η ομοιότητα κειμένου χρησιμοποιεί κλασικές περιπτώσεις αλγορίθμων της Ανάκτησης Πληροφορίας. Επίσης, παρουσιάζονται αποτελέσματα για την απόδοση και την αποτελεσματικότητα κάθε αλγορίθμου, εάν διατίθενται. Να σημειωθεί εδώ ότι κατά την περιγραφή των βασισμένων σε λογική τεχνικών, οι προσφερόμενες και οι ζητούμενες υπηρεσίες θα συμβολίζονται με O και R αντίστοιχα. Ομοίως, οι είσοδοι και οι έξοδοι των υπηρεσιών θα συμβολίζονται με κατάλληλο δείκτη (π.χ. το R i σημαίνει ζητούμενη είσοδος), ενώ οι σχέσεις της υπερκλάσης και της υποκλάσης από αριστερά προς τα δεξιά θα συμβολίζονται με > και <. SAWSDL-MX, SAWSDL-TC Η εργασία [15] παρουσιάζει δύο μεγάλες συνεισφορές. Αρχικά, οι συγγραφείς προσφέρουν το πρώτο και μεγαλύτερο σύνολο ελέγχου με περισσότερα από χίλια αρχεία σε SAWSDL, με το όνομα SAWSDL-TC. Για την κατασκευή του χρησιμοποιήσαν το εργαλείο OWLS2WSDL, το οποίο εφάρμοσαν σε ένα παλιότερο σύνολο ελέγχου, το OWLS-TC 2.2, για να μετατρέψουν περιγραφές OWL-S σε περιγραφές SAWSDL. Η κατασκευή δεν πραγματοποιήθηκε αυτόματα, αλλά η μετατροπή ελέγχθηκε και διορθώθηκε με χειρωνακτικό τρόπο από ειδικούς. Μια ενημερωμένη έκδοση της συλλογής, η SAWSDL-TC 3, είναι διαθέσιμη στο διαδίκτυο και περιέχει 1080 έγγραφα, που περιγράφουν υπηρεσίες, οντολογίες σε γλώσσα OWL, ερωτήματα και σχετικά σύνολα. Η δεύτερη συνεισφορά των συγγραφέων είναι μια πρώτη προσέγγιση να αξιοποιήσουν αυτό το σύνολο ελέγχου με μια τεχνική αυτόματης ταυτοποίησης των SAWSDL αρχείων. Όπως και το σύνολο ελέγχου, ο αλγόριθμος SAWSDL-MX αποτελεί προσαρμογή των παλιότερων εργασιών OWLS-MX [16] και WSMO-MX [17]. Ο αλγόριθμος προσφέρει όλες τις βασικές στρατηγικές ταυτοποίησης, δηλαδή τη βασισμένη στη λογική, τη βασισμένη στην ομοιότητα κειμένου και την υβριδική (συνδυασμός της λογικής και της ομοιότητας κειμένου). Οι στρατηγικές στοχεύουν στις εισόδους και στις εξόδους των περιγραφών των υπηρεσιών και στα υποκείμενα συστατικά τους (π.χ. ComplexType) προσπαθώντας να ταυτοποιήσουν μια ζητούμενη υπηρεσία (δηλαδή το ερώτημα) με όλες τις υπηρεσίες, που προσφέρονται σε μια συλλογή. Το operation κάθε προσφερόμενης υπηρεσίας ταυτοποιείται με κάθε ζητούμενο operation και βαθμολογείται με τη μέγιστη ταυτοποίηση, που παρατηρείται. Κατά συνέπεια, η συνολική βαθμολογία μιας προσφερόμενης υπηρεσίας είναι η χειρότερη βαθμολογία όλων των ζητούμενων operations (δηλαδή το ελάχιστο του μέγιστου). Για λόγους απλότητας, το συγκεκριμένο σύνολο ελέγχου εξετάζει υπηρεσίες, που περιλαμβάνουν μόνο ένα operation. Επομένως, η βαθμολογία για την ταυτοποίηση ενός operation είναι ίση με τη βαθμολογία για τη συνολική ταυτοποίηση της υπηρεσίας. Οι βαθμοί για τη βασισμένη στη λογική στρατηγική υπολογίζονται ως εξής, με φθίνουσα σειρά: 1. Exact: απόλυτη ταυτοποίηση των εισόδων και των εξόδων (R i = O i R o = O o ) ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 41

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ 2. Plug-in: η προσφερόμενη είσοδος είναι πιο γενική από τη ζητούμενη είσοδο και η προσφερόμενη έξοδος είναι άμεσο παιδί της ζητούμενης εξόδου (O i > R i O o < direct R o ) 3. Subsumes: οι είσοδοι όπως στο Plug-in και η προσφερόμενη έξοδος είναι οποιοδήποτε παιδί της ζητούμενης εξόδου, δηλαδή χαλαρώνει τους περιορισμούς ως προς την έξοδο (O i > R i O o < R o ) 4. Subsumed-by: οι είσοδοι όπως στο Plug-in και η προσφερόμενη έξοδος είναι άμεσος γονέας της ζητούμενης εξόδου (O i > R i O o > direct R o ) 5. Fail: τίποτα από τα παραπάνω. Όταν υπάρχουν πολλαπλές σημασιολογικές επισημάνσεις, η στρατηγική λαμβάνει υπόψη μόνο την πρώτη. Η στρατηγική βασισμένη στην ομοιότητα κειμένου μπορεί να θεωρηθεί ως μέθοδος της Ανάκτησης Πληροφορίας. Εφαρμόζει ποικίλους αλγορίθμους ομοιότητας κειμένου με χρήση της Java βιβλιοθήκης SimPack [18], όπως Loss-of-information, extended Jaccard, Cosine και Jensen-Shannon, μεταξύ των ζητούμενων και των προσφερόμενων σημασιολογικών στοιχείων. Οι βαθμολογίες για την ταυτοποίηση των εισόδων και των εξόδων μετράνε ίσα κατά τον υπολογισμό της συνολικής βαθμολογίας για μια υπηρεσία. Τέλος, η υβριδική στρατηγική προσφέρει δύο παραλλαγές. Η αντισταθμιστική (compensative) παραλλαγή επιτρέπει την ομοιότητα κειμένου, όταν η λογική αποτυγχάνει. Στην ενοποιητική (integrative) παραλλαγή, ο βαθμός Subsumed-by ικανοποιείται πιο αυστηρά με την προσθήκη ενός κατωφλίου ομοιότητας κειμένου πέρα από τους ήδη υπάρχοντες λογικούς περιορισμούς. Ο αλγόριθμος εφαρμόζεται σε ένα ολοκληρωμένο σύστημα, που περιλαμβάνει έναν κατάλογο υπηρεσιών, χειριστές οντολογιών για εντοπισμό των οντολογιών, που αναφέρονται στις υπηρεσίες, και για reasoning και έναν κατάλογο οντολογιών. Ο αλγόριθμος αξιολογήθηκε πάνω στο SAWSDL-TC, που περιέχει 26 ερωτήματα με υπηρεσίες μονού operation και αντίστοιχα σχετικά σύνολα. Τα αποτελέσματα αφορούσαν τις μετρικές Macro-averaging Precision και F1-measure σε 20 επίπεδα ανάκλησης. Η υβριδική μέθοδος (με χρήση του Cosine για ομοιότητα κειμένου) απέδωσε καλύτερα, ενώ ακολουθούν η μέθοδος ομοιότητας κειμένου (με Cosine) και τελευταία η μέθοδος βασισμένη στη λογική. Αυτή η κατάταξη έρχεται σε απόλυτη αναλογία με την αποτελεσματικότητα των παλιότερων αλγορίθμων OWLS-MX και WSMO-MX. Όσον αφορά την απόδοση, η μέθοδος ομοιότητας κειμένου είναι η γρηγορότερη (1.7s ανά ερώτημα) ακολουθούμενη από τη μέθοδο λογικής (4.7s ανά ερώτημα) και την υβριδική (6.4s ανά ερώτημα). SAWSDL-MX2 Χτισμένος πάνω στον προηγούμενο αλγόριθμο, ο SAWSDL-MX2 [19] χρησιμοποιεί τους ίδιους ακριβώς αλγορίθμους ταυτοποίησης, δηλαδή τον βασισμένο στη λογική και τον βασισμένο στην ομοιότητα κειμένου. Παρόλα αυτά, εισάγει τη νέα ιδέα της ομοιότητας ως προς τη δομή. Για να υπολογίσει την ομοιότητα δομής χρησιμοποιεί το WSDL-Analyzer [20], ένα εργαλείο, που εντοπίζει ομοιότητες στην XML δομή μεταξύ των αρχείων WSDL, ελέγχοντας τα ονόματα των στοιχείων, τους τύπους των δεδομένων και κάποιες ιδιότητες της δομής. Ο SAWSDL-MX2, επίσης, εισάγει ένα επίπεδο μάθησης πάνω από τις προαναφερθείσες μεθόδους. Η επικαλούμενη 42 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ Προσαρμοστική Ταυτοποίηση (Adaptive Matching) υπολογίζει αρχικά τη λογική ομοιότητα, την ομοιότητα κειμένου και την ομοιότητα δομής και μαζί με την τιμή της σχετικότητας συνθέτουν διανύσματα ενός συνόλου εκπαίδευσης. Πιο λεπτομερώς, τα διανύσματα εκπαίδευσης για τον αλγόριθμο μάθησης SVM έχουν τη μορφή {Exact, Plug-in, Subsumes, Subsumed-by, Fail, ομοιότητα κειμένου, ομοιότητα δομής, σχετικότητα}, όπου οι πρώτες πέντε τιμές μπορούν να είναι 0 ή 1 (λογική ομοιότητα), οι ομοιότητες κειμένου και δομής έχουν εύρος 0 έως 1 και η σχετικότητα είναι 1 ή -1. Πάλι, για την αποτελεσματικότητα του αλγορίθμου παρουσιάζεται η ακρίβεια macroaveraging σε 20 επίπεδα ανάκλησης για μια ποικιλία μεθόδων. Ο συνδυασμός λογικής και ομοιότητας δομής βρέθηκε στην πρώτη θέση, με δεύτερη τη σκέτη λογική και τρίτη τη σκέτη ομοιότητα δομής. Σε άλλο πείραμα, ο συνδυασμός λογικής και δομής, η υβριδική μέθοδος και η Προσαρμοστική Ταυτοποίηση παρέχουν την ίδια ακρίβεια (0.61, 0.66 και 0.65 αντίστοιχα), καθώς το τεστ Friedman έδειξε ότι η διαφορά τους δεν είναι στατιστικά σημαντική. Παρόλα αυτά, οι χρόνοι απόκρισής τους ανά ερώτημα (15.48s, 8.17s και 18.8s αντίστοιχα) υποδεικνύουν ότι ο υπολογισμός της ομοιότητας της δομής και η μάθηση απαιτούν πολύ περισσότερο (τουλάχιστον διπλάσιο) χρόνο για την ίδια (ή και λίγο χειρότερη) ακρίβεια, εξαιτίας της υψηλής πολυπλοκότητας. IMATCHER Ο imatcher [21] ενσωματώνει ενδιαφέρουσες παραλλαγές γνωστών στρατηγικών. Η πρώτη στρατηγική του περιλαμβάνει τρεις υποστρατηγικές: εφαρμόζει ομοιότητα κειμένου (με τη Java βιβλιοθήκη Simpack) στοχεύοντας είτε (α) το πεδίο του ονόματος της WSDL υπηρεσίας, (β) το πεδίο της περιγραφής της υπηρεσίας ή (γ) τις σημασιολογικές επισημάνσεις. Η δεύτερη στρατηγική επιλέγει τη μέγιστη βαθμολογία μεταξύ δύο υποστρατηγικών. Η πρώτη είναι μια υβριδική παραλλαγή, όπου το κομμάτι, που βασίζεται στη λογική, βαθμολογεί τις εισόδους και τις εξόδους των operations με 1, εάν το ζητούμενο είναι γονέας του προσφερόμενου (R > O). Παρατηρούμε ότι η λογική του imatcher διαφέρει ουσιαστικά από αυτή του SAWSDL-MX, η οποία απαιτούσε την αντίστροφη σχέση για την είσοδο σε όλες τις περιπτώσεις (Exact, Plugin κλπ.) και για την έξοδο στην περίπτωση Subsumed-by. Αν η λογική αποτύχει, εφαρμόζεται ομοιότητα κειμένου (όπως στην αντισταθμιστική παραλλαγή). Εάν οι συγκρινόμενες σημασιολογικές έννοιες προέρχονται από διαφορετικές οντολογίες, τότε η δεύτερη υποστρατηγική εξετάζει την απόστασή τους χρησιμοποιώντας την ομοιότητα alignment, που μπορεί να δώσει το εργαλείο Lily [22]. Η τρίτη στρατηγική εκτελεί και πάλι μια μέθοδο Προσαρμοστικής Ταυτοποίησης. Ο χρήστης μπορεί να επιλέξει μια ποικιλία στρατηγικών, με τα αποτελέσματα των οποίων κατασκευάζεται ένα σύνολο εκπαίδευσης από διανύσματα. Σε αυτό εφαρμόζονται αλγόριθμοι μάθησης από τη βιβλιοθήκη Weka [23]. Μία προηγούμενη έκδοση, ο imatcher3/1, βρέθηκε χαμηλά στην κατάταξη ενός διαγωνισμού ταυτοποίησης υπηρεσιών, του S3 (Semantic Service Selection Contest) [24]. Στο διαγωνισμό χρησιμοποιήθηκαν τα σύνολα SAWSDL-TC 2 (όπου ο imatcher3/1 σημείωσε ακρίβεια 0.635) και Jena Geography Dataset ή JGD (ακρίβεια 0.53). Στην εργασία παρουσιάζονται πολλαπλά γραφήματα με τα αποτελέσματα ως προς την Macro-averaging Precision. Ο Overlap αποδείχθηκε ο καλύτερος μεταξύ των αλγορίθμων ομοιότητας κειμένου, τόσο στα ονόματα των operations όσο και στα ονόματα των στοιχείων (στο JGD). Η δεύτερη στρατηγική (υβριδική και alignment) βγήκε τελευταία μεταξύ έξι μεθόδων ομοιότητας κειμένου στις σημασιολογικές επισημάνσεις, τόσο στο SAWSDL-TC 2 όσο και στο JGD. Ο Logistic ξεπέρασε ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 43

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ τέσσερις (Adaboost J48, J48, SVR, SLinear Regression) αλγορίθμους μάθησης κατά την Προσαρμοστική Μάθηση στο SAWSDL-TC 2, ενώ ο SVR βγήκε πρώτος στο JGD. Ο Logistic, επίσης, ξεπέρασε τη δεύτερη στρατηγική και την ομοιότητα κειμένου (Euclidean και Dice) στο SAWSDL-TC 2. Ομοίως, ο SVR ήταν καλύτερος από τον Logistic, την ομοιότητα κειμένου (Overlap, Pearson, Dice) και τη δεύτερη στρατηγική. Συνολικά, οι καλύτερες στρατηγικές του imatcher είναι ο Logistic και ο ε-svr, που πετυχαίνουν ακρίβεια 0.749 και 0.723 αντίστοιχα. SKYLINE Ο αλγόριθμος Skyline [25] εφαρμόζει ταυτοποίηση σε περιγραφές OWL-S αντί για SAWSDL, αλλά χρησιμοποιεί μια ενδιαφέρουσα στρατηγική, που αξίζει να αναφερθεί. Τα στοιχεία, που στοχεύει, είναι τα IOPEs, δηλαδή οι είσοδοι με τις προϋποθέσεις (Inputs και Preconditions) και οι έξοδοι με τα αποτελέσματα (Outputs και Effects). Η στρατηγική βασίζεται στη λογική και κατηγοριοποιεί στους βαθμούς Exact, Direct_Subclass (άμεση υποκλάση), Subclass (υποκλάση), Direct_Superclass (άμεση υπερκλάση), Superclass (υπερκλάση), Sibling (αδέρφια) και Fail, επιλέγοντας την καλύτερη ταυτοποίηση. Για να βρεθεί η βέλτιστη εξισορρόπηση ανάμεσα στη σημασία των εισόδων και των εξόδων χρησιμοποιείται ο ομώνυμος αλγόριθμος Skyline. Με αυτόν τον τρόπο, επιστρέφονται ως αποτέλεσμα υπηρεσίες με ένα βέλτιστο συνδυασμό ταυτοποιημένων εισόδων και εξόδων. Για παράδειγμα, αν υπάρχει μια υπηρεσία με Exact είσοδο και Fail έξοδο και μια άλλη υπηρεσία με Subclass είσοδο και Direct_Superclass έξοδο, τότε θα επιστραφούν και οι δύο σαν αποτέλεσμα, ενώ μια τρίτη με Direct_Subclass είσοδο και Fail έξοδο θα αγνοηθεί. Οι χρήστες μπορούν να ζητήσουν από τον αλγόριθμο το επόμενο επίπεδο (skylayer) για να πάρουν περισσότερες υπηρεσίες. Το Skyline με ακρίβεια 0.83 κατατάσσεται αρκετά πάνω από τον OWLS-MX [16] με 0.71 στο σύνολο δεδομένων OWLS-TC 2. Επίσης, ο αλγόριθμος αξιολογείται σε διάφορες κατανομές συνθετικών δεδομένων, που όμως δε μπορούν να χρησιμοποιηθούν για σύγκριση με άλλα συστήματα. FOUR LEVEL MATCHING MODEL Οι συγγραφείς της εργασίας [26] σχεδίασαν και ανέπτυξαν ένα μοντέλο ταυτοποίησης τεσσάρων επιπέδων για OWLSQ, μια προσαρμοσμένη παραλλαγή της OWL-S, που περιλαμβάνει πληροφορίες για QoS (Quality of Service), για παράδειγμα για ακρίβεια, αξιοπιστία κλπ. Το αρχικό και πιο γενικό επίπεδο υπολογίζει την ομοιότητα μεταξύ των τομέων εφαρμογής (application domain) χρησιμοποιώντας πρότυπα κατηγοριοποίησης. Το δεύτερο εφαρμόζει σύγκριση ομοιότητας κειμένου με TF-IDF Cosine στις περιγραφές των υπηρεσιών. Το τρίτο επίπεδο ορίζει ένα διμερή γράφο για να ταυτοποιήσει με χρήση του αλγορίθμου KM λειτουργίες μεταξύ προσφερόμενων και ζητούμενων υπηρεσιών. Το τέταρτο και τελευταίο επίπεδο ταυτοποιεί χαρακτηριστικά QoS βασιζόμενο σε ένα προκαθορισμένο σύνολο χαρακτηριστικών. ΥΒΡΙΔΙΚΗ ΣΤΡΑΤΗΓΙΚΗ ΜΕ WORDNET Ο αλγόριθμος ταυτοποίησης SAWSDL, που περιγράφεται στην [27], προτείνει έναν πολύπλοκο αλγόριθμο βασισμένο στη λογική για να ταξινομεί την είσοδο και την έξοδο ως Precise (ακριβής), Over, Partial (μερικός) και Mismatch (μη ταυτοποίηση), σύμφωνα με διάφορα πηλίκα από προσφερόμενες, ζητούμενες και ταυτοποιημένες εισόδους και εξόδους. Ο αλγόριθμος περιέχει μια εκτενή σειρά από κανόνες για την ταξινόμηση, σε τέτοιο μάλιστα μήκος, που χάνεται το πρακτικό νόημα των 44 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ κατηγοριών. Στην περίπτωση που απουσιάζει η σημασιολογία από δύο συγκρινόμενα στοιχεία, αλλά ταυτοποιούνται σημασιολογικά οι γονείς τους, τότε αυτά βαθμολογούνται με την ομοιότητα κειμένου και την απόσταση σύμφωνα με το WordNet [28]. Δυστυχώς, δεν έχει πραγματοποιηθεί κάποια αξιολόγηση του συστήματος, ώστε να εκτιμήσουμε την αποτελεσματικότητά του. ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗ ΜΕΤΡΑ ΟΜΟΙΟΤΗΤΑΣ ΚΑΙ OWLS-SLR Η εργασία [29] προτείνει έναν ενδιαφέρον τρόπο υπολογισμού της ομοιότητας για ταυτοποίηση σημασιολογικών Υπηρεσιών Ιστού. Ο αλγόριθμος μετατρέπει την OWL- S στην αντικειμενοστραφή γλώσσα COOL (CLIPS Object Oriented Language). Αρχικά, εισάγει την ομοιότητα απλής ιδιότητας, που ελέγχει την ομοιότητα μεταξύ των τύπων δεδομένων των εισόδων και των εξόδων. Ορίζονται τρεις κατηγορίες: exact match (ακριβής ταυτοποίηση), numerical-type match (ταυτοποίηση αριθμητικού τύπου, π.χ. xsd:int και xsd:float) και mismatch (μη ταυτοποίηση). Στη συνέχεια, υπολογίζει το πηλίκο του σταθμισμένου αθροίσματος των exact match και των numerical-type match προς το συνολικό πλήθος των εισόδων και των εξόδων. Η τελική ομοιότητα απλής ιδιότητας ισούται με το γινόμενο του πηλίκου για τις εισόδους επί του πηλίκου για τις εξόδους. Η παραλλαγή, που βασίζεται στη λογική, ονομάζεται σε αυτή την εργασία ομοιότητα σχεσιακής ιδιότητας και ισούται με την απόσταση μεταξύ δύο κλάσεων, όταν έχουν μια ιεραρχική σχέση. Ειδάλλως, εάν έχουν κάποιο κοινή κλάσηπρόγονο, η ομοιότητα είναι ίση με το άθροισμα των αποστάσεών τους από αυτή την κοινή υπερκλάση. Εάν δεν υπάρχει κοινός πρόγονος ή οι κλάσεις είναι ξένες, η απόστασή τους είναι άπειρη και επομένως η ομοιότητά τους μηδέν. Πάλι η συνολική ομοιότητα σχεσιακής ιδιότητας ισούται με το γινόμενο των παραπάνω υπολογισμών για εισόδους και εξόδους. Εν τέλει, η συνολική ομοιότητα είναι το γινόμενο της ομοιότητας απλής ιδιότητας επί της ομοιότητας σχεσιακής ιδιότητας. Μια εξέλιξη των αντικειμενοστραφών μέτρων ομοιότητας είναι ο αλγόριθμος OWLS- SLR [30], το οποίο λαμβάνει υπόψιν σημασιολογικές σχέσεις επαλληλίας (subsumption) και αδερφών (siblings). Ο αλγόριθμος στοχεύει τις Ι/Ο υπογραφές του OWL-S προφίλ αναζητώντας τις ιδιότητες και τις κλάσεις της οντολογίας. Η δύναμη του OWLS-SLR έγκειται στο χαμηλό χρόνο απόκρισης, καθώς επικεντρώνεται στη γρήγορη εύρεση ενός αρχικού συνόλου από υποψήφιες περιγραφές. Αντιθέτως, αυτή η εργασία δε λαμβάνει υπόψιν τέτοιες προηγμένες δυνατότητες reasoning, επειδή η αποδοτικότητα βελτιώνεται από μια λογική και συντακτική υβριδική στρατηγική. IRS-III Το IRS-III [31] είναι ένα ολοκληρωμένο σύστημα για δημιουργία, εκτέλεση και ταυτοποίηση WSMO αρχείων, που όμως δουλεύει και με OWL-S μέσω ενός μηχανισμού τροποποίησης. Μια προσαρμοσμένη αναπαράσταση οντολογιών, η OCML, χρησιμοποιείται για την κωδικοποίηση των περιγραφών των υπηρεσιών. Το υποσύστημα, που αφορά την ταυτοποίηση και ονομάζεται Goal Mediator (μεσολαβητής στόχων), επιλέγει υπηρεσίες, οι οποίες ταυτοποιούν τις ζητούμενες δυνατότητες, όπως τύπους εισόδου, προϋποθέσεις, παραδοχές ή μη λειτουργικές ιδιότητες. Η μη ταυτοποίηση ορίζεται από δύο περιπτώσεις: όταν ο τύπος της προσφερόμενης εισόδου και της ζητούμενης δεν ταυτοποιούνται ή όταν οι προσφερόμενες είσοδοι είναι περισσότερες από τις ζητούμενες. Μια πιο πρόσφατη έκδοση του συστήματος πήρε μέρος στο διαγωνισμό S3 του 2009, που έχει ήδη ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 45

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ αναφερθεί, και σημείωσε χαμηλή αποτελεσματικότητα στο σύνολο JDG με μέση ακρίβεια 0.41, αλλά και χαμηλή απόδοση με 2.826s ανά ερώτημα. THEMIS-S Ο αλγόριθμος, που παρουσιάζεται στην [32], επικεντρώνεται στην ομοιότητα κειμένου και δεν εφαρμόζει καμία μέθοδο ταυτοποίησης, που να βασίζεται στη λογική. Από τις περιγραφές των WSDL αρχείων προκύπτει ένα εμπλουτισμένο μοντέλο διανυσματικού χώρου βασισμένο στο θέμα (enhanced Topic-Based Vector Space Model ή etvsm), μια παραλλαγή του κλασικού TVSM. Αυτή η παραλλαγή χρησιμοποιεί το WordNet (ή όποια άλλη ταξινομία) για να εκτιμήσει γλωσσολογικές σχέσεις μεταξύ όρων φυσικής γλώσσας και να κατηγοριοποιήσει ταυτοποιήσεις ως synonymy, homonymy, hyponymy και hypernymy. Για να μπορέσουν να αξιολογήσουν τον αλγόριθμο, οι συγγραφείς κατασκεύασαν το δικό τους σύνολο δεδομένων, το οποίο αποτελείται από εκατό περιγραφές υπηρεσιών σχετικά με γεωγραφικές υπηρεσίες. Οι περιγραφές των υπηρεσιών είναι γραμμένες στην αγγλική γλώσσα, το μήκος τους κυμαίνεται από 74 έως 1271 λέξεις η καθεμία και συλλέχθηκαν από τους ιστότοπους programmableweb 1 και seekda 2. Ειδικοί ως προς το πεδίο κατασκεύασαν κατάλληλα ερωτήματα και σχετικά σύνολα για δύο διαφορετικά σενάρια των τριάντα ερωτημάτων έκαστο. Ο προτεινόμενος αλγόριθμος, etvsm, κατατάχθηκε με R-Precision 0.625 και μέση ακρίβεια 0.699 ψηλότερα από τον κλασικό VSM και από το σχεσιακό μοντέλο πιθανοτήτων OKAPI. WSCOLAB Οι συγγραφείς της [33] κατέληξαν στην καινοτόμα ιδέα να αξιοποιήσουν τη συνεργατικότητα και τις αρχές του Κοινωνικού Ιστού μέσω ετικετών (tags) για την επισήμανση των υπηρεσιών και για την ανάκτηση. Ανέπτυξαν μια διαδικτυακή πύλη, που επιτρέπει στους χρήστες να επισημάνουν μεμονωμένες υπηρεσίες δίνοντας ετικέτες με το χέρι. Αυτές οι ετικέτες μπορούν να προσδιορίζουν είτε τη συμπεριφορά της υπηρεσίας, π.χ. μια κατηγοριοποίηση ως προς τη λειτουργία της, είτε την περιγραφή των εισόδων και των εξόδων της υπηρεσίας ή κάποια πρόσθετα χαρακτηριστικά. Τα ερωτήματα σχηματίζονται επίσης με το χέρι από ειδικούς μέσω της διαδικτυακής πύλης. Το σύστημα προσφέρει προτάσεις με auto-complete (πρόβλεψη μια λέξης ή φράσης, που ο χρήστης θέλει να πληκτρολογήσει, χωρίς να την γράψει ολόκληρη) από τις ήδη γνωστές ετικέτες υπηρεσιών. Τελικά, η ταυτοποίηση υλοποιείται με ένα μοντέλο διανυσματικού χώρου (SVM) με τις ετικέτες της συμπεριφοράς, της εισόδου και της εξόδου. Το σύστημα συμμετείχε στο διαγωνισμό S3 του 2009 και ξεπέρασε όλους τους αλγόριθμους στο σύνολο JGD με μέση ακρίβεια 0.54 και απόδοση 0s ανά ερώτημα. URBE Η εργασία [34] προτείνει το σύστημα URBE/URBE-S, το οποίο ενσωματώνει έναν υβριδικό αλγόριθμο ταυτοποίησης SAWSDL. Η βασισμένη στη λογική στρατηγική, 1 http://www.programmableweb.com/ 2 https://www.seekda.com/at/ 46 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ που ονομάζεται URBE-S, υπολογίζει την ομοιότητα των σημασιολογικών επισημάνσεων (αποκαλούμενη annsim) ως την απόσταση δύο εννοιών στην ίδια οντολογία, όπως και στην [29]. Εάν η σημασιολογία απουσιάζει, ο απλός αλγόριθμος URBE υπολογίζει την αποκαλούμενη ομοιότητα namesim ως τη γλωσσολογική ομοιότητα μεταξύ των ονομάτων των υπηρεσιών, των operation, των εισόδων και των εξόδων, χρησιμοποιώντας μια οντολογία συγκεκριμένου domain, όπως π.χ. το WordNet. Επιπλέον, υπολογίζει την αποκαλούμενη datatypesim, η οποία ορίζεται ως η ομοιότητα των τύπων των δεδομένων μεταξύ των simpletypes των εγγράφων WSDL, σύμφωνα με έναν προκαθορισμένο πίνακα ομοιότητας. Η αξιολόγηση του συστήματος πραγματοποιήθηκε σε SAWSDL αρχεία, που προέκυψαν από το σύνολο OWLS-TC. Επιλέγοντας διαφορετικά βάρη μεταξύ της ομοιότητας ως προς τα ονόματα των υπηρεσιών και της ομοιότητας ως προς τα ονόματα των operations, δεν παρατηρήθηκε κάποια διαφορά. Σε άλλο πείραμα, το σύστημα URBE είχε την χαμηλότερη κατάταξη σε σύγκριση με τα VSM και R-SVM με ακρίβεια R-Precision 0.651, 0.67 και 0.758 αντίστοιχα. Η ίδια κατάταξη προέκυψε και ως προς την Mean Average Precision (MAP) με 0.703, 0.723 και 0.809. Η μέση ακρίβεια των καλύτερων πέντε και δέκα αποτελεσμάτων ανά ερώτημα έφερε το URBE πρώτο, άρα τα καλύτερα αποτελέσματά του είναι τα πιο σχετικά. Σύμφωνα με την ακρίβεια macro-averaging μεταξύ διαφόρων αλγορίθμων προέκυψε η εξής κατάταξη: Woogle, URBE, Stroulia, WSXplorer. Με την προσθήκη της σημασιολογίας, το σύστημα URBE-S έρχεται πρώτο σε σχέση με τα Woogle, απλό URBE, Syeda και OWLS-MX. ΣΥΓΚΡΙΣΗ ΥΠΑΡΧΟΝΤΩΝ ΑΛΓΟΡΙΘΜΩΝ Ακολουθούν δύο συγκριτικοί πίνακες όλων των αλγορίθμων ταυτοποίησης, που παρουσιάστηκαν σε αυτή την ενότητα. Ο πρώτος παρουσιάζει το έτος δημοσίευσης του κάθε συστήματος και τη γλώσσα, που χειρίζονται, ενώ ο δεύτερος συγκρίνει τα είδη των στρατηγικών, που υλοποιούν. Αλγόριθμος Έτος Γλώσσα SAWSDL-MX [15] 2008 SAWSDL SAWSDL-MX 2 [19] 2009 SAWSDL imatcher [21] 2011 SAWSDL Skyline [25] 2008 OWL-S Four-Level Matching Model [26] 2010 OWL-SQ/ QoS Υβριδική Στρατηγική με WordNet [27] 2009 SAWSDL Αντικειμενοστραφή Μέτρα Ομοιότητας [29] 2007 OWL-S OWLS-SLR [30] 2010 OWL-S IRS-III [31] 2008 WSMO/ OWL-S Themis-S [32] 2010 WSDL WSColab [33] 2010 WSDL URBE [34] 2009 WSDL/SAWSDL Tomaco 2014 WSDL/SAWSDL Πίνακας 1: Σύγκριση αλγορίθμων ως προς έτος και γλώσσα ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 47

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Αλγόριθμος Λογική Κείμενο Υβρίδιο Δομή Μάθηση Ετικέτες Γλωσσο λογικά SAWSDL-MX SAWSDL-MX 2 imatcher Skyline Four-Level Matching Model Υβριδική Στρατηγική με WordNet Αντικειμενοστρ αφή Μέτρα Ομοιότητας OWLS-SLR IRS-III Themis-S WSColab URBE Πίνακας 2: Σύγκριση αλγορίθμων ως προς τη στρατηγική 2.5 ΑΠΟΘΗΚΕΣ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ ONLINE Ένα μεγάλο πρόβλημα, που εντοπίζεται κατά την αξιολόγηση τεχνολογιών ταυτοποίησης Υπηρεσιών Ιστού, είναι η έλλειψη επαρκών συνόλων ελέγχου/δεδομένων. Σπανίζουν, δηλαδή, οι διαθέσιμες Υπηρεσίες Ιστού με κατάλληλη σημασιολογική επισήμανση. Δυστυχώς, δεν είναι εφικτό να κατασκευαστούν μεγάλες και διαφορετικές συλλογές ελέγχου από μία μεμονωμένη ομάδα χρηστών. Απαιτείται η παρουσία ενός εργαλείου, το οποίο θα υποστηρίζει τη συλλογή, το διαμοιρασμό και τη βελτίωση περιγραφών σημασιολογικών Υπηρεσιών Ιστού μέσα σε ένα συνεργατικό περιβάλλον. Αυτό το εργαλείο είναι οι αποθήκες Υπηρεσιών Ιστού (Web Services Registries). Δύο γνωστές εφαρμογές αυτών αποτελούν το OPOSSum και το BioCatalogue. OPOSSUM Το OPOSSum 3 (Online Portal for Semantic Services) είναι μια διαδικτυακή αποθήκη υπηρεσιών και στοχεύει στο να προσφέρει μια υποδομή, η οποία διευκολύνει τη συλλογή, το διαμοιρασμό, την επεξεργασία και τη σύγκριση σημασιολογικών Υπηρεσιών Ιστού μέσω μιας δημόσιας δομημένης βάσης δεδομένων από περιγραφές υπηρεσιών [35]. Περιλαμβάνει περισσότερες από 1300 περιγραφές υπηρεσιών για 3 http://fusion.cs.uni-jena.de/opossum/ 48 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ πάνω από 1250 υπηρεσίες, ανάμεσα σε αυτές και τα σύνολα, που έχουν ήδη αναφερθεί, JGD και OWLS-TC. Στην εργασία [35] παρουσιάζονται μέσα από δύο μικρά σενάρια χρήσης οι λειτουργίες, που προσφέρει το OPOSSum. Οι χρήστες μπορούν να αναζητούν υπηρεσίες σύμφωνα με έναν τομέα (π.χ. ταξίδι) ή με τις γλώσσες οντολογιών, που χρησιμοποιούνται κατά την επισήμανση, και να τις κατεβάσουν σε ένα συμπιεσμένο αρχείο. Να σημειωθεί εδώ ότι η αναζήτηση και η ανάκτηση σχετικών υπηρεσιών υλοποιείται με ερωτήματα SQL στη βάση δεδομένων, που περιέχει τις περιγραφές των υπηρεσιών, και όχι με κάποιο αλγόριθμο ταυτοποίησης. Εάν εντοπιστεί κάποιο σφάλμα, ο χρήστης μπορεί να διορθώσει το αρχείο της υπηρεσίας ή της οντολογίας και στη συνέχεια οι υπόλοιποι χρήστες θα έχουν πρόσβαση σε αυτή τη νέα έκδοση. Πέρα από την αναζήτηση και τη διόρθωση, ο χρήστης μπορεί να ανεβάσει δικές του υπηρεσίες και να τις χαρακτηρίσει με ετικέτες, ώστε να είναι ευκολότερος ο εντοπισμός τους από άλλους χρήστες. BIOCATALOGUE Μια παρόμοια, αλλά πιο εκτεταμένη προσπάθεια, αποτελεί το BioCatalogue, μια μεγάλη αποθήκη υπηρεσιών, που σχετίζονται με την επιστήμη της ζωής [36]. Η εφαρμογή είναι διαθέσιμη διαδικτυακά 4 από τον Ιούνιο του 2009 και επιτρέπει την εγγραφή υπηρεσιών, που σχετίζονται με τις επιστήμες της ζωής (π.χ. υπηρεσίες για ακολουθίες πρωτεϊνών ή για μοριακές δομές), αλλά και πιο γενικών υπηρεσιών, που έχουν άμεση χρήση σε αυτό τον τομέα (π.χ. υπηρεσίες εξόρυξης κειμένου ή ανάλυσης εικόνας). Ο κατάλογος δεν φιλοξένει ο ίδιος τις υπηρεσίες, αλλά παρέχει ένα μηχανισμό για να τις εντοπίζει και να τις επισημάνει. Στην εργασία αναφέρεται πως έχει πάνω από 300 εγγεγραμμένα μέλη και πως περιγράφει 1627 Υπηρεσίες Ιστού από 158 διαφορετικούς παρόχους 25 χωρών. Ο στόχος του BioCatalogue είναι να ικανοποιεί τις ανάγκες των παρόχων υπηρεσιών, των χρηστών και των ειδικών του τομέα, ενώνοντάς τους σε μια κοινή προσπάθεια να γίνουν οι Υπηρεσίες Ιστού της βιολογίας πιο εμφανείς, καλύτερα τεκμηριωμένες και ευκολότερες στη χρήση. Το BioCatalogue είναι ένα σημείο, όπου οι χρήστες μπορούν να εντοπίσουν Υπηρεσίες Ιστού για να εφαρμόσουν τα πειράματά τους, να μάθουν πως λειτουργούν και κυρίως να μάθουν πώς να εκμεταλλεύονται την αξία τους στο έπακρο. Η εφαρμογή έχει πέντε βασικές λειτουργίες. Πρώτον, προσφέρει μια ενημερωμένη αναζήτηση για Υπηρεσίες Ιστού της επιστήμης της ζωής. Δεύτερον, αποτελεί μια αποθήκη μεγάλης χρονικής διάρκειας, που διασφαλίζει τα περιεχόμενα υπηρεσιών, καθώς πέρα από την χειροκίνητη εγγραφή νέων υπηρεσιών στη διεπαφή του, συγκεντρώνει και τις συνεισφορές άλλων αποθηκών. Τρίτον, προσθέτει ομοιόμορφες και πλούσιες επισημάνσεις στις υπηρεσίες εναρμονίζοντας τις περιγραφές τους άσχετα από τον τύπο τους. Τέλος, υιοθετεί τα καλύτερα χαρακτηριστικά των άλλων αντίστοιχων εφαρμογών και αντιμετωπίζει τις συνδυασμένες ανάγκες των παρόχων υπηρεσιών, των χρηστών και των προγραμματιστών επιτρέποντας στο περιεχόμενο του καταλόγου να είναι εύκολα επεκτάσιμο, διορθώσιμο και διαθέσιμο στην κοινότητα. Όπως και το OPOSSum, το BioCatalogue δεν υποστηρίζει ερωτήματα με 4 https://www.biocatalogue.org/ ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 49

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ σημασιολογία, αλλά πραγματοποιεί αναζήτηση με λέξεις-κλειδιά, χρησιμοποιώντας διάφορες μεταπληροφορίες και ετικέτες. 2.6 ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ Μία Υπηρεσία Ιστού μπορεί να εφαρμοστεί καλώντας άλλες Υπηρεσίες Ιστού, που πιθανώς θα παρέχονται από διαφορετικές εταιρίες. Για παράδειγμα, ένας πωλητής υπολογιστών μπορεί να προσφέρει μια υπηρεσία, η οποία επιτρέπει στους πελάτες να ζητούν προσφορές και να παραγγέλνουν υπολογιστές. Παρόλα αυτά, η εφαρμογή του operation requestquote (ζητώ προσφορά) μπορεί να απαιτεί την εμπλοκή διαφόρων άλλων υπηρεσιών, για παράδειγμα αυτές, που παρέχονται από τους κατασκευαστές των υπολογιστών για τις πιο πρόσφατες τιμές. Μια Υπηρεσία Ιστού, η οποία πραγματοποιείται καλώντας άλλες ονομάζεται σύνθετη υπηρεσία, ενώ μια υπηρεσία, η οποία υλοποιείται με απλή πρόσβαση στο τοπικό σύστημα, ονομάζεται βασική υπηρεσία [5]. Ο πελάτης δε χρειάζεται να γνωρίζει εάν μια Υπηρεσία Ιστού είναι βασική ή σύνθετη, απλά βλέπει το τελικό αποτέλεσμα. Ενώ ο αριθμός των διαθέσιμων Υπηρεσιών Ιστού συνεχίζει να αυξάνεται και το επιχειρησιακό περιβάλλον ακόμη απαιτεί νεότερες εφαρμογές, προκύπτει τόσο η ευκαιρία όσο και η ανάγκη για τεχνολογίες σύνθεσης υπηρεσιών. Αυτές οι τεχνολογίες παρουσιάζουν ομοιότητες με τα συστήματα ροής εργασιών (workflow) και έχουν τη δυνατότητα να ενεργοποιήσουν τη γρήγορη ανάπτυξη περίπλοκων υπηρεσιών από βασικές, ενώ παράλληλα να απλοποιήσουν τη συντήρηση και την εξέλιξη τέτοιων περίπλοκων υπηρεσιών. Σύμφωνα με την εργασία [37], υπάρχουν δύο βασικές προσεγγίσεις για τη σύνθεση Υπηρεσιών Ιστού: ο Σχεδιασμός Ενεργειών από τον τομέα της Τεχνητής Νοημοσύνης (A.I. Planning) και η ταυτοποίηση. Παράλληλα, υπάρχουν κάποιες αποκλίσεις ή παραλλαγές, όπως για παράδειγμα η χρήση πολυπρακτορικών συστημάτων. Ο Σχεδιασμός Ενεργειών ταιριάζει εκ φύσεως με το πρόβλημα της σύνθεσης υπηρεσιών, καθώς στοχεύει στην εύρεση μιας ακολουθίας ενεργειών, ώστε να μετατρέψει μια αρχική κατάσταση σε μία κατάσταση, η οποία θα περιλαμβάνει κάποιους στόχους. Ειδικά οι περιγραφές σε γλώσσα OWL-S είναι ιδανικές για την εφαρμογή τεχνικών του Σχεδιασμού Ενεργειών, επειδή οι είσοδοι, οι έξοδοι, οι προϋποθέσεις και τα αποτελέσματα (IOPEs) της OWL-S μπορούν να εξυπηρετήσουν απευθείας τον Σχεδιασμό συσχετίζοντας τις υπηρεσίες με τις ενέργειες (actions). Με άλλα λόγια, το πρόβλημα εύρεσης μιας ακολουθίας υπηρεσιών με σαφώς ορισμένα IOPEs για μια σύνθετη υπηρεσία μετατρέπεται στο πρόβλημα εύρεσης μιας ακολουθίας ενεργειών με τα ίδια IOPEs για να φτάσει σε μια κατάσταση-στόχο. Το πλεονέκτημα αυτής της μεθόδου είναι η επαναχρησιμοποίηση των βιβλιοθηκών των γνωστών αλγορίθμων Σχεδιασμού Ενεργειών. Η ταυτοποίηση απλών υπηρεσιών είναι μια προσέγγιση εξαντλητικής αναζήτησης, που αναφέρεται στον επαναληπτικό έλεγχο κάθε υπηρεσίας προσπαθώντας να την ταυτοποιήσει με τη ζητούμενη λειτουργικότητα. Ο εντοπισμός μιας ακολουθίας υπηρεσιών για τη σύνθεση περιλαμβάνει την ταυτοποίηση ατομικών υπηρεσιών σε κάθε βήμα. Η ταυτοποίηση σύμφωνα με το κείμενο των περιγραφών των υπηρεσιών, παρόλο που αποτελεί συχνό κριτήριο ταυτοποίησης, οδηγεί σε πολλαπλές σύνθετες υπηρεσίες χωρίς νόημα, ενώ οι περιγραφές με σημασιολογικές επισημάνσεις επιτρέπουν τη λογική ταυτοποίηση, η οποία βελτιώνει και αυτοματοποιεί τη διαδικασία. 50 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ Σύστημα Έτος Μέθοδος Τεχνική Meditskos and Bassiliades [38] 2007 Ταυτοποίηση Κανόνες Παραγωγής Bassiliades et al. [39] 2005 Ταυτοποίηση Συμπερασματική γλώσσα κανόνων Hatzi et al. [40][41][42] 2009 Σχεδιασμός Εν. LPG-td, JPlan Paluska et al. [43] 2008 Σχεδιασμός Εν. HTN Sousa et al. [44] 2006 Ταυτοποίηση Βελτιστοποίηση Knapsack Mokhtar [45] 2007 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων Thomson et al. [46] 2008 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων Ranganathan and Campbell [47] 2004 Σχεδιασμός Εν. BLACKBOX Beauche and Poizat [48] 2008 Σχεδιασμός Εν. GraphHTN Messer et al. [49] 2006 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων+κατάταξη Preuveneers and Berbers [50] 2005 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων + επίλυση περιορισμών Bottaro et al. [51] 2007 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων+κατάταξη Iacob et al. [52] 2008 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων+κατάταξη Yokohata et al. [53] 2006 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων Nakazawa et al. [54] 2004 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων Lagesse et al. [55] 2010 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων + επίλυση περιορισμών Davidyuk et al. [56] 2010 Σχεδιασμός Εν. Γενετικός αλγόριθμος Wisner and Kalofonos [57] 2007 Σχεδιασμός Εν. Αναζήτηση Χώρου Καταστάσεων Vukovic et al. [58] 2007 Σχεδιασμός Εν. TLPLAN Qiu et al. [59] 2006 Σχεδιασμός Εν. HTN Qasem et al. [60] 2004 Σχεδιασμός Εν. HTN Maamar et al. [61] 2005 Πράκτορες Διαπραγματεύσεις βάσει περιεχομένου Sheshagiri et al. [62] 2004 Σχεδιασμός Εν. STRIPS Mabrouk et al. [63] 2009 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων+κατάταξη Masuoka et al. [64] 2003 Ταυτοποίηση χειρωνακτικά Ni and Sloman [65] 2005 Σχεδιασμός Εν. Αναζήτηση Χώρου Καταστάσεων Vallée et al. [66] 2005 Πράκτορες Σημασιολογική Ταυτοποίηση Bertoli et al. [67] 2009 Σχεδιασμός Εν. BDD Ibrahim et al. [68] 2009 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων ανά ζεύγη Robinson et al. [69] 2004 Ταυτοποίηση Ταυτοποίηση δυνατοτήτων Santofimia [70] 2011 Σχεδιασμός Εν. HTN Πίνακας 3: Σύγκριση συστημάτων σύνθεσης ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 51

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Ο πίνακας 3 παρουσιάζει μια ενδεικτική επιλογή των συστημάτων της βιβλιογραφίας, που ασχολούνται με τη σύνθεση Υπηρεσιών Ιστού, και τα αναλύει ως προς το έτος δημοσίευσης, τη μέθοδο σύνθεσης και την ειδικότερη τεχνική, που χρησιμοποιούν. Ακολουθεί μια περιγραφή των πιο χαρακτηριστικών συστημάτων, καθώς πολλές εργασίες προτείνουν παραπλήσιες τεχνικές. Στις εργασίες [40], [41] και [42] το πρόβλημα της σύνθεσης Υπηρεσιών Ιστού μετατρέπεται σε πρόβλημα Σχεδιασμού Ενεργειών μέσω του συστήματος PORSCE II, το οποίο συνδέεται με το σύστημα VLEPPO για οπτική αναπαράσταση του προβλήματος και επίλυση του πλάνου με χρήση δύο εξωτερικών σχεδιαστών (LPG-td και JPlan). Ομοίως, οι Ranganathan και Campbell [47] εφαρμόζουν το σύστημα Σχεδιασμού Ενεργειών Blackbox σε STRIPS, που υποστηρίζει την επανεκτέλεση των ενεργειών. Το υποσύστημα σχεδιασμού στην εργασία [56] δέχεται μια ακολουθία από αφαιρετικούς υποστόχους του χρήστη, που πρέπει να μετατρέψει σε πραγματικές υλοποιήσεις/συσκευές. Η τεχνική, που συμπεριλαμβάνεται, βασίζεται σε εξελικτική και γενετική υπολογιστική βελτιστοποίηση, ενώ λαμβάνει επίσης υπόψιν πολλαπλά κριτήρια του χρήστη (πλησιέστερη, ταχύτερη ή φθηνότερη λύση) και προτιμήσεις του (πιστότητα και QoS). Γενικά, τα περισσότερα συστήματα σύνθεσης υπηρεσιών με ταυτοποίηση βασίζονται σε υποσυστήματα ταυτοποίησης. Εάν είναι εφαρμόσιμη, χρειάζεται μια ταυτοποίηση, η οποία απαιτεί παραμέτρους QoS ή προτιμήσεις. Επίσης, πολλές φορές χρησιμοποιείται μια συνάρτηση ωφέλειας για να βαθμολογηθούν οι υποψήφιες υπηρεσίες. Για παράδειγμα, στην εργασία [52] εφαρμόζεται μια προσέγγιση ταυτοποίησης, όπου οι υπηρεσίες-στόχοι αποσυντίθενται επαναληπτικά, μέχρι να βρεθεί μια λύση ταυτοποίησης για κάθε στοιχείο. Κάθε ταυτοποίηση αξιολογείται σύμφωνα με ένα μέτρο σημασιολογικής ομοιότητας. Ο αλγόριθμος σύνθεσης της εργασίας [38] ακολουθεί μια προσέγγιση από κάτω προς τα πάνω: ξεκινάει από τις ζητούμενες εξόδους και κατασκευάζει όλα τα δυνατά πλάνα σύνθεσης, που πετυχαίνουν αυτούς τους στόχους με βάση τις ζητούμενες εισόδους. Ο αλγόριθμος υλοποιείται από ένα σύνολο κανόνων παραγωγής σε αντικειμενοστραφή CLIPS, που ταυτοποιούν τις Υπηρεσίες Ιστού σύμφωνα με τις σημασιολογικές περιγραφές των εισόδων και των εξόδων τους. Το σύστημα SWIM της [39] βασίζεται στο μοντέλο Πεδίου Υπηρεσίας (Service Domain Model), το οποίο ενοποιεί το σύνολο των σχετικών υπηρεσιών, που ο χρήστης ζητάει να χρησιμοποιήσει με έναν μη προκαθορισμένο τρόπο, και προσφέρει μία μοναδική υπηρεσία, η οποία λειτουργεί σαν μεσολάβηση για αυτές. Το βασικό πλεονέκτημα του συστήματος είναι η χρήση μιας γλώσσας κανόνων βασισμένης στη λογική, που επιτρέπει τον συνδυασμό των αποτελεσμάτων πολλαπλών υπηρεσιών οδηγώντας σε μία απλή λογική μορφή. Τα πολυπρακτορικά συστήματα ως αυτόνομες οντότητες μπορούν να ενισχύσουν ένα σύστημα Διάχυτης Νοημοσύνης (Ambient Intelligence ή AmI) με διάφορους τρόπους. Οι πιο δημοφιλείς προσεγγίσεις ανταλλάσσουν δεδομένα για τα συμφραζόμενα (context) ή παίζουν ενεργό ρόλο στη σύνθεση εφαρμόζοντας ταυτοποίηση ή σχεδιασμό ενεργειών. Μπορούν, επίσης, απλά να καλέσουν αυτόματα το υποσύστημα σύνθεσης, απαλλάσσοντας τους χρήστες από την ευθύνη να το κάνουν μόνοι τους. Οι συγγραφείς της εργασίας [66] εφαρμόζουν μια προσέγγιση πολυπρακτορικού συστήματος, που συνδυάζει διαχείριση του context και ταυτοποίηση υπηρεσιών. Υπάρχουν τρεις τύποι πρακτόρων: οι βοηθητικοί πράκτορες, οι πράκτορες σύνθεσης και οι πράκτορες υπηρεσίας. Οι βοηθητικοί πράκτορες δέχονται την κατάσταση-στόχο 52 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 2: ΑΝΑΣΚΟΠΗΣΗ ΤΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑΣ είτε απευθείας από τον χρήστη είτε την συμπεραίνουν από κανόνες βασισμένους στο context. Οι πράκτορες σύνθεσης συνενώνουν πιθανές λύσεις, που περιλαμβάνουν ένα σύνολο από απαιτήσεις για υπηρεσίες και τις σχέσεις τους. Οι πράκτορες υπηρεσίας ικανοποιούν αυτές τις απαιτήσεις ταυτοποιώντας υπηρεσίες βασιζόμενοι σε περιγραφές με σημασιολογικές επισημάνσεις και τις αξιολογούν σύμφωνα με το παρόν context. Οι πράκτορες και των τριών τύπων έχουν την ικανότητα να διαπραγματεύονται μεταξύ τους. Στο τέλος, ο χρήστης μπορεί να αποφασίσει από διάφορα εναλλακτικά αποτελέσματα. Οι συγγραφείς της [61] επίσης προτείνουν αυτόνομους πράκτορες, οι οποίοι εφαρμόζουν συλλογικά σύνθεση υπηρεσιών. Οι διαφορετικοί τύποι των πρακτόρων σχετίζονται με τις σύνθετες υπηρεσίες, τις ατομικές υπηρεσίες και τα στιγμιότυπα υπηρεσιών και διαπραγματεύονται σύμφωνα με τη γνώση τους για την τωρινή κατάσταση της υπηρεσίας. Τέλος, οι πράκτορες BDI (Belief-Desire-Intention δηλαδή Πεποίθηση-Επιθυμία- Σκοπός) της εργασίας [70] αλληλοεπιδρούν μεταξύ τους ανταλλάσσοντας πληροφορία και τελικά καλούν πλάνα (με τον αλγόριθμο σχεδιασμού HTN) για να εκπληρώσουν τους στόχους τους. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 53

Κ Ε Φ Α Λ Α Ι Ο 3 : Η W EB Ε Φ Α Ρ Μ Ο Γ Η Τ ΑΥ Τ Ο Π Ο Ι Η Σ Η Σ Κ Α Ι Σ Υ Ν Θ Ε Σ Η Σ T O M A C O

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO Σε αυτή την ενότητα παρουσιάζεται το βασικό κομμάτι της διπλωματικής εργασίας, δηλαδή η web εφαρμογή, που αναπτύχθηκε στα πλαίσιά της. Το Tomaco 5 (Tool for Matching and Composition) είναι μια διαδικτυακή πλατφόρμα, η οποία προσφέρει Ταυτοποίηση και Σύνθεση Σημασιολογικών Υπηρεσιών Ιστού. Στην επόμενη υποενότητα γίνεται μια παρουσίαση της αρχιτεκτονικής του συστήματος και στη συνεχεία, αναλύονται οι διάφορες λειτουργίες του συστήματος μαζί με κάποια μικρά σενάρια χρήσης. 3.1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Στην εικόνα 19 μπορούμε να δούμε μια αφηρημένη διάταξη της αρχιτεκτονικής του συστήματος. Οι χρήστες μπορούν να έχουν πρόσβαση στη web γραφική διεπαφή της εφαρμογής μέσω οποιουδήποτε web browser. Η εφαρμογή φιλοξενεί στο server μια αποθήκη με συλλογές υπηρεσιών και μία αποθήκη με οντολογίες, στις οποίες οι χρήστες μπορούν να προσθέσουν αρχεία. να σχηματίσουν ερωτήματα χρησιμοποιώντας τη διεπαφή. Τα αρχεία αυτά είναι διαθέσιμα και μπορούν να χρησιμοποιηθούν για να σχηματίσουν ερωτήματα ταυτοποίησης ή σύνθεσης. To Εικόνα 19: Η υποδομή της εφαρμογής Tomaco με τις αποθήκες, τις μηχανές ταυτοποίησης και τις αλληλεπιδράσεις των χρηστών υποσύστημα ταυτοποίησης προσφέρει διάφορες στρατηγικές για να ταυτοποιήσει το 5 Tomaco Web Application στο http://lpis.csd.auth.gr/people/thanosgstavr/applications/tomaco.html ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 57

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ ερώτημα με τις υπηρεσίες της αποθήκης και επιστρέφει μια φιλτραρισμένη κατάταξη των αποτελεσμάτων στη διεπαφή. Ο ενσωματωμένος reasoner χρησιμοποιείται κατά τη διάρκεια της βασισμένης στη λογικής και της υβριδικής στρατηγικής, μέσα στη μηχανή ταυτοποίησης. Ομοίως, η βιβλιοθήκη αλγορίθμων ομοιότητας κειμένου χρησιμοποιείται κατά τη διάρκεια των συντακτικών και υβριδικών στρατηγικών. 3.2 ΓΕΝΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ Στην αρχική σελίδα της εφαρμογής (εικόνα 20) υπάρχει ένα ενημερωτικό κείμενο, που επεξηγεί τη χρησιμότητα του εργαλείου. Στα αριστερά του κειμένου υπάρχει ένα κάθετο, γκρι μενού, το οποίο προσφέρει τις τέσσερις βασικές επιλογές του Tomaco. Αυτές είναι η αποθήκη των υπηρεσιών, η αποθήκη των οντολογιών, η εφαρμογή ταυτοποίησης και η εφαρμογή σύνθεσης. Κάθε μία από αυτές τις λειτουργίες θα αναλυθεί εκτενώς στη συνέχεια. Εικόνα 20: Αρχική σελίδα Πέρα από αυτό το μενού, υπάρχουν τέσσερις επιλογές πάνω δεξιά, που συμβολίζονται με τέσσερα εικονίδια. Η πρώτη εικόνα (σπίτι) οδηγεί στην αρχική σελίδα, αυτή δηλαδή που περιέχει το επεξηγηματικό κείμενο. Το ίδιο ακριβώς συμβαίνει και με κλικάρισμα στο logo του εργαλείου, στην αριστερή πάνω γωνία. Η δεύτερη εικόνα, αυτή της λάμπας, οδηγεί στη σελίδα της εικόνας 21, που αναφέρει σύντομα τους κατασκευαστές της εφαρμογής και τα εργαλεία, που χρησιμοποιήθηκαν κατά τη δημιουργία της. Τα εργαλεία είναι από βιβλιοθήκες, που εφαρμόστηκαν στους αλγορίθμους, μέχρι υλικό, που χρησιμοποιήθηκε στο σχεδιασμό της ιστοσελίδας, π.χ. εικόνες. Το όνομα κάθε εργαλείου είναι με έντονα γράμματα και αποτελεί σύνδεσμο στους ιστότοπους, όπου διατίθενται ελεύθερα αυτά τα εργαλεία. 58 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO Εικόνα 21: Σελίδα πληροφοριών (About) Με κλικ στην τρίτη επιλογή, δηλαδή στο φάκελο δίπλα από τη λάμπα, πετάγεται το παράθυρο της εικόνας 22 με όλη την απαραίτητη πληροφορία για επικοινωνία με τους κατασκευαστές. Ο τρόπος επικοινωνίας μπορεί να είναι είτε με αποστολή email στη διεύθυνση, που διατίθεται, είτε με επίσκεψη σε αντίστοιχη προσωπική ιστοσελίδα. Εικόνα 22: Πληροφορίες επικοινωνίας Η τέταρτη και τελευταία επιλογή απεικονίζεται από έναν άνθρωπο και συνοδεύεται από το κείμενο «Log In». Είναι το κουμπί, που αφορά τη σύνδεση των χρηστών στο σύστημα. Όπως έχει ήδη αναφερθεί, το Tomaco είναι μια εφαρμογή στραμμένη προς τους χρήστες, δηλαδή μπορεί ο καθένας να φτιάξει ένα λογαριασμό και να συνεισφέρει με δικό του υλικό. Τόσο η δημιουργία λογαριασμού όσο και η σύνδεση πραγματοποιούνται μέσω αυτού του κουμπιού. Κάνοντας κλικ, εμφανίζεται ένα παράθυρο (εικόνα 23), το οποίο περιέχει μια φόρμα με δύο πεδία: ένα για το όνομα του ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 59

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ χρήστη (username) και ένα για τον κωδικό πρόσβασης (password). Εάν κάποιος είναι ήδη χρήστης του συστήματος, τα συμπληρώνει και πατάει το κουμπί «Log In». Στην περίπτωση που δεν είναι, πρέπει να πατήσει το γαλάζιο μήνυμα «Sign up!». Εικόνα 23: Φόρμα εισόδου χρήστη Πατώντας σε αυτό το μήνυμα, θα εμφανιστεί μια διαφορετική φόρμα (εικόνα 24) με πέντε πεδία. Οι πληροφορίες, που πρέπει να εισάγει ένας υποψήφιος χρήστης, είναι το ονοματεπώνυμό του, το ίδρυμα, που υπάγεται, τα επιθυμητά username και password και μια έγκυρη ηλεκτρονική διεύθυνση. Έπειτα, πατώντας το κουμπί «Sign Up» το σύστημα πληροφορεί εάν το επιθυμητό username είναι διαθέσιμο. Αν ναι, ένα email επιβεβαίωσης στέλνεται στην ηλεκτρονική διεύθυνση, όπου δήλωσε ο υποψήφιος χρήστης. Σε αυτό το email υπάρχει ένας σύνδεσμος, ο οποίος οδηγεί στην αρχική σελίδα του Tomaco και εκεί ένα μήνυμα πληροφορεί εάν η δημιουργία του Εικόνα 24: Δημιουργία λογαριασμού χρήστη 60 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO λογαριασμού ήταν επιτυχής. Αν δεν προκύψει πρόβλημα, ο χρήστης θα έχει συνδεθεί αυτόματα στο σύστημα και θα μπορεί να αξιοποιήσει όλες τις λειτουργίες του. Εφόσον ο χρήστης έχει συνδεθεί, το username του θα φαίνεται δίπλα από το εικονίδιο του ανθρώπου (εκεί που έγγραφε πριν «Log In»). Με κλικ στο username, εμφανίζεται το παράθυρο της εικόνας 25, το οποίο παρέχει την επιλογή για αποσύνδεση. Για να αποσυνδεθεί ο χρήστης από το σύστημα, χρειάζεται μόνο να πατήσει το κουμπί «Yes». Αν θελήσει να συνδεθεί πάλι, απλά πρέπει να πατήσει το κουμπί με τον άνθρωπο (ή το κείμενο «Log In»). 3.3 ΥΠΗΡΕΣΙΕΣ Εικόνα 25: Αποσύνδεση χρήστη Κάνοντας κλικ στο κουμπί «Services» του κάθετου μενού στα αριστερά, ανοίγει η αποθήκη των υπηρεσιών. Όπως φαίνεται στην εικόνα 26, υπάρχουν δύο μπάρες επιλογής και δύο κουτιά περιεχομένου. Εικόνα 26: Αποθήκη υπηρεσιών ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 61

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Η πρώτη μπάρα επιλογής αφορά τις συλλογές, δηλαδή τα σετ υπηρεσιών. Κάνοντας κλικ πάνω της εμφανίζονται όλες οι συλλογές. Ο χρήστης μπορεί να τις διατρέξει είτε με κύλιση προς τα κάτω (scroll-down) είτε πληκτρολογώντας κάποια γράμματα από το όνομά τους (auto-complete). Για την επιλογή μιας συλλογής αρκεί ένα απλό κλικ. Όταν η συλλογή έχει επιλεγεί, τότε το κουτί περιεχομένου στα αριστερά ανανεώνεται με όλες τις πληροφορίες της συλλογής, που έχουν αποθηκευτεί στη βάση δεδομένων του συστήματος (εικόνα 27). Οι πληροφορίες αυτές περιλαμβάνουν ένα σύντομο κείμενο περιγραφής, το username του χρήστη, που δημιούργησε τη συλλογή, την ιστοσελίδα της συλλογής (εάν υπάρχει), την ημερομηνία δημιουργίας της και τον αριθμό των υπηρεσιών, που την αποτελούν. Εικόνα 27: Επιλογή συλλογής υπηρεσιών και φόρτωση μεταδεδομένων Εικόνα 28: Εμφάνιση υπηρεσιών της συλλογής 62 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO Αφού ο χρήστης έχει επιλέξει συλλογή, μπορεί να κάνει κλικ στη δεύτερη μπάρα επιλογής και να δει τις υπηρεσίες, που περιλαμβάνει η συλλογή (εικόνα 28). Και πάλι μπορεί να τις διατρέξει με scroll-down ή auto-complete. Επιλέγοντας μία υπηρεσία, αυτή παρουσιάζεται σε μορφή δέντρου στο δεξί κουτί περιεχομένου (εικόνα 29). Κάθε στοιχείο της γλώσσας WSDL ή SAWSDL απεικονίζεται με αντίστοιχο σύμβολο, ενώ τα κουμπιά + και χρησιμοποιούνται για επέκταση ή συμπίεση του δέντρου. Εικόνα 29: Δέντρο της υπηρεσίας Στις εικόνες 26-29 μπορεί, επίσης, να φανεί ένα απλό σενάριο χρήσης. Ο χρήστης κλικάρει τη μπάρα επιλογής συλλογών και διαλέγει τη συλλογή Smartihu. Όλες οι σχετικές με τη συλλογή πληροφορίες παρουσιάζονται στο κουτί με τα μεταδεδομένα, ενώ η δεύτερη μπάρα επιλογής ενημερώνεται με τις υπηρεσίες της συλλογής. Στη συνέχεια, διαλέγει την υπηρεσία SmartPlugService.wsdl από τη λίστα των διαθέσιμων υπηρεσιών και αυτή παρουσιάζεται με τη μορφή δέντρου στο δεύτερο κουτί περιεχομένου. Όταν κάποιος δεν είναι απλά επισκέπτης της εφαρμογής, αλλά συνδεδεμένος χρήστης, τότε του δίνεται η δυνατότητα να προσθέσει μια συλλογή ή μια υπηρεσία. Για τη δημιουργία μιας νέας συλλογής, ο χρήστης πρέπει να πατήσει το κουμπί «Add» πάνω από τη μπάρα επιλογής συλλογών. Τότε πετάγεται το παράθυρο της εικόνας 30 με μία φόρμα τριών πεδίων. Το πρώτο πεδίο αναφέρεται στο όνομα της νέας συλλογής. Εάν το πεδίο αυτό μείνει κενό ή υπάρχει ήδη συλλογή με το επιθυμητό όνομα, το Tomaco δε δημιουργεί τη νέα συλλογή, αλλά εμφανίζει μήνυμα λάθους. Τα επόμενα δύο πεδία είναι προαιρετικά και αφορούν μια σύντομη περιγραφή και μια σχετική ιστοσελίδα. Όταν ο χρήστης έχει δώσει όλη την αναγκαία πληροφορία, μπορεί να κάνει κλικ στο κουμπί «Submit». Στην περίπτωση που κάποιος προσπαθήσει να προσθέσει μια συλλογή χωρίς να είναι συνδεδεμένος, τότε εμφανίζεται πάλι μήνυμα λάθους. Όταν η νέα συλλογή δημιουργηθεί με επιτυχία, το παράθυρο εξαφανίζεται και η λίστα των συλλογών ανανεώνεται, ώστε να συμπεριλαμβάνει τη νέα. ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 63

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Εικόνα 30: Προσθήκη νέας συλλογής υπηρεσιών Πέρα από τη δημιουργία νέας συλλογής, υπάρχει και η δυνατότητα προσθήκης νέας υπηρεσίας. Σε αυτή την περίπτωση, ο χρήστης πρέπει να πατήσει το κουμπί «Add» πάνω από τη μπάρα επιλογής υπηρεσιών. Το παράθυρο της εικόνας 31 εμφανίζεται στην οθόνη και προσφέρει δύο επιλογές: ο χρήστης μπορεί είτε να παρέχει ένα URL και να συνδέσει μια online υπηρεσία είτε να ανεβάσει ένα αρχείο υπηρεσίας από το δίσκο του. Και οι δύο επιλογές συνοδεύονται από το αντίστοιχο «Add» κουμπί. Κάτω από τις δύο επιλογές υπάρχει ένα μήνυμα, το οποίο ενημερώνει τους χρήστες ότι το Tomaco προς το παρόν υποστηρίζει περιγραφές υπηρεσιών μονού αρχείου. Όπως στην περίπτωση της νέας συλλογής, θα πρέπει να είναι συνδεδεμένος κάποιος για να Εικόνα 31: Προσθήκη νέας υπηρεσίας 64 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO προσθέσει μια υπηρεσία. Επιπλέον, θα πρέπει πρώτα να έχει επιλέξει συλλογή, στην οποία θα προστεθεί η νέα υπηρεσία. Ειδάλλως, εμφανίζεται σχετικό μήνυμα λάθους. Εάν η προσθήκη της υπηρεσίας ολοκληρωθεί με επιτυχία, το παράθυρο θα εξαφανιστεί και η νέα υπηρεσία θα είναι διαθέσιμη στη λίστα της δεύτερης μπάρας επιλογής. 3.4 ΟΝΤΟΛΟΓΙΕΣ Κάνοντας κλικ στο κουμπί «Ontologies» από το αριστερό μενού, ανοίγει η σελίδα της εικόνας 32, που αφορά την αποθήκη των οντολογιών. Στη σελίδα υπάρχουν μια μπάρα επιλογής, ένα κουτί μεταδεδομένων και ένα κενό κουτί περιεχομένου. Με κλικ στη μπάρα επιλογής εμφανίζονται οι διαθέσιμες οντολογίες του συστήματος και ο χρήστης μπορεί να τις διατρέξει με scroll-down ή autocomplete. Με την επιλογή μιας οντολογίας μέσω κλικ, ενημερώνεται το κουτί των μεταδεδομένων με σχετικές πληροφορίες. Αυτές περιλαμβάνουν μια σύντομη περιγραφή, το username του χρήστη, που την ανέβασε, την ιστοσελίδα της οντολογίας και την ημερομηνία προσθήκης της. Την ίδια στιγμή ενημερώνεται και το κουτί περιεχομένου στα δεξιά με το δέντρο της οντολογίας (αποτυπώνοντας την ιεραρχία των κλάσεων). Εικόνα 32: Αποθήκη οντολογιών Στην εικόνα 33 φαίνεται ένα μικρό σενάριο χρήσης, όπου ο χρήστης επιλέγει την οντολογία SUMO.owl. Την ίδια στιγμή, ενημερώνεται το κουτί των μεταδεδομένων με τις πληροφορίες της SUMO.owl και το δεξί κουτί με το δέντρο της οντολογίας. Πάλι υπάρχει η επιλογή για τους συνδεδεμένους χρήστες του Tomaco να προσθέσουν τις δικές τους οντολογίες. Κάνοντας κλικ στο κουμπί «Add» πάνω από τη μπάρα επιλογής οντολογιών, εμφανίζεται το παράθυρο της εικόνας 34 με μία φόρμα τεσσάρων πεδίων. Τα δύο πρώτα πεδία είναι προαιρετικά και αναφέρονται σε μια σύντομη περιγραφή της οντολογίας και σε μια σχετική ιστοσελίδα. Έπειτα, ο χρήστης πρέπει να διαλέξει μία από τις δύο επιλογές. Το ένα πεδίο δέχεται ένα URL για να συνδέσει μια οντολογία, που βρίσκεται στον Ιστό. Το δεύτερο πεδίο επιτρέπει την εισαγωγή αρχείου από το δίσκο. Εδώ να σημειωθεί ότι το σύστημα υποστηρίζει μόνο οντολογίες της μορφής OWL και RDF. Εάν ο χρήστης προσπαθήσει να ανεβάσει μια οντολογία διαφορετικού τύπου, θα εμφανιστεί μήνυμα λάθους. Επίσης, όπως στην περίπτωση της ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 65

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ νέας συλλογής ή της νέας υπηρεσίας, αποτελεί προϋπόθεση η σύνδεση στο σύστημα (log in). Αν η οντολογία ανέβει με επιτυχία, τότε η μπάρα επιλογής θα ανανεωθεί, ώστε να περιέχει και τη νέα οντολογία. Εικόνα 33: Εμφάνιση μεταδεδομένων και δέντρου οντολογίας 3.5 ΤΑΥΤΟΠΟΙΗΣΗ Εικόνα 34: Προσθήκη νέας οντολογίας Πέρα από τις αποθήκες των υπηρεσιών και των οντολογιών, το Tomaco προσφέρει δύο βασικές εφαρμογές. Η πρώτη είναι ένας αλγόριθμος ταυτοποίησης υπηρεσιών και η δεύτερη ένας αλγόριθμος σύνθεσης υπηρεσιών. Με κλικ στο κουμπί «Matching» εμφανίζεται μια φόρμα με πολλές επιλογές (εικόνα 35), οι οποίες συνθέτουν ένα ερώτημα ταυτοποίησης. 66 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO Εικόνα 35: Φόρμα ερωτήματος ταυτοποίησης Η πρώτη επιλογή του ερωτήματος αναφέρεται στη στρατηγική ταυτοποίησης, που επιθυμεί ο χρήστης. Με ένα κλικ στην πάνω αριστερά μπάρα επιλογής (εικόνα 36) εμφανίζονται οι διαθέσιμες στρατηγικές: η βασισμένη στη λογική (Logic-based), η βασισμένη στην ομοιότητα κειμένου της σημασιολογίας (Syntactic-On-Semantics), η βασισμένη στην ομοιότητα κειμένου της ονοματολογίας (Syntactic-On-Syntactics) και η υβριδική (Hybrid). Οι τρεις στρατηγικές πέραν της βασισμένης στη λογική προσφέρουν δύο εκδόσεις ανάλογα με τον αλγόριθμο ομοιότητας κειμένου, που χρησιμοποιούν (MongeElkan ή Jaro). Με απλό κλικ επιλέγεται η στρατηγική. Εικόνα 36: Επιλογή στρατηγικής Η επόμενη μπάρα επιλογής πάνω δεξιά (εικόνα 37), αναφέρεται στις συλλογές από προσφερόμενες υπηρεσίες. Αυτή η επιλογή ορίζει τον χώρο αναζήτησης, δηλαδή το σύνολο των υπηρεσιών, στις οποίες θα εφαρμοστεί ο αλγόριθμος ταυτοποίησης. Ο ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 67

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ χρήστης μπορεί κλασικά να δει τις διαθέσιμες συλλογές με scroll-down και autocomplete. Εικόνα 37: Επιλογή συλλογής Η τρίτη μπάρα επιλογής εμφανίζει όλες τις διαθέσιμες οντολογίες, ώστε ο χρήστης να σχηματίσει μέσω σημασιολογίας τις επιθυμητές εισόδους και εξόδους. Κάνοντας κλικ σε μία, το δέντρο με τις κλάσεις της εμφανίζεται στο κουτί κάτω από τη μπάρα (εικόνα 38). Εικόνα 38: Επιλογή οντολογίας Εάν ο χρήστης επιθυμεί να επιλέξει μια κλάση ως απαιτούμενη είσοδο ή έξοδο, τότε αρκεί να κάνει κλικ σε αυτή την κλάση και έπειτα κλικ σε ένα από τα γκρι βέλη: το πρώτο βέλος θα την προσθέσει στις εισόδους και το δεύτερο στις εξόδους. Επιπλέον, υπάρχει η ελευθερία οι είσοδοι και οι έξοδοι να αποτελούνται από κλάσεις 68 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO διαφορετικών οντολογιών (επιλέγοντας απλά άλλη οντολογία και κάνοντας κλικ σε κάποια κλάση της). Τελευταίες ρυθμίσεις για το ερώτημα αποτελούν το βάρος εισόδου-εξόδου και το κατώφλι βαθμολογίας. Το βάρος ορίζει πόσο πιο σημαντικές είναι οι είσοδοι από τις εξόδους, ενώ το κατώφλι ορίζει την ελάχιστη βαθμολογία, που απαιτείται, ώστε μία υπηρεσία να επιστραφεί ως αποτέλεσμα. Και τα δύο παίρνουν τιμές από 0.1 έως 0.9 και μπορούν να αλλάξουν μέσω των κουμπιών και +. Εικόνα 39: Εκτέλεση ερωτήματος Όταν ο χρήστης έχει σχηματίσει το ερώτημά του, πρέπει να πατήσει το κουμπί «Execute», ώστε να ξεκινήσει ο αλγόριθμος ταυτοποίησης. Εικόνα 40: Πίνακας των αποτελεσμάτων ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 69

ΣΤΕΛΙΟΣ ΑΝΔΡΕΑΔΗΣ Εάν υπάρχουν αποτελέσματα για το ερώτημα, θα επιστραφούν σε πίνακα, όπως φαίνεται στην εικόνα 40. Η πρώτη στήλη του πίνακα παρουσιάζει το όνομα του αρχείου της υπηρεσίας. Η δεύτερη στήλη παρουσιάζει το όνομα του στοιχείου interface του αρχείου και η τρίτη το όνομα του operation. Η τέταρτη στήλη περιέχει τη βαθμολογία, που συγκέντρωσε το operation της υπηρεσίας για το ερώτημα του χρήστη. Η πέμπτη και τελευταία στήλη περιέχει το σύνδεσμο «get reasons» για να ενημερωθεί ο χρήστης για τους λόγους, που επιστράφηκε ως αποτέλεσμα η υπηρεσία. Κάνοντας κλικ στο σύνδεσμο «get reasons» εμφανίζεται ένας νέος πίνακας, ακριβώς κάτω από τον πίνακα των αποτελεσμάτων, που παρουσιάζει τους λόγους ταυτοποίησης της υπηρεσίας. Ο πίνακας των reasons (εικόνα 41) αποτελείται από τέσσερις διαφορετικές στήλες. Η πρώτη πληροφορεί σχετικά με το αν πρόκειται για είσοδο ή για έξοδο. Η δεύτερη παρουσιάζει τον τύπο της εισόδου/εξόδου, ο οποίος μπορεί να είναι operation, part, element, simpletype ή complextype. Η τρίτη στήλη περιέχει το όνομα του στοιχείου και η τελευταία τη σημασιολογική του αναφορά. Εικόνα 41: Εμφάνιση αιτιολόγησης αποτελέσματος (reasons) Παρατηρώντας τις εικόνες 35-41 παρουσιάζεται επίσης ένα σενάριο χρήσης. Ο χρήστης αρχικά επιλέγει στην πρώτη μπάρα την υβριδική στρατηγική, που χρησιμοποιεί τον MongeElkan ως αλγόριθμο ομοιότητας κειμένου. Από τη δεύτερη μπάρα επιλέγει ως χώρο αναζήτησης τη συλλογή SAWSDL-TC 3. Έπειτα, διαλέγει την οντολογία books.owl, κάνει κλικ στην κλάση Person και κάνοντας κλικ στο πάνω βέλος την προσθέτει στις ζητούμενες εισόδους. Δεν αλλάζει το βάρος ή το κατώφλι και έτσι αυτά παραμένουν 0.5. Αυτό σημαίνει ότι οι είσοδοι έχουν την ίδια σημασία με τις εξόδους και ότι οι υπηρεσίες με βαθμό κάτω του 0.5 δε θα επιστραφούν ως αποτελέσματα. Αφότου πατήσει «Execute», εμφανίζεται ο πίνακας των αποτελεσμάτων. Το πρώτο αποτέλεσμα είναι η υπηρεσία bookpersoncreditaccount_ Beaservice.wsdl με το interface CreditaccountbookpersonSoap και το operation get. Η βαθμολογία του είναι 1.0. Ο χρήστης πατάει το «get reasons» και εμφανίζεται ο δεύτερος πίνακας, που τον ενημερώνει ότι το συγκεκριμένο operation επιστράφηκε ως αποτέλεσμα, διότι περιέχει μία είσοδο τύπου simpletype και ονόματος PersonType, η οποία έχει την ίδια σημασιολογική επισήμανση με τη ζητούμενη είσοδο ( books.owl#person). 70 ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ

ΚΕΦΑΛΑΙΟ 3: Η WEB ΕΦΑΡΜΟΓΗ ΤΑΥΤΟΠΟΙΗΣΗΣ ΚΑΙ ΣΥΝΘΕΣΗΣ TOMACO 3.6 ΣΥΝΘΕΣΗ Όπως αναφέρθηκε, η δεύτερη εφαρμογή του Tomaco προσφέρει έναν αλγόριθμο σύνθεσης υπηρεσιών, χρησιμοποιώντας σχεδιασμό ενεργειών και συγκεκριμένα τον σχεδιαστή Blackbox. Κάνοντας κλικ στο κουμπί «Composition» του αριστερού μενού, εμφανίζεται η σελίδα της εικόνας 42, η οποία αποτελείται από μία φόρμα. Εικόνα 42: Φόρμα ερωτήματος σύνθεσης Εικόνα 43: Εκτέλεση ερωτήματος σύνθεσης Η πρώτη μπάρα επιλογής παρουσιάζει τις συλλογές των προσφερόμενων υπηρεσιών και έτσι ο χρήστης μπορεί να επιλέξει τον χώρο αναζήτησης. Οι ζητούμενες είσοδοι και έξοδοι ορίζονται όπως στην ταυτοποίηση. Η δεύτερη μπάρα περιέχει τις διαθέσιμες οντολογίες. Κάνοντας κλικ σε μία οντολογία, εμφανίζεται το δέντρο των κλάσεων της στο κουτί κάτω από τη μπάρα. Έπειτα ο χρήστης διαλέγει μια κλάση και με κλικ στα ΣΗΜΑΣΙΟΛΟΓΙΚΗ ΕΠΙΛΟΓΗ ΚΑΙ ΣΥΝΘΕΣΗ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ 71