A novel specification and composition language for services
Authors: Μπαργιάννης Γεώργιος 
Published: August 2021

H Υπηρεσιοστρεφής Αρχιτεκτονική έχει αναδειχθεί σε εξέχοντα τρόπο σχεδίασης που καθιστά τις υποδομές Πληροφοριακής Τεχνολογίας ικανές να παρέχουν σε εφαρμογές τη δυνατότητα συμμετοχής σε επιχειρησιακές διεργασίες, ανεξάρτητα από τα υποκείμενα χαρακτηριστικά τους. Για την αποτελεσματική εύρεση και χρήση των πιο κατάλληλων υπηρεσιών (ή συνθέσεων υπηρεσιών) αναφορικά με τις ανάγκες ενός καταναλωτή, ο πάροχος θα πρέπει να προσφέρει πλήρεις προδιαγραφές για τις υπηρεσίες, περιγράφοντας τις εισόδους και συνθήκες που απαιτούνται πριν την εκτέλεση, καθώς επίσης και τις εξόδους και αποτελέσματα που προκύπτουν από μια επιτυχή εκτέλεση. Τέτοιες προδιαγραφές υπηρεσιών είναι απαραίτητες σε μια πληθώρα από δραστηριότητες όπως σε ελέγχους συμμόρφωσης και επαλήθευσης σωστής λειτουργίας, στην αξιολόγηση αποτελεσμάτων προσαρμογής υπηρεσιών και στον προσδιορισμό της δυνατότητας σύνθεσης ενός συνόλου υπηρεσιών. Οι προδιαγραφές υπηρεσιών βασίζονται στην έκφραση συνθηκών που πρέπει να ισχύουν πριν και μετά την εκτέλεση της υπηρεσίας. Τέτοιες προδιαγραφές είναι επιρρεπείς σε μια οικογένεια προβλημάτων, που είναι γνωστά στο πεδίο της Τεχνητής Νοημοσύνης ως το πρόβλημα πλαισίου, το πρόβλημα επιπτώσεων και το πρόβλημα προϋποθέσεων. Τα προβλήματα αυτά σχετίζονται με τη σαφή και ευέλικτη έκφραση των μη-αποτελεσμάτων, έμμεσων αποτελεσμάτων και προϋποθέσεων εκτέλεσης μιας ενέργειας. Η έρευνα στο πεδίο των υπηρεσιών έχει αγνοήσει αυτά τα προβλήματα σε μεγάλο βαθμό, αγνοώντας ταυτόχρονα και τις συνέπειές τους, όπως για παράδειγμα το να διακινδυνεύεται η ακεραιότητα της παρεχόμενης υπηρεσίας και η αξιοπιστία του παρόχου, καθώς επίσης και η αδυναμία αιτιολόγησης στην περίπτωση μη-αναμενόμενων αποτελεσμάτων εκτέλεσης. Για την αντιμετώπιση αυτών των ζητημάτων, η παρούσα διατριβή προτείνει τη Γλώσσα Προδιαγραφών Υπηρεσιών (WSSL), μια νέα γλώσσα για προδιαγραφές και σύνθεση υπηρεσιών, ανεξάρτητη από μοντέλα σχεδίασης υπηρεσιών. Η θεμελίωση της γλώσσας βασίζεται στο λογισμό των μεταβλητών ιδιοτήτων (fluent calculus), ο οποίος που παρέχει λύσεις στα προβλήματα πλαισίου, επιπτώσεων και προϋποθέσεων. Εκτός από το βασικό συντακτικό και τη σημασιολογία της γλώσσας, παρέχονται επεκτάσεις στις εξής κατευθύνσεις: υλοποίηση σύνθεσης υπηρεσιών λαμβάνοντας υπόψη μη-ντετερμινιστικά πρότυπα, προδιαγραφή προφίλ Ποιότητας Υπηρεσιών (ΠΥ) σύμφωνα με διαθέσιμα μοντέλα και μεταμοντέλα περιγραφής ΠΥ και υποστήριξη αβεβαιότητας στην περιγραφή των καταστάσεων που συνθέτουν το μοντέλο συμπεριφοράς της υπηρεσίας. Για να διαπιστωθεί η χρησιμότητα της γλώσσας και να αναδειχθούν τα σημαντικά της οφέλη, σχεδιάστηκε και υλοποιήθηκε ένα καινοτόμο σύστημα σύνθεσης και επαλήθευσης υπηρεσιών βάσει προδιαγραφών, το οποίο προάγει την έρευνα στο πεδίο της σύνθεσης υπηρεσιών ικανοποιώντας ταυτόχρονα μια σειρά από σημαντικές απαιτήσεις: περιγραφή δευτερευουσών συνεπειών και υποστήριξη αβεβαιότητας, υποστήριξη μη-ντετερμινιστικών δομών ελέγχου, δυναμική αντιστοίχηση υπηρεσιών, δυνατότητα παροχής επεξηγήσεων σε περίπτωση μη αναμενόμενης συμπεριφοράς και υποστήριξη χαρακτηριστικών ΠΥ. Τέλος, εκτελέστηκε μια εκτενής πειραματική αξιολόγηση του συστήματος, όσον αφορά τη δυνατότητα κλιμακωτής απόδοσης και το βαθμό βελτιστοποίησης της τελικής σύνθεσης. Τα αποτελέσματα της αξιολόγησης δείχνουν ότι η διαδικασία εύρεσης συνθέσεων βάσει λειτουργικών στόχων είναι αποδοτική για αποθετήρια που περιέχουν μέχρι 500 διαφορετικά έγγραφα προδιαγραφών, ακόμα και με την προσθήκη έμμεσων αποτελεσμάτων, ενώ η εύρεση του βέλτιστου πλάνου εκτέλεσης σχετίζεται σε μεγάλο βαθμό με την πραγματογνωμοσύνη του σχεδιαστή συνθέσεων υπηρεσιών αναφορικά με τον ορισμό κατάλληλων ευρετικών κανόνων.