Εφαρµογή Τεχνολογιών και Υπηρεσιών Σηµασιολογικού Ιστού στην Αυτοµατοποίηση της Βιοµηχανικής Παραγωγής. ιπλωµατική Εργασία

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Εφαρµογή Τεχνολογιών και Υπηρεσιών Σηµασιολογικού Ιστού στην Αυτοµατοποίηση της Βιοµηχανικής Παραγωγής. ιπλωµατική Εργασία"

Transcript

1 ιπλωµατική Εργασία Τίτλος: Εφαρµογή Τεχνολογιών και Υπηρεσιών Σηµασιολογικού Ιστού στην Αυτοµατοποίηση της Βιοµηχανικής Παραγωγής Χατζής Σπυρίδων (ΑΜ 238) Επιβλέπων Καθηγητής: Γ. Χασάπης Θεσσαλονίκη, Απρίλιος

2 Πίνακας Περιεχοµένων Π ίνακας Περιεχοµένων 2 1. Εισαγωγή Ερευνητική περιοχή και περιεχόµενο της διπλωµ ατικής 5 2. Περιγραφή των τεχνολογιών και των υπηρεσιών που εφαρµόζονται για την υλοποίηση του σηµασιολογικού ιστού Εισαγωγή Σύντοµη περιγραφή των τεχνολογιών και των γλωσσών του σηµασιολογικού ιστού Πρότυπο Unicode Πρότυπο σύνταξης ονοµάτων και διευθύνσεων URI Γλώσσες XML XM L Schema Γλώσσες RDF και RDFS Η γλώσσα ερωτηµάτων SPARQL Η γλώσσα οντολογιών OWL Υπηρεσίες Ιστού (Web Services) Βασική δοµή των εγγράφων σε γλώσσα WSDL Αρχιτεκτονική SOA Από τις υπηρεσίες ιστού (Web Services) στις υπηρεσίες σηµασιολογικού ιστού (Semantic Web Services) Βασικές έννοιες της γλώσσας OWL-S Ιδιότητες της κλάσης profile στη γλώσσα OWL-S Στοιχεία της κλάσης process στη γλώσσα OWL-S Στοιχεία της κλάσης WsdlGrounding στη γλώσσα OWL-S Περιγραφή των εφαρµογών των τεχνολογιών και των υπηρεσιών του σηµ ασιολογικού ιστού στη βιοµηχανία Εισαγωγή - Χαρακτηριστικά των βιοµηχανικών συστηµάτων Οντολογίες και εφαρµογή τους στις βιοµηχανικές διεργασίες, στα προϊόντα και στον εξοπλισµό Ιεραρχική ταξινόµηση διεργασιών Οντολογίες προϊόντων Οντολογίες εξοπλισµού Οντολογίες βελτιωµένης περιγραφής διεργασιών (refined process ontologies) 3. 3 Σύντοµη επισκόπηση της εφαρµογής τεχνολογιών και υπηρεσιών σηµασιολογικού ιστού στο βιοµηχανικό αυτοµατισµό

3 3.3.1 Οντολογίες και πολυπρακτορικά συστήµατα Οντολογίες για την υποστήριξη σχεδιασµού Υπηρεσίες ιστού (WS) και σηµασιολογικού ιστού (SWS) στο βιοµηχανικό αυτοµατισµό Υπηρεσιοστραφής αρχιτεκτονική (SOA) και υπηρεσίες ιστού (WS) στο βιοµηχανικό αυτοµατισµό Περιγραφή των υπηρεσιών σηµασιολογικού ιστού µε την οντολογία OWL-S ηµιουργία ευφυούς βιοµηχανικού περιβάλλοντος µε τη βοήθεια των SWS Προφίλ συσκευών για υπηρεσίες ιστού (Devices Profile for Web Services) Χαρακτηριστικά παραδείγµατα από την ερευνητική περιοχή εφαρµογής τεχνολογιών και υπηρεσιών σηµασιολογικού ιστού στο επίπεδο βιοµηχανικής π αραγωγής Εφαρµογή των οντολογιών σε πολυπρακτορικά συστήµατα Εφαρµογή οντολογίας σε πολυπρακτορικό σύστηµα µεταφοράς παλετών Εφαρµογή οντολογίας σε πράκτορα αναδιάταξης µηχανών Εφαρµογή οντολογίας σε πολυπρακτορικό σύστηµα ελέγχου εξοπλισµού µ εταφοράς και συναρµολόγησης Εφαρµογές υπηρεσιών ιστού (WS) και σηµασιολογικού ιστού (SWS) στο βιοµηχανικό αυτοµατισµό Εφαρµογή ευέλικτου και συνεργατικού αυτοµατισµού µε τη χρήση υπηρεσιών ιστού (WS) Περιγραφή της αρχιτεκτονικής του συστήµατος Εφαρµογή των WS στο σύστηµα Σύστηµα παρακολούθησης βιοµηχανικών εγκαταστάσεων πεπιεσµένου αέρα µε εφαρµογή υπηρεσιών ιστού (WS) Μία προσέγγιση για τον έλεγχο συστηµάτων παραγωγής βασισµένη στις υπηρεσίες σηµασιολογικού ιστού Γενική περιγραφή του συστήµατος Παράδειγµα του πύργου φωτισµού Εφαρµογή οντολογιών και υπηρεσιών ιστού σε εγκατεστηµένη γραµµή συσκευασίας κοκκοποιηµένου λιπάσµατος Γενικά Περιγραφή εγκατεστηµένης γραµµής συσκευασίας Σχεδίαση και ανάπτυξη συστήµατος επιτήρησης µε συλλογή και αναπαράσταση δεδοµένων της λειτουργικής κατάστασης της γραµµής συσκευασίας µε εφαρµογή αρχιτεκτονικής SOA και υπηρεσιών SWS Σχεδίαση του συστήµατος επιτήρησης της γραµµής συσκευασίας

4 5.3.2 Εγκατεστηµένες διατάξεις αυτοµατισµού και κυκλώµατα σηµάτων των επί µέρους µηχανών της γραµµής Σχεδίαση και ανάπτυξη του λογισµικού του κατανεµηµένου συστήµατος επιτήρησης της γραµµής συσκευασίας Γενικά Περιγραφή µεθόδων των µεσολαβητών - εξυπηρετητών Σχεδίαση και µοντελοποίηση σύνθετων υπηρεσιών της γραµµής Υπολογισµός δεικτών καλής λειτουργίας της γραµµής Αξιολόγηση εκµετάλλευσης της γραµµής Αξιολόγηση ποιότητας παραγόµενου προϊόντος Περιγραφή µεθόδων της υπηρεσίας ιστού της γραµµής Σχεδίαση της εφαρµογής διαχείρισης δεδοµένων Μοντελοποίηση του πεδίου εφαρµογής µε ανάπτυξη οντολογίας σε γλώσσα OWL και περιγραφή των υπηρεσιών ιστού µε την οντολογία OWL-S Υλοποίηση της εφαρµογής του συστήµατος επιτήρησης της γραµµής συσ κευασίας ω ς προσοµοίωση σε περιβάλλον Netbeans Περιβάλλον και εργαλεία υλοποίησης Υλοποίηση ως προσοµοίωση της εφαρµογής των υπηρεσιών ιστού της γραµµής συσκευασίας Υπηρεσίες σηµασιολογικού ιστού του αυτόµατου ζυγού µε οντολογίες OWL-S Σηµασιολογική περιγραφή των σύνθετων διεργασιών της εφαρµογής Υλοποίηση εφαρµογής πελάτη των υπηρεσιών για την επιτήρηση του αυτόµατου ζυγού της γραµµής συσκευασίας Συνοπτική παρουσίαση του λογισµικού που χρησιµοποιήθηκε για την υλοποίηση της εφαρµογής Συµπεράσµατα Μελλοντική εργασία Βιβλιογραφία 97 Παράρτηµα Α: Κώδικας των µεθόδων των υπηρεσιών ιστού της εφαρµογής 100 Παράρτηµα B: Έγγραφα WSDL των υπηρεσιών ιστού της εφαρµογής 119 Παράρτηµα Γ: Έγγραφο οντολογίας περιγραφής της γραµµής συσκευασίας 134 Παράρτηµα : Έγγραφα σηµασιολογικής περιγραφής σε OWL-S των απλών και σύνθετων υπηρεσιών ιστού της εφαρµογής 158 Παράρτηµα Ε: Κώδικας εφαρµογής πελάτη των υπηρεσιών για την επιτήρηση του αυτόµατου ζυγού της γραµµής συσκευασίας

5 1. Εισαγωγή Ερευνητική περιοχή και περιεχόµενο της διπλωµατικής Οι σύγχρονες τάσεις της αγοράς οδηγούν στην ολοένα αυξανόµενη απαίτηση για εξατοµίκευση των παραγόµενων προϊόντων µε κύκλο ζωής που τείνει διαρκώς να µειώνεται. Η τάση αυτή αναµένεται στο µέλλον να ενισχυθεί. Οι εταιρείες βιοµηχανικής παραγωγής θα παραµένουν ανταγωνιστικές αυξάνοντας την παραγωγικότητα, αλλά και τη δυνατότητα ανταπόκρισης σε ποικιλία νέων προϊόντων µε την ανάπτυξη της ευελιξίας τους. Στα πλαίσια αυτά, θα πρέπει να βελτιώνουν τη χρήση των εγκατεστηµένων διατάξεων και να µειώνουν το κόστος ανάπτυξης, συντήρησης και ανακύκλωσης. Έτσι, µία από τις σηµαντικές προκλήσεις για τα σηµερινά και τα µελλοντικά συστήµατα βιοµηχανικής παραγωγής είναι η βελτίωση της δυνατότητας γρήγορης επανασύνθεσής τους, έτσι ώστε να εξελίσσονται και να προσαρµόζονται στην απαίτηση της µαζικής εξατοµίκευσης των παραγόµενων προϊόντων [1]. Αυτή η πρόκληση φαντάζει ακόµη πιο απαιτητική όταν νέες µορφές διαδικασιών παραγωγής προωθούνται και νέα συστατικά µέρη των γραµµών παραγωγής όπως σύνθετες διατάξεις, συσκευές ή µηχανές προστίθενται, και τα υφιστάµενα µέρη αναµένεται να αλληλεπιδράσουν µε τα νεοεισερχόµενα χωρίς να υπάρχει από πριν η γνώση για το πώς πρέπει να συνεργάζονται. Αυτή η απαίτηση δεν ισχύει µόνο για νέες, ενδεχοµένως καινοτόµες διαδικασίες και διατάξεις, αλλά και για τις υφιστάµενες, λόγω της αδυναµίας να ενσωµατώσουν τις γνώσεις για όλα τα διαθέσιµα στοιχεία του συστήµατος σε µία µόνο νοήµονα διάταξη. Αναφέροντας ένα παράδειγµα από τον τοµέα της αυτοκινητοβιοµηχανίας [3] το οποίο παρουσιάζεται στο σχήµα 1, η ποικιλία και η πολυπλοκότητα των νέων αυτοκινήτων αυξάνεται διαρκώς από το "πολύ απλό" σε "πολύ περίπλοκο" ενώ την ίδια στιγµή, ο χρόνος από τον αρχικό σχεδιασµό µέχρι τη διάθεση στην αγορά διαρκώς συρρικνώνεται. Αυτή η εξέλιξη συµβαίνει και σε πολλούς άλλους τοµείς της βιοµηχανικής παραγωγής. Σχήµα 1: Εξέλιξη της παραγωγής όσον αφορά την πολυπλοκότητα των προϊόντων και του χρόνου διάθεσης στην αγορά στον τοµέα της αυτοκινητοβιοµηχανίας κατά τα έτη από 1980 µέχρι το [4] Οι εταιρείες βιοµηχανικής παραγωγής προσπαθούν να ανταποκριθούν στις απαιτήσεις αυτές, προσανατολιζόµενες προς την παραγωγή που βασίζεται στην ευφυΐα. Στο επίπεδο της παραγωγής, ένα προτεινόµενο παράδειγµα (paradigm) είναι τα βιοµηχανικά συστήµατα άµεσης αναπροσαρµογής (Rapidly Reconfigurable Manufacturing Systems, - 5 -

6 RRMS), µε τη χρήση νοήµονων κατανεµηµένων συστηµάτων αυτοµατισµού. Τα συστήµατα αυτά πρέπει να λειτουργούν µε στενή συνεργασία, αποτελούµενα από µία µεγάλη ποικιλία από γενικές και ειδικές συσκευές, µηχανές και πράκτορες λογισµικού που θα πρέπει να αλληλεπιδρούν και να συνεργάζονται εντατικά. Τα συστήµατα αυτά, στη γενική περίπτωση αποτελούνται από ετερογενή νοήµονα µέρη τα οποία δρουν ανεξάρτητα. Η συνεργατική λειτουργία σύµφωνα µε την οποία τα στοιχεία αυτοενορχηστρώνονται λαµβάνοντας υπόψη τους κοινούς τους στόχους είναι δυνατή µόνο αν τα στοιχεία µοιράζονται ένα κοινό τρόπο αντίληψης του πώς να αλληλεπιδρούν και κοινό τρόπο κατανόησης της πληροφορίας που ανταλλάσσεται. Συνεπώς, πρέπει να οριστούν κοινές προδιαγραφές, τόσο για την πληροφορία και το συντακτικό των ανταλλαγών όσο και για τη σηµασιολογική περιγραφή. Ο στόχος που τίθεται είναι η δηµιουργία µιας µεθοδολογίας για την ανάπτυξη αυτόνοµων και αυτορρυθµιζόµενων συστηµάτων παραγωγής µε τη χρήση δοµικών στοιχείων τα οποία µπορεί να γνωρίζουν ή όχι τον τύπο άλλων στοιχείων µε τα οποία θα αλληλεπιδράσουν. Ο στόχος αυτός µπορεί να επιτευχθεί µε τη χρήση τεχνολογιών και υπηρεσιών που έχουν προταθεί και αναπτυχθεί για το σηµασιολογικό ιστό. Πιο συγκεκριµένα: Με τη δηµιουργία και σύνθεση συστηµάτων που βασίζονται στην ευφυΐα. Με τη χρήση της αρχιτεκτονικής SOA (Service-Oriented Architecture) για την υποστήριξη των αλληλεπιδράσεων µεταξύ των στοιχείων. Με τις σηµασιολογικές περιγραφές του ιστού για την εφαρµογή µεταφραζόµενων από τις µηχανές οντολογιών. Η χρήση των οντολογιών και της ρητής σηµασιολογίας επιτρέπει µε την εκτέλεση λογικής σκέψης να συναχθεί επαρκής γνώση σχετικά µε τις διαδικασίες που οι µηχανές µπορούν να προσφέρουν, καθώς και για το πώς να χρησιµοποιηθούν οι διαδικασίες αυτές για την επίτευξη του επιθυµ ητού αποτελέσµατος. Ο προτεινόµενος στόχος και η µεθοδολογία θα πρέπει να µπορούν να εφαρµοστούν σε νοήµονες ηλεκτροµηχανικές συσκευές (intelligent mechatronic devices), πολυπρακτορικά συστήµατα κατανεµηµένου ελέγχου, σε σχεδίαση και προγραµµατισµό, στην επιτήρηση, σε συστήµατα ανάκτησης σφαλµάτων, σε συστήµατ α ολοκληρωµένης παραγωγής και σε συστήµατα επιχειρησιακής ολοκλήρωσης. Σύµφωνα µε το ευρωπαϊκό πρόγραµµα SOCRADES το οποίο προώθησε την ανάπτυξη των προαναφερόµενων τεχνολογιών, η υιοθέτηση τους στη βιοµηχανία αναµένεται ότι θα µειώσει το κόστος µηχανικού κατά 30% [42]. Επιπλέον, αναµένεται µείωση 10% µε 15% του χρόνου εγκατάστασης. Τα οφέλη αυτά επιτυγχάνονται από τη δυνατότητα άµεσης σύνδεσης και παραγωγής, είτε στην παραγωγή διακριτών προϊόντων είτε στις διαρκείς παραγωγικές διαδικασίες. Στο κεφάλαιο 2 της παρούσας εργασίας, περιγράφονται συνοπτικά οι τεχνολογίες που έχουν υιοθετηθεί και εφαρµόζονται για την υλοποίηση του σηµασιολογικού ιστού. Τα κεφάλαια 3 και 4 αποτελούν το πρώτο, βιβλιογραφικό µέρος της εργασίας αυτής και παρουσιάζουν µία ανασκόπηση ορισµένων προτάσεων και χαρακτηριστικών υλοποιήσεων εφαρµογών στη βιοµηχανική παραγωγή, µε χρήση των τεχνολογιών και των υπηρεσιών του σηµασιολογικού ιστού. Το δεύτερο µέρος της εργασίας αποτελείται από τα κεφάλαια 5 και 6 στα οποία παρουσιάζεται ένα παράδειγµα εφαρµογής των βασικών ιδεών που αναπτύχθηκαν παραπάνω. Το παράδειγµα αφορά τη σχεδίαση της παρακολούθησης και συλλογής δεδοµένων σε ήδη εγκατεστηµένη γραµµή ζύγισης, ενσάκισης και παλετοποίησης λιπάσµατος του εργοστασίου παραγωγής σύνθετων και νιτρικών λιπασµάτων στη Νέα Καρβάλη Καβάλας

7 Μέσω της ανάπτυξης και υλοποίησης της εφαρµογής δείχνεται πως µπορούν να εφαρµοσθούν στην πράξη οι τεχνολογίες αρχιτεκτονικής SOA (Service Oriented Architecture), υπηρεσιών ιστού (Web Services) και οντολογιών στο επίπεδο της παραγωγικής διαδικασίας. Η ευελιξία της αρχιτεκτονικής SOA συµβαδίζει µε την αρχιτεκτονική της γραµµής ενσάκκισης, στην οποία οι επί µέρους µηχανές πρέπει να διατηρούν την αυτονοµία τους και ταυτόχρονα να διαθέτουν τα δεδοµένα τους σε ποικίλες εφαρµογές που τα επεξεργάζονται είτε επί µέρους, είτε ως σύνολο. Ο εξοπλισµός της γραµµής ενσάκκισης µοντελοποιείται συνοπτικά µε µία οντολογία εξοπλισµού σε γλώσσα OWL. Τα δεδοµένα διατίθενται στις υποψήφιες εφαρµογές - πελάτες (clients) ως υπηρεσίες ιστού και περιγράφονται ως υπηρεσίες σηµασιολογικού ιστού µε την οντολογία περιγραφής των υπηρεσιών OWL-S. Η OWL-S επελέγη ως η πλέον διαδεδοµένη οντολογία περιγραφής υπηρεσιών σηµασιολογικού ιστού. Η σχεδίαση και ανάπτυξη της εφαρµογής παρακολούθησης δεδοµένων στην υπάρχουσα γραµµή ενσάκκισης προβάλλει τα οφέλη από την υιοθέτηση των τεχνολογιών σηµασιολογικού ιστού ακόµη και σε εγκαταστάσεις παλιότερης τεχνολογίας. Με την εφαρµογή των τεχνολογιών αυτών, τα δεδοµένα της γραµµής διατίθενται σε όλες τις εφαρµογές πελάτες µε χρήση σύγχρονων, ενιαίων πρωτοκόλλων επικοινωνίας. Η κατανεµηµένη αρχιτεκτονική διαχείρισης των δεδοµένων µε την εφαρµογή των υπηρεσιών δίνει µεγάλες δυνατότητες επανασύνθεσης και αναπροσαρµογής ανάλογα µε τις απαιτήσεις των εφαρµογών ή των χρηστών. Τέλος, η χρήση της οντολογίας OWL-S για την σηµασιολογική περιγραφή των υπηρεσιών δίνει τη δυνατότητα αναγνώρισης και χρήσης των υπηρεσιών από νοήµονες εφαρµογές πράκτορες

8 2. Περιγραφή των τεχνολογιών και των υπηρεσιών που εφαρµόζονται για την υλοποίηση του σηµασιολογικού ιστού 2.1 Εισαγωγή Ο παγκόσµιος ιστός αναπτύχθηκε µε γοργούς ρυθµούς ως ένα µέσο διαχείρισης εγγράφων από ανθρώπους και όχι ως σύνολο πληροφοριών που µπορούν να τις επεξεργαστούν αυτόµατα οι µηχανές. O σηµασιολογικός ιστός είναι η επόµενη γενιά του παγκόσµιου ιστού όπου οι πληροφορίες θα µπορούν να χρησιµοποιηθούν από τους υπολογιστές χωρίς την ανθρώπινη παρέµβαση που απαιτείται σήµερα. Περίπου δέκα χρόνια πριν η ιδέα αυτή διατυπώθηκε ως όραµα. Η βασική ιδέα είναι ένα υψηλού βαθµού διασυνδεδεµένο δίκτυο δεδοµένων που θα µπορούν να προσπελαστούν εύκολα και να είναι κατανοητά και κατά συνέπεια διαχειρίσιµα από οποιονδήποτε υπολογιστή [10]. Σε άρθρο τους στο περιοδικό Scientific American [6], οι Tim Berners-Lee, James Hendler and Ora Lassila αναφέρθηκαν σε ένα µελλοντικό δίκτυο στο οποίο ευφυείς πράκτορες λογισµικού θα προχωρούσαν αυτόµατα σε κρατήσεις πτήσεων και ξενοδοχείων για λογαριασµό των χρηστών, θα ενηµέρωναν αυτόµατα ιατρικά αρχεία και θα µπορούσαν να δίνουν απλές απαντήσεις σε ερωτήµατα χωρίς να χρειάζονται χρονοβόρες αναζητήσεις µεταξύ πολλαπλών απαντήσεων από τον άνθρωπο - χειριστή. Στο σηµασιολογικό ιστό, οι υπολογιστές πραγµατοποιούν την αναζήτηση, την παρουσίαση ή τα ερωτήµατα για τους ανθρώπους. Ο σηµασιολογικός ιστός επιτρέπει στους υπολογιστές την αναζήτηση πληροφοριών κατανεµηµένων στον παγκόσµιο ιστό, την επεξεργασία τους και την ανάληψη δράσης βασισµένης στη γνώση αυτή. Παράλληλα, οι συγγραφείς πρότειναν τις νέες τεχνολογίες που θα µπορούσαν να υλοποιήσουν το όραµα: Μία κοινή γλώσσα για την αναπαράσταση δεδοµένων ώστε να είναι κατανοητά από όλα τα είδη πρακτόρων λογισµικού. Τις οντολογίες, δηλαδή σύνολα ορισµών των εννοιών ώστε να είναι εφικτή η µετάφραση της πληροφορίας από ανόµοιες βάσεις δεδοµένων σε κοινούς όρους. Τους κανόνες που θα επιτρέπουν στους πράκτορες λογισµικού να αποφασίζουν για την πληροφορία που περιγράφεται στους όρους αυτούς. Η αναπαράσταση των δεδοµένων, οι οντολογίες και το λογισµικό των αποφάσεων θα λειτουργούσε σαν µία µεγάλη εφαρµογή στον παγκόσµιο ιστό, αναλύοντας τα πρωτογενή δεδοµένα που είναι αποθηκευµένα στις συνδεδεµένες στον ιστό βάσεις δεδοµένων, καθώς και τα δεδοµένα κειµένου, εικόνας και βίντεο που περιέχονται στον ιστό. Όπως και ο παγκόσµιος ιστός, ο σηµασιολογικός ιστός θα αναπτύσσονταν βοηθούµενος από ενισχυτικές οµάδες εργασίας που λειτουργούν µέσα στην κοινοπραξία W3C, (World Wide Web Consortium) ρόλος της οποίας είναι η προώθηση και ανάπτυξή του. Η αναπαράσταση των επιπέδων του σηµασιολογικού ιστού (Semantic Web Stack) είναι µία αναπαράσταση της ιεραρχίας των γλωσσών, όπου το κάθε επίπεδο αξιοποιεί και χρησιµοποιεί τις δυνατότητες των κατώτερων επιπέδων. Η αναπαράσταση των επιπέδων δείχνει πως οι τεχνολογίες (πρότυπα) που έχουν τυποποιηθεί συνεργάζονται για να υλοποιήσουν το σηµασιολογικό ιστό. (Σχήµα 2) - 8 -

9 Σχήµα 2: Τα επίπεδα του σηµασιολογικού ιστού όπως έχουν σχεδιαστεί από την W3C. Οι τεχνολογίες, από το κατώτερο επίπεδο µέχρι το επίπεδο της γλώσσας OWL, εφαρµόζονται σήµερα ως πρότυπα και είναι γενικά αποδεκτές προς χρήση για την ανάπτυξη εφαρµογών του σηµασιολογικού ιστού. Προσθέτοντας στις ιστοσελίδες δεδοµένα που απευθύνονται σε υπολογιστές και µε την προσθήκη εγγράφων αποκλειστικά για υπολογιστές, το Web µετεξελίσσεται σταδιακά στο Semantic Web. Οι υπολογιστές βρίσκουν τη σηµασία των σηµασιολογικών δεδοµένων ακολουθώντας υπερσυνδέσµους για την εύρεση ορισµών όρων κλειδιών και κανόνων για τη λογική τους ερµηνεία. Η δοµή που προκύπτει οδηγεί στην ανάπτυξη αυτοµατοποιηµένων σηµασιολογικών υπηρεσιών ιστού (semantic web services). 2.2 Σύντοµη περιγραφή των τεχνολογιών, των γλωσσών και των πρωτοκόλλων του σηµασιολογικού ιστού Στο σχήµα 2 αναφέρονται επιγραµµατικά οι τεχνολογίες που έχουν αναπτυχθεί ως πρότυπα του σηµασιολογικού ιστού. Στις ακόλουθες παραγράφους αναφέρεται µία συνοπτική περιγραφή των προτύπων αυτών και των τεχνολογιών των σηµασιολογικών υπηρεσιών ιστού που εφαρµόζονται σε αυτή τη διπλωµατική εργασία Πρότυπο Unicode Το πρότυπο Unicode είναι η απεικόνιση κάθε γράµµατος ή άλλων χαρακτήρων που χρησιµοποιούνται στα αλφάβητα των ανθρώπινων γλωσσών σε έναν και µοναδικό αριθµό. Αυτή η αντιστοίχηση χαρακτήρων σε αριθµούς ονοµάζεται κωδικοσελίδα. Το πρότυπο έχει γίνει αποδεκτό από τις περισσότερες κορυφαίες εταιρείες λογισµικού και το έχουν υιοθετήσει πολλά σύγχρονα πρότυπα όπως η γλώσσα XML. Το πιο διαδεδοµένο σύστηµα κωδικοποίησης χαρακτήρων του Unicode είναι το UTF-8. Το UTF-8 χρησιµοποιεί ένα byte για κάθε ASCII χαρακτήρα αντιστοιχίζοντας τον ίδιο αριθµό κωδικοποίησης του προτύπου ASCII και έως τέσσερα bytes για άλλους χαρακτήρες

10 2.2.2 Πρότυπο σύνταξης ονοµάτων και διευθύνσεων URI Το ενιαίο αναγνωριστικό πόρων URI (Uniform Resource Identifier) είναι µία συµβολοσειρά µε την οποία αναγνωρίζεται το όνοµα και η διεύθυνση ενός πόρου στο διαδίκτυο. Η ταυτότητα αυτή δίνει τη δυνατότητα της αλληλεπίδρασης µε αναπαραστάσεις του πόρου στο διαδίκτυο, µε τη χρήση συγκεκριµένων πρωτοκόλλων. Το αναγνωριστικό URI µπορεί να περιλαµβάνει το όνοµα του πρωτοκόλλου επικοινωνίας, τη διεύθυνση του υπολογιστή και τη θέση στο σύστηµα αρχείων στο οποίο βρίσκεται ο πόρος και τότε ονοµάζεται URL (Uniform Resource Locator) Γλώσσες XML XML Schema Η γλώσσα XML (EΧtensible Markup Language) είναι µία γλώσσα σήµανσης που ορίζει ένα σύνολο κανόνων για την ηλεκτρονική κωδικοποίηση κειµένων. Παρέχει συγκεκριµένους κανόνες σύνταξης για δοµηµένα έγγραφα αλλά δεν επιβάλλει σηµασιολογικούς περιορισµούς στο νόηµα των εγγράφων αυτών. Οι χαρακτήρες που απαρτίζουν ένα έγγραφο XML αποτελούν είτε τη σήµανση (ετικέτες σήµανσης) είτε το περιεχόµενό του [2]. Οι ετικέτες σήµανσης και το περιεχόµενο, µπορούν να επισηµανθούν και να διακριθούν µε την εφαρµογή ορισµένων απλών συντακτικών κανόνων. Οι ετικέτες σήµανσης χρησιµοποιούνται για να περιγράψουν τη λογική δοµή των δεδοµένων και να συσχετίσουν ζεύγη χαρακτηριστικών τιµών µε λογικές δοµές. Γενικά στη γλώσσα XML οι ετικέτες σχετίζονται µε τη δοµή του κειµένου που περικλείουν, σε αντίθεση µε τη γλώσσα HTML όπου προδιαγράφουν πως η εφαρµογή περιήγησης (browser) πρέπει να εµφανίσει στην οθόνη το κείµενο. Η XML είναι επεκτάσιµη δίνοντας τη δυνατότητα στους χρήστες να ορίσουν τις δικές τους ετικέτες, σε αντίθεση µε την HTML που χρησιµοποιεί συγκεκριµένο και καθορισµένο σύνολο ετικετών. Εντούτοις, αν ένα αρχείο XML χρησιµοποιείται σε περισσότερες από µία εφαρµογές, τότε τα ονόµατα των ετικετών θα πρέπει να έχουν συµφωνηθεί µεταξύ αυτών των εφαρµογών. Για παράδειγµα, οι πελάτες (clients) συχνά χρησιµοποιούν µηνύµατα SOAP για την επικοινωνία µε τις υπηρεσίες ιστού (WS). Το SOAP είναι πρωτόκολλο σε γλώσσα XML του οποίου οι ετικέτες δηµοσιοποιούνται για κοινή χρήση µεταξύ των υπηρεσιών ιστού και των εφαρµογών - πελατών τους. Η γλώσσα XML χρησιµοποιείται από διαφορετικές εφαρµογές για διαφορετικούς σκοπούς [2]. Η χρήση των ετικετών σε συνδυασµό µε τη χρήση των χώρων ονοµάτων (namespaces) για τον ορισµό της σηµασίας των ετικετών δίνει µεγάλη ευελιξία. Πρόσθετα, ακολουθώντας τις σηµάνσεις οι εφαρµογές µπορούν να επιλέγουν µόνο το τµήµα του εγγράφου που χρειάζονται για επεξεργασία. Ο χώρος ονοµάτων (namespace) στην XML είναι µία οµάδα ονοµάτων για ένα σύνολο τύπων στοιχείων (elements) και χαρακτηριστικών (attributes) που έχει ως όνοµα ένα αναγνωριστικό URI. Οποιοδήποτε άλλο έγγραφο XML µπορεί να χρησιµοποιήσει το χώρο µε αναφορά στο URI. Κάθε στοιχείο που χρησιµοποιεί έναν χώρο ονοµάτων µπορεί να τον περιγράψει ως χαρακτηριστικό ονοµαζόµενο ως xmlns, του οποίου η τιµή είναι το URI του εγγράφου που περιέχει τους ορισµούς του χώρου. Η XML Schema είναι µία συντακτική δοµή που επιβάλλει περιοριστικούς κανόνες στα έγγραφα που γράφονται σε XML. Επίσης, δίνει τα κατάλληλα εργαλεία για την επέκταση της γλώσσας XML για σύνθετες δοµές δεδοµένων, ορίζοντας τα στοιχεία και τα χαρακτηριστικά που µπορούν να εµφανιστούν στο έγγραφο XML, πως τα στοιχεία εµφωλεύονται, τον αριθµό και τη σειρά των στοιχείων. Για κάθε στοιχείο ορίζεται ο τύπος και η εξ ορισµού τιµή του

11 Η ιδέα για τη χρήση των δοµών XML Schema είναι ότι ο ορισµός µια συγκεκριµένης δοµής µπορεί να χρησιµοποιηθεί από πολλά διαφορετικά έγγραφα. Ένα έγγραφο XML που ορίζεται να συµµορφωθεί σε µία συγκεκριµένη δοµή µπορεί επίσης να επικυρωθεί µε τη δοµή αυτή. Για παράδειγµα, ο αποστολέας ενός µηνύµατος SOAP µπορεί να χρησιµοποιήσει µία XML Schema για την κωδικοποίηση και ο λήπτης την ίδια διάταξη για επικύρωση και αποκωδικοποίησή του Γλώσσες RDF και RDFS Η γλώσσα RDF (Resource Description Framework) είναι µία απλή γλώσσα για την διατύπωση µοντέλων δεδοµένων. Αναφέρεται στα αντικείµενα του ιστού (WWW resources) και στις σχέσεις τους. Είναι ένα µοντέλο δεδοµένων παρόµοιο µε τις κλασσικές εννοιολογικές µοντελοποιήσεις όπως τα µοντέλα Οντοτήτων Συσχετίσεων ή τα διαγράµµατα Κλάσεων. Βασίζεται στην ιδέα της έκφρασης αντικειµένων, ιδιαίτερα του διαδικτύου και των σχέσεων µεταξύ αυτών µε τη µορφή υποκείµενο-κατηγόρηµα. Οι εκφράσεις αυτές ονοµάζονται τριάδες (triples) στην ορολογία του µοντέλου RDF. Το υποκείµενο δείχνει τον πόρο (resource) και το κατηγόρηµα δηλώνει γνωρίσµατα και όψεις του πόρου και εκφράζει µία σχέση µεταξύ του υποκειµένου και του αντικειµένου. Συντάσσεται σε γλώσσα XML. Η δοµή RDF (RDF Schema, άλλες συντοµογραφίες του είναι RDFS, RDF(S), RDF-S ή RDF/S) είναι µία γλώσσα οντολογίας για τον ορισµό λεξιλογίου του µοντέλου RDF. Παρέχει πληροφορία για τη µετάφραση των προτάσεων σε ένα µοντέλο RDF. Μπορεί να περιγραφεί επίσης ως λεξιλόγιο για τον ορισµό κλάσεων, ιεραρχιών των κλάσεων αυτών, ιδιοτήτων (δυαδικών σχέσεων), ιεραρχιών και περιορισµών των ιδιοτήτων. Ο συνδυασµός των RDF και RDFS δεν δίνει πολλές δυνατότητες έκφρασης σε σχέση µε άλλες γλώσσες οντολογίας Η γλώσσα ερωτηµάτων SPARQL Η SPARQL (SPARQL Protocol and RDF Query Language) είναι µία γλώσσα διατύπωσης ερωτηµάτων για βάσεις δεδοµένων που χρησιµοποιείται για την ανάκτηση και διαχείριση δεδοµένων που είναι αποθηκευµένα σε σύνταξη RDF Η γλώσσα οντολογιών OWL Η γλώσσα οντολογιών OWL (Ontology Web Language) έχει σχεδιαστεί για να χρησιµοποιηθεί από εφαρµογές λογισµικού που όχι µόνο παρουσιάζουν αλλά επιπλέον επεξεργάζονται τις πληροφορίες των εγγράφων του ιστού. Η OWL χρησιµοποιείται για τη ρητή αναπαράσταση του νοήµατος των οντοτήτων ενός πεδίου σε λεξιλόγια και των σχέσεων µεταξύ των οντοτήτων αυτών. Η αναπαράσταση αυτή των οντοτήτων και των αλληλεξαρτήσεών τους ονοµάζεται οντολογία. Με την γλώσσα OWL εκφράζεται ευκολότερα το νόηµα και η σηµασία των οντοτήτων απ ότι µε τις γλώσσες RDF και RDF-S. Αυτό διότι η OWL προσθέτει ευρύτερο λεξιλόγιο από τις προηγούµενες για την περιγραφή ιδιοτήτων και κλάσεων, σχέσεων µεταξύ κλάσεων, πληθυκότητας, ισότητας και χαρακτηριστικών ιδιοτήτων Υπηρεσίες Ιστού (Web Services) Μεταξύ των σηµαντικότερων εφαρµογών του παγκόσµιου ιστού είναι η παροχή υπηρεσιών ιστού (Web Services). Η κοινοπραξία W3C ορίζει την υπηρεσία ιστού ως ένα

12 σύστηµα λογισµικού σχεδιασµένο να υποστηρίζει δικτυακές λειτουργικές αλληλεπιδράσεις µεταξύ µηχανών. Το σύστηµα διαθέτει µία διασύνδεση (interface) που διατυπώνεται σε µορφή επεξεργάσιµη από υπολογιστή. Με χρήση της διασύνδεσης αυτής οι πελάτες (clients) µπορούν να χρησιµοποιήσουν τις υπηρεσίες που προσφέρονται από τους διακοµιστές (servers). Αποτελείται από το σύνολο των λειτουργιών της υπηρεσίας ιστού που µπορούν να χρησιµοποιηθούν από τους πιθανούς πελάτες. Οι λειτουργίες αυτές µπορεί να παρέχονται από ποικιλία διαφορετικών πόρων όπως προγράµµατα, αντικείµενα ή βάσεις δεδοµένων. Σκοπός της υπηρεσίας ιστού είναι να παρέχει συγκεκριµένη λειτουργικότητα για λογαριασµό του ιδιοκτήτη της, ανθρώπου ή οργανισµού. Το άτοµο ή ο οργανισµός παρέχει τη συγκεκριµένη υπηρεσία µε εφαρµογή του κατάλληλου πράκτορα λογισµικού. Αντίστοιχα, ο πελάτης που αιτείται τη χρήση της υπηρεσίας χρησιµοποιεί έναν πράκτορα λογισµικού για την ανταλλαγή των απαραίτητων µηνυµάτων µε τον πράκτορα του παρόχου. Κατά την σύνταξη των υπηρεσιών ιστού χρησιµοποιείται ένας πολυεπίπεδος σωρός πρωτοκόλλων και προτύπων. Στην εικόνα 3 παρουσιάζονται τα επίπεδα πρωτοκόλλων και προτύπων των υπηρεσιών ιστού όπως έχουν καθιερωθεί σήµερα. Εικόνα 3: Τα επίπεδα πρωτοκόλλων των υπηρεσιών ιστού (web services). Με σειρά από κάτω προς τα πάνω, το πρωτόκολλο µεταφοράς (transport protocol) είναι υπεύθυνο για τη µεταφορά µηνυµάτων µεταξύ δικτυακών εφαρµογών και υλοποιείται µε πρωτόκολλα όπως το HTTP, SMTP, FTP. Η γλώσσα XML (EXtensible Markup Language) και η επέκτασή της XML Schema, όπως ήδη αναφέρθηκε, είναι µία γλώσσα σήµανσης που περιέχει ένα σύνολο κανόνων για την ηλεκτρονική κωδικοποίηση κειµένων. Το πρωτόκολλο SOAP (Simple Object Access Protocol), είναι ένα πρωτόκολλο για την ανταλλαγή δοµηµένης πληροφορίας κατά την εφαρµογή των υπηρεσιών ιστού στο διαδίκτυο. Η γλώσσα σύνταξης των µηνυµάτων του είναι η XML. Χρησιµοποιεί πρωτόκολλα µεταφοράς όπως τα HTTP και SMTP. Παρέχει το βασικό πλαίσιο ανταλλαγής µηνυµάτων πάνω στο οποίο αναπτύσσονται οι υπηρεσίες ιστού

13 Χρησιµοποιεί ένα φάκελο ο οποίος ορίζει ποιο είναι το περιεχόµενο του µηνύµατος και πως θα γίνει η επεξεργασία του, ένα σύνολο κανόνων κωδικοποίησης για την έκφραση αντικειµένων (instances) διαφόρων τύπων δεδοµένων και µία σύµβαση αναπαράστασης κλήσεων και αποκρίσεων µεθόδων. Για να µπορέσει να εξυπηρετήσει πολλά µοτίβα επικοινωνίας εφαρµόζεται σε κάθε απλό µήνυµα µιας κατεύθυνσης (one-way). Η γλώσσα περιγραφής WSDL (Web Services Description Language) βασίζεται στη γλώσσα XML και δίνει τη δυνατότητα περιγραφής των λειτουργιών που προσφέρουν οι υπηρεσίες ιστού. Η περιγραφή WSD (Web Service Description) είναι η προδιαγραφή της διασύνδεσης της υπηρεσίας ιστού η οποία συντάσσεται σε γλώσσα WSDL. Συχνά αναφέρεται και σαν αρχείο (έγγραφο) WSDL και περιγράφει µεταξύ άλλων πως η υπηρεσία µπορεί να κληθεί, ποιες παράµετροι πρέπει να καθοριστούν και τι δοµές δεδοµένων η υπηρεσία επιστρέφει. Η βασική δοµή των εγγράφων WSDL περιγράφεται στην παράγραφο Η υπηρεσία UDDI (Universal Directory and Discovery Service) είναι ένας κατάλογος για την εύρεση των υπηρεσιών ιστού από υποψήφιους χρήστες. Η αναζήτηση των υπηρεσιών µπορεί να γίνει µε το όνοµά τους ή µε τα χαρακτηριστικά τους. Μπορούν επίσης να προσπελαστούν άµεσα µε τη διεύθυνση URL της κάθε υπηρεσίας Βασική δοµή των εγγράφων σε γλώσσα WSDL Η πιο πρόσφατη έκδοση της γλώσσας WSDL είναι η WSDL 2.0, όπως έχει δηµοσιευτεί από την W3C. Ένα απλοποιηµένο υπόδειγµα περιεχοµένου [12] ενός εγγράφου σε WSDL 2.0 παρουσιάζεται στην ακόλουθη λίστα: <?xml version="1.0" encoding="utf-8"?> <description xmlns=" <documentation>... </documentation> <types> <xs:schema> <xs:element name="someelementname".../>... </xs:schema> </types> <interface> <operation name="someopname"...> <input element= "someelementname"...>... <output...>... </operation>... </interface> <bindin g name="somebindingname"...> <operation ref="someopname".../>... </binding> < service> <endpoint binding="somebindingname"...>

14 ... </service> </description> Λίστα 1: Τυπική δοµή περιγραφής υπηρεσίας ιστού σε έγγραφο WSDL 2.0. Όπως φαίνεται στη λίστα, ένα έγγραφο σε WSDL 2.0 δοµείται σε πέντε βασικά τµήµατα: Documentation Types Interface (porttype) Binding Service Το τµήµα documentation (εγγράφου) περιέχει πρόσθετη πληροφορία κειµένου που περιγράφει τον τρόπο χρησιµοποίησης της υπηρεσίας. Μπορεί να χρησιµοποιηθεί είτε από µηχανές είτε από ανθρώπους. Το περιεχόµενό του αποσκοπεί στην υποστήριξη των υπολοίπων τµηµάτων του εγγράφου τα οποία προορίζεται να µεταφραστούν κατά κύριο λόγο από µηχανές. Η υποστήριξη αυτή είναι πολύ σηµαντική διότι το έγγραφο WSDL παρέχει µερική µόνο περιγραφή της υπηρεσίας. εν µπορεί για παράδειγµα να εκφράσει σηµασιολογία σε επίπεδο εφαρµογής, όπως «πρώτα να κληθεί η λειτουργία Χ, κατόπιν η λειτουργία Υ µε το αποτέλεσµα της Χ ως πρώτη παράµετρο εισόδου». Φυσικά η υποστήριξη εγγράφου δεν µπορεί να καλύψει τις ανάγκες όλων των εφαρµογών υπηρεσιών ιστού. Το πρόβληµ α είναι ότι συνήθως απαιτείτ αι ανάγνωση του τµ ήµατος αυτού από το χρήστη. Έτσι, για αυτόµατη σύνθεση υπηρεσιών απαιτείται άλλη περιγραφική προσέγγιση. Στο τµήµα types (τύπων) δηλώνονται όλοι οι τύποι δεδοµένων που χρησιµοποιούνται στα µηνύµατα εισόδου και εξόδου των λειτουργιών της υπηρεσίας. Η δήλωση γίνεται µε χρήση της γλώσσας XML Schema. H γλώσσα αυτή παρέχει ένα εξελιγµένο σύστηµα που µπορεί να χρησιµοποιηθεί για να προσδιορίσει βασικούς τύπους δεδοµένων όπως ακεραίους, συµβολοσειρές και ηµεροµηνίες αλλά και σύνθετους τύπους δεδοµένων. Επιπλέον µπορούν να περιγραφούν επεκτάσεις και περιορισµοί των τύπων δεδοµένων. Το σύνολο των ονοµάτων που ορίζεται στο τµήµα types του εγγράφου ονοµάζεται πεδίο ονοµάτων. Το τµήµα interface (διασύνδεση) ή porttype είναι ο πυρήνας στην περιγραφή WSDL. Εδώ αναφέρονται όλες οι λειτουργίες της υπηρεσίας ιστού και ορίζονται οι είσοδοι και οι έξοδοί τους µε την παραποµπή τους στους ορισµούς των τύπων δεδοµένων στο τµήµα types. Μέχρι το σηµείο αυτό, η περιγραφή των υπηρεσιών είναι αφηρηµένη, δηλαδή ανεξάρτητη από συγκεκριµένη µορφή µηνυµάτων ή µηχανισµό µεταφοράς. Στο τµήµα binding (δέσµ ευσης) αντιστοιχίζονται οι αφηρηµένες λειτουργίες της υπηρεσίας σε συγκεκριµένες. Ορίζονται το πρωτόκολλο των µηνυµάτων (πχ SOAP 1.2) και το πρωτόκολλο µεταφοράς (πχ HTTP 1.1). Αναφέρονται επίσης οι λειτουργίες της υπηρεσίας που είναι ήδη δηλωµένες στο τµήµα interface (porttype). Στο τµήµα service ορίζεται το τελικό σηµείο (endpoint) ή port της υπηρεσίας. Το τελικό σηµείο αναφέρει το ήδη ορισµένο binding και παρέχει όλες τις απαραίτητες τεχνικές πληροφορίες για πρόσβαση στις λειτουργίες της υπηρεσίας. Αυτό γίνεται παρέχοντας το URL της υπηρεσίας ιστού. Παράλληλα µε την 2.0 χρησιµοποιείται και η προηγούµενη έκδοση 1.1 του προτύπου WSDL. Στην έκδοση αυτή χρησιµοποιείται πρόσθετα το στοιχείο message για τον ορισµό

15 των δοµών των µηνυµάτων που χρησιµοποιούνται από την υπηρεσία. Επίσης, αντί για την ετικέτα description χρησιµοποιείται η definition και αντί για την interface η porttype Αρχιτεκτονική SOA Για την τεχνολογία λογισµικού, η αρχιτεκτονική SOA (Service-Oriented Architecture) είναι ένα σύνολο αρχών και µεθόδων για το σχεδιασµό και την ανάπτυξη λογισµικού σε µ ορφή διαλειτουργικών υπηρεσιών (services). Οι υπηρεσίες αυτές αναπτύσσονται ως διακριτά κοµµάτια λογισµικού ή και δοµών δεδοµένων και διατίθενται στο δίκτυο για χρήση από άλλους χρήστες, για παράδειγµα στην παραγωγή εφαρµογών. Ο προσανατολισµός της αρχιτεκτονικής SOA απαιτεί χαλαρή σύζευξη των υπηρεσιών αυτών µε τα λειτουργικά συστήµατα και άλλες τεχνολογίες που διέπουν τις εφαρµογές. Ένα σύστηµα που βασίζεται στην αρχιτεκτονική SOA συγκεντρώνει και παρουσιάζει τη λειτουργικότητα του ως ένα σύνολο διαλειτουργικών υπηρεσιών που µπορούν να χρησιµοποιηθούν σε πολλαπλά, ανεξάρτητα συστήµατα. Η αρχιτεκτονική αυτή δίνει επίσης τη δυνατότητα στους υποψήφιους χρήστες των υπηρεσιών, για παράδειγµα στους πελάτες - πράκτορες ιστού να έχουν επίγνωση των διαθέσιµων υπηρεσιών Από τις υπηρεσίες ιστού (Web Services) στις υπηρεσίες σηµασιολογικού ιστού (Semantic Web Services) Ο σηµασιολογικός ιστός (Semantic Web) θέλει να δώσει στους χρήστες τη δυνατότητα να εντοπίζουν, να επιλέγουν, να συνθέτουν, να χρησιµοποιούν και να παρακολουθούν υπηρεσίες του ιστού αυτόµατα, µε τη χρήση πρακτόρων λογισµικού [36]. Οι υπηρεσίες ιστού µπορούν να διαχωριστούν σε απλές ή θεµελιακές και σε σύνθετες. Ως απλές χαρακτηρίζονται αυτές όπου µία εφαρµογή, ένας αισθητήρας η µία συσκευή δέχεται επίκληση µε κάποιο µήνυµα αιτήµατος, εκτελεί την προβλεπόµενη διαδικασία (µέθοδο) και παράγει µία απλή απόκριση προς αυτόν που υποβάλλει το αίτηµα. Στις απλές υπηρεσίες δεν υπάρχει συνεχιζόµενη για µεγάλη χρονική διάρκεια αλληλεπίδραση µεταξύ του χρήστη και της υπηρεσίας. Τέτοιο παράδειγµα είναι µία υπηρεσία που επιστρέφει τον ταχυδροµικό κώδικα ή το γεωγραφικό πλάτος και µήκος όταν δοθεί µια διεύθυνση. Αντίθετα, οι σύνθετες υπηρεσίες συντίθενται από πολλές απλές υπηρεσίες και µπορεί να απαιτούν εκτεταµένης διάρκειας αλληλεπίδραση κα ι συνοµιλία µ εταξύ αυτού που υποβάλλει το αίτηµα και του παρόχου της υπηρεσίας. Για να χρησιµοποιήσει τις υπηρεσίες ιστού, ένας πράκτορας λογισµικού χρειάζεται µία περιγραφή της υπηρεσίας που να µπορεί να αναγνωριστεί από υπολογιστή και τον τρόπο µε τον οποίο µπορεί να προσπελαστεί. Ένας σηµαντικός στόχος για τις γλώσσες σήµανσης του σηµασιολογικού ιστού είναι ο καθορισµός ενός πλαισίου µέσα στο οποίο οι περιγραφές αυτές διατυπώνονται και διανέµονται. Οι ιστότοποι θα πρέπει να χρησιµοποιούν µία πρότυπη οντολογία, αποτελούµενη από βασικές κλάσεις και ιδιότητες για το ν ορισµό, τη δήλωση και την περιγραφή των υπηρεσιών. Οι µηχανισµοί δόµησης των οντολογιών της γλώσσας OWL παρέχουν ένα κατάλληλο πλαίσιο γλώσσας αναπαράστασης µέσα στο οποίο µπορεί να γίνει αυτό. Οι οντολογίες της γλώσσας OWL που αναπτύσσονται ως πλαίσιο εφαρµογής των υπηρεσιών ιστού ονοµάζονται OWL-S (Ontology Web Language Services). Μπορούµε να περιγράψουµε τις οντολογίες OWL-S ως γλώσσα περιγραφής υπηρεσιών, αντικατοπτρίζοντας το γεγονός ότι προσφέρουν ένα λεξιλόγιο το οποίο µπορεί να χρησιµοποιηθεί µαζί µε άλλες όψεις της γλώσσας περιγραφής OWL για την ανάπτυξη περιγραφών υπηρεσιών

16 Οι βασικές διαδικασίες που µπορούν να ενεργοποιηθούν µε τη χρήση των οντολογιών υπηρεσιών ιστού είναι οι: Αυτόµατη ανεύρεση υπηρεσιών ιστού Αυτόµατη επίκληση υπηρεσιών ιστού Αυτόµατη σύνθεση και συνεργατική λειτουργία υπηρεσιών ιστού Αυτόµατη παρακολούθηση εκτέλεσης υπηρεσιών ιστού Οι διαδικασίες αυτές περιγράφονται στις ακόλουθες παραγράφους. Α. Αυτόµατη ανεύρεση υπηρεσιών ιστού Η αυτόµατη ανεύρεση των υπηρεσιών ιστού είναι µία αυτόµατη διαδικασία για εύρεση υπηρεσιών ιστού που µπορούν να παρέχουν συγκεκριµένη κατηγορία υπηρεσιών, υιοθετώντας παράλληλα κάποιους περιορισµούς που καθορίζονται από τον πελάτη (client). Για παράδειγµα, ο πελάτης µπορεί να θέλει να ανακαλύψει µία υπηρεσία που πουλά εισιτήρια για τη µετακίνηση µεταξύ δύο πόλεων και δέχεται µία συγκεκριµένη πιστωτική κάρτα. Στον κλασσικό ιστό η εργασία αυτή διεκπεραιώνεται µε ενέργειες του πελάτη ο οποίος χρησιµοποιεί µηχανή αναζήτησης για την εύρεση της υπηρεσίας, διαβάζει την ιστοσελίδα και εκτελεί την υπηρεσία. Με τη σήµανση των υπηρεσιών µε τη βοήθεια της γλώσσας OWL-S, η πληροφορία που είναι απαραίτητη για την ανεύρεση της υπηρεσίας µπορεί να εξειδικευτεί µε σηµασιολογική σήµανση στο δικτυακό τόπο των υπηρεσιών και να µπορεί να µεταφραστεί από τις εφαρµογές. Έτσι µία µηχανή αναζήτησης ενισχυµένη µε οντολογίες µπορεί να χρησιµοποιηθεί για τον αυτόµατο εντοπισµό των υπηρεσιών. Εναλλακτικά, ένας εξυπηρετητής (server) µπορεί προκαταβολικά να διαφηµιστεί σε γλώσσα OWL-S µε ένα µητρώο υπηρεσιών που ονοµάζεται ενδιάµεσος πράκτορας, έτσι ώστε οι αιτούντες την υπηρεσία να µπορούν να τη βρουν όταν ρωτούν το µητρώο. Β. Αυτόµατη επίκληση υπη ρεσίας ιστού Η αυτόµατη επίκληση µιας υπηρεσίας ιστού είναι η επίκλησή της από έναν υπολογιστή ή πράκτορα, µε δεδοµένη µόνο τη δηλωτική περιγραφή της υπηρεσίας αυτής, σε αντίθεση µε την περίπτωση που ο πράκτορας έχει προγραµµατιστεί από πριν για να καλέσει την υπηρεσία αυτή. Η εκτέλεση µιας υπηρεσίας δικτύου µπορεί να θεωρηθεί ως σύνολο κλήσεων διεργασιών από απόσταση. Η σήµανση OWL-S των υπηρεσιών ιστού παρέχει ένα ερµηνεύσιµο από υπολογιστή API το οποίο περιέχει τη σηµασία των παραµέτρων που πρέπει να καθοριστούν όταν εκτελούνται αυτές οι κλήσεις και τη σηµασία των στοιχείων των µηνυµάτων που επιστρέφονται όταν η υπηρεσία εκτελεστεί µε επιτυχία ή όχι. Ένας πράκτορας λογισµικού θα πρέπει να µπορεί να µεταφράσει τη σήµανση ώστε να καταλάβει τι είσοδος είναι απαραίτητη για την επίκληση της υπηρεσίας και τι πληροφορία θα επιστραφεί. Γ. Αυτόµατη σύνθεση και συνεργατική λειτουργία υπηρεσιών ιστού Η διαδικασία αυτή περιλαµβάνει την αυτόµατη επιλογή, σύνθεση και συνεργατική λειτουργία των υπηρεσιών ιστού για την εκτέλεση µιας πολύπλοκης διαδικασίας µε δεδοµένη την περιγραφή ενός στόχου σε υψηλό επίπεδο. Ως παράδειγµα µπορεί να αναφερθεί ένας χρήστης που θέλει να ρυθµίσει όλες τις λεπτοµέρειες ενός ταξιδιού. Στο συµβατικό ιστό ο χρήστης πρέπει να επιλέξει τις υπηρεσίες ιστού, να καθορίσει τη

17 σύνθεση και να αναζητήσει ή να δηµιουργήσει το κατάλληλο λογισµικό για τη διαλειτουργικότητα των υπηρεσιών. Με τη σήµανση OWL-S των υπηρεσιών ιστού, η απαραίτητη πληροφορία για την επιλογή και τη σύνθεση των υπηρεσιών κωδικοποιείται στους δικτυακούς τόπους των υπηρεσιών. Με βάση της προδιαγραφές της υπηρεσίας, µπορεί να γραφεί λογισµικό για τη χρήση των αναπαραστάσεων αυτών και µε σκοπό αυτόµατη επίτευξη της διαδικασίας. Για την υποστήριξη αυτού, η OWL-S παρέχει προδιαγραφές δηλώσεων των προϋποθέσεων και των συνεπειών εφαρµογής των επί µέρους υπηρεσιών και µία γλώσσα για την περιγραφή σύνθεσης υπηρεσιών και αλληλεπίδρασης ροής δεδοµένων.. Αυτόµατη παρακολούθηση εκτέλεσης υπηρεσιών ιστού Οι υπηρεσίες, είτε ανεξάρτητες είτε σύνθετες συχνά απαιτούν αρκετό χρόνο για την πλήρη εκτέλεσή τους. Είναι πιθανό ο χρήστης να θέλει κατά την εκτέλεση να γνωρίζει την κατάσταση του αιτήµατός του ή κατά την εκτέλεση να υπάρξουν αλλαγές στο σχεδιασµό και έτσι να απαιτούνται αλλαγές στις ενέργειες που ο πράκτορας λογισµικού πρέπει να εκτελέσει. Για την εξυπηρέτηση των σκοπών αυτών, είναι καλό οι χρήστες να έχουν τη δυνατότητα να δουν τη φάση εκτέλεσης του αιτήµατος και κατά πόσον τυχόν απρόβλεπτες δυσλειτουργίες έχουν εµφανιστεί. Έτσι, η γλώσσα OWL-S θα πρέπει να παρέχει τη δυνατότητα δήλωσης της φάσης εκτέλεσης των υπηρεσιών Βασικές έννοιες της γλώσσας OWL-S Η γλώσσα OWL-S ορίζει µία ανώτερη οντολογία υπηρεσιών µε τέσσερεις βασικές έννοιες [36]: Service: Η κλάση Service παρέχει το οργανωτικό σηµείο αναφοράς για κάθε δηλωθείσα υπηρεσία ιστού. Υπάρχει πάντοτε ένα αντικείµενο της κλάσης αυτής για κάθε δηµοσιευµένη υπηρεσία. Οι ιδιότητες presents, describedby και supports είναι ιδιότητες της κλάσης Service. Οι κλάσεις ServiceProfile, ServiceModel και ServiceGrounding είναι οι αντίστοιχες περιοχές των ιδιοτήτων αυτών. Κάθε αντικείµενο της Service παρουσιάζει την περιγραφή ServiceProfile, περιγράφεται από την ServiceModel και υποστηρίζει µία ServiceGrounding. Service Profile: Η ServiceProfile περιγράφει τι κάνει η υπηρεσία στους υποψήφιους χρήστες, περιγράφοντας τις λειτουργίες της και άλλα µη λειτουργικά χαρακτηριστικά που χρησιµοποιούνται για τον εντοπισµό των υπηρεσιών µε βάση τη σηµασιολογική τους περιγραφή. Πληροφορεί για το τι κάνει η υπηρεσία µε τρόπο κατάλληλο για να µπορεί ο πράκτορας αναζήτησης υπηρεσιών να προσδιορίσει αν η υπηρεσία ταιριάζει µε τις ανάγκες του. Αυτή η µορφή αναπαράστασης περιλαµβάνει την περιγραφή του τι επιτυγχάνεται από την υπηρεσία, τους περιορισµούς στις δυνατότητες εφαρµογής της υπηρεσίας και τις απαιτήσεις που πρέπει να πληρεί ο πελάτης ώστε να χρησιµοποιήσει την υπηρεσία µε επιτυχία. Service Model: Η ServiceModel (ή ServiceProcess) πληροφορεί τον πελάτη πώς να χρησιµοποιήσει την υπηρεσία ενηµερώνοντας µε λεπτοµέρεια για το σηµασιολογικό περιεχόµενο των αιτηµάτων του πελάτη, τις συνθήκες κάτω από τις οποίες θα ληφθούν συγκεκριµένα αποτελέσµατα και όπο υ χρειάζεται, περιγράφει βήµα προς βήµα τις διαδικασίες που οδηγούν στα αποτελέσµατα αυτά. Περιγράφει λοιπόν πως ζητείται η υπηρεσία και τι συµβαίνει όταν η υπηρεσία εκτελείται. Σε υπηρεσίες σύνθετες που αποτελούνται από σειρά βηµάτων, η

18 περιγραφή που περιλαµβάνεται στη ServiceModel µπορεί να χρησιµοποιηθεί από τους πράκτορες µε διάφορους τρόπους, όπως να εκτελέσουν ανάλυση σε µεγαλύτερο βάθος για το αν η υπηρεσία καλύπτει τις ανάγκες τους ή να συνθέσουν πολλές υπηρεσίες για να εκτελέσουν ένα συγκεκριµένο έργο. Service Grounding: Ένα πλαίσιο σηµασιολογικής περιγραφής όπως η OWL-S συνδυάζει τη σηµασιολογική περιγραφή των δυνατοτήτων της υπηρεσίας ιστού µε τη συντακτική περιγραφή της διεπαφής του σε WSDL και XML Schema. Η σύνδεση της σηµασιολογικής και της συντακτικής περιγραφής ονοµάζεται grounding. Η κλάση ServiceGrounding προσδιορίζει τις λεπτοµέρειες επικοινωνίας του πελάτη - πράκτορα µε την υπηρεσία. Κατά κύριο λόγο προσδιορίζει το πρωτόκολλο επικοινωνίας, τη µορφή των µηνυµάτων και λεπτοµέρειες όπως ο αριθµός της θύρας που χρησιµοποιείται για την επικοινωνία µε την υπηρεσία. Πρόσθετα, η ServiceGrounding πρέπει να προσδιορίζει για κάθε σηµασιολογικό τύπο εισόδου ή εξόδου ορισµένου στη ServiceModel έναν σαφή τρόπο ανταλλαγής δεδοµένων του τύπου αυτού µε την υπηρεσία (τεχνικές serialization). Τονίζεται ότι η σύνδεση OWL-S/WSDL (grounding) συνεπάγεται τη συµπληρωµατική χρήση των δύο γλωσσών µε τρόπο σύµφωνο µε τις προθέσεις της προδιαγραφής WSDL. Για την πλήρη προδιαγραφή µιας σύνδεσης (grounding) χρειάζονται και οι δύο γλώσσες διότι καλύπτουν διαφορετικές περιοχές εννοιών. Υπάρχει επικάλυψη µόνο στην προδιαγραφή WSDL που αναφέρεται ως «abstract types» (αφηρηµένοι τύποι), οι οποίοι χρησιµοποιούνται για τον χαρακτηρισµό των εισόδων και των εξόδων των υπηρεσιών. Η WSDL προδιαγράφει αφηρηµ ένους τύπους µε τη χρήση της XML Schema, ενώ η OWLτον ορισµό των αφηρηµένων τύπων κλάσεις OWL. Η WSDL/XSD δεν S επιτρέπει για µπορεί να εκφρά σει τη σηµασιολογία µιας κλάσης OWL-S. Όµοι α, η OWL-S δεν έχει τα µέσα να εκφράσει τι ς προδιαγραφές binding που περιλαµβάνει η WSDL. Είναι επόµενο λοιπόν η σύνδεση OWL-S/WSDL grounding να χρησιµοποιεί κλάσεις OWL ως αφηρηµένους τύπους των µηνυµάτων που έχουν δηλωθεί σε WSDL και να βασίζεται στις δοµές του WSDL binding για να προδιαγράψει τη µορφοποίηση των µηνυµάτων Ιδιότητες της κλάσης profile στη γλώσσα OWL-S Μερικές ιδιότητες της κλάσης profile, υποκλάσης της Service Profile παρέχουν πληροφορίες για να αναγνωστούν από ανθρώπους. Τέτοιες είναι οι πληροφορίες που παρέχονται µε τις ιδιότητες: servicename: textdescription: contactinformation: servicecategory: Το όνοµα της προσφερόµενης υπηρεσίας. Μία σύντοµη περιγραφή της υπηρεσίας. Αναφορά στους υπεύθυνους της υπηρεσίας. Προσδιορισµός της κατηγορίας της υπηρεσίας. Ένα βασικό συστατικό της profile είναι η περιγραφή της λειτουργικότητας που παρέχεται από την υπηρεσία και η προδιαγραφή των συνθηκών που πρέπει να ικανοποιούνται για να είναι το αποτέλεσµα επιτυχές. Η περιγραφή της λειτουργικότητας χωρίζεται στο µετασχηµατισµ ό της πληροφορίας που εκτελείται από την υπηρεσία και στην αλλαγή κατάστασης ως συνέπ εια εκτέλεσης της υπηρεσίας. Η πρώτη περιγράφεται µε τον ορισµό εισόδων και εξόδων της υπηρεσίας και η δεύτερη µε τους όρους αρχικών συνθηκών και συνεπειών. Οι είσοδοι (Inputs), οι έξοδοι (Outputs), οι αρχικές συνθήκες (Preconditions) και οι συνέπειες (Effects) αναφέρονται σαν IOPE. Το σχήµα για την περιγραφή των

19 IOPE δεν ορίζεται στην profile αλλά στην process. Έτσι, στην περιγραφή της οντότητας process δηµιουργούντ αι όλα τα αντικείµενα IOPE και τα αντικείµενα της profile απλά αναφέρονται σε αυτά. Στην περίπτωση αυτή, για κάθε IOPE δηµιουργείται ένα αντικείµενο. Αντίθετα, σε παλιότερες εκδόσεις της OWL-S για κάθε IOPE δηµιουργούνταν αντικείµενο τόσο στην profile όσο και στην process. Οι ιδιότητες της profile που σχετίζονται (δείχνουν) τις IOPE είναι: hasinput: hasoutput: hasprecondition: hasresult: Αναφέρεται στις εισόδους όπως ορίζονται στην κλάση process. Αναφέρεται σ τις εξόδους όπως ορίζονται στην κλάση process. Προσδιορίζει µία από τις αρχικές συνθήκες της υπηρεσίας και αναφέρεται σε ένα αντικείµενο Precondition ορισµένο στην κλάση process. Προσδιορίζει ένα από τα αποτελέσµατα της υπηρεσίας και αναφέρεται σε ένα αντικείµενο Result στην κλάση Process Στοιχεία της κλάσης process στη γλώσσα OWL-S Στην OWL-S ορίζεται µία υποκλάση της ServiceModel, η process. Η process περιγράφει τις λειτουργικές ιδιότητες της υπηρεσίας µαζί µε τις λεπτοµέρειες των συστατικών της διεργασιών, αν η υπηρεσία είναι σύνθετη (composite process). Επίσης περιγράφει πως µπορεί να αλληλεπιδράσε ι ο πελάτης µε την υπηρεσία. Η περιγραφή της λειτουργικότητας, όπως και στην περίπτωση της profile διαιρείται στο µετασχηµατισµό της πληροφορίας και στην αλλαγή κατάστασης και εκφράζεται σε όρους IOPE. Οι IOPE συνδέονται σε κάθε διαδικασία µέσω των ιδιοτήτων hasinput, hasoutput, hasprecondition και hasresult, χωρίς περιορισµούς πληθικότητας. Οι ατοµικές διεργασίες (atomic processes) είναι αυτές που δεν περιλαµβάνουν άλλες. Καλούνται και εκτελούνται σε ένα βήµα. Αποτελούν υποκλάση της process, συνεπώς προσδιορίζουν τις εισόδους, τις εξόδους τις αρχικές συνθήκες και τα αποτελέσµατα. Μπορο ύν όµως να οριστούν και σύνθετες διεργασίες, οι οποίες περιέχουν άλλες διεργασίες, απλές ή σύνθετες. Η σύνθεσή τους περιγράφεται µε τη χρήση δοµών ελέγχου. Πολλές από τις δοµές ελέγχου έχουν ονόµατα που θυµίζουν τις δοµές ελέγχου στις γλώσσες προγραµµ ατισµού. Πρέπει όµως να τονιστεί ότι µία σύνθετη διεργασία δεν είναι µία σ υµπεριφορά που θα ακολουθήσει η υπηρεσία (service), αλλά ένα σύνολο συµ περιφορών που θα εκτελέσει ο πελάτης στέλνοντας και λαµβάνοντας µία σειρά µηνυµ άτων. Αν η σύνθετη υπηρεσία δίνει ένα συνολικό αποτέλεσµα, τότε ο πελάτης πρέπει να εκτελέσει το σύνολο της υπηρεσίας ώστε να πετύχει το αποτέλεσµα αυτό. Η γλώσσ α OWL-S παρέχει τις ακόλουθες δοµές ελέγχου: Sequence Split Split + Join Choice Any-Order Condition If-Then-Else Iterate Repeat-While Repeat-Until

20 Οι δοµές αυτές χρησιµοποιούνται για τον ορισµό του ελέγχου ροής της σύνθετης διεργασίας. Πρόσθετα παρέχονται µέσα για τη δήλωση της ροής δεδοµένων µεταξύ των διεργασιών Στοιχεία της κλάσης WsdlGrounding στη γλώσσα OWL-S Η γλώσσα OWL-S παρέχει µία καθορισµένη σύνδεση της σηµασιολογικής και της συντακτικής περιγραφής (grounding) για τη γλώσσα WSDL, αντιστοιχίζοντας τα στοιχεία της υπηρεσίας ιστού σε µία διασύνδεση WSDL. Η αντιστοίχηση grounding µιας υπηρεσίας ορίζει τις λεπτοµέρειες πρόσβασης στην υπηρεσία, λεπτοµέρειες που αφορούν κατά κύριο λόγο το πρωτόκολλο και τη δοµή των µηνυµ άτων, τη µεταφορά και την διευθυνσιοδότηση. Μπορεί να θεωρηθεί ως αντιστοίχηση από µία αφηρηµένη σε µία συγκεκριµένη προδιαγραφή εκείνων των στοιχείων που απαιτούνται γι α την αλληλε πίδραση µε την υπηρεσία. Για παράδειγµα, µία ατοµική διεργασία της OWL-S αντιστοιχίζεται σε µία λειτουργία (operation) WSDL και οι είσοδοι και έξοδοι στα µέρη µηνυµάτων εισόδου και εξόδου της WSDL. Η κλάση WsdlGrounding της OWL-S, υποκλάση της Grounding, εξυπηρετεί το σκοπό αυτό. Κάθε αντικείµενο της WsdlGrounding, περιέχει µία λίστα από αντικείµενα της WsdlAtomicProcessGrounding. Ένα αντικείµενο της WsdlAtomicProcessGrounding αναφέρεται σε συγκεκριµένα στοιχεία της προδιαγραφής WSDL µε τη χρήση συγκεκριµένων ιδιοτήτων. Ορισµένες από αυτές είναι: wsdlversion: Αναγνωριστικό URI που δείχνει την έκδοση WSDL που χρησιµοποιείται. wsdldocument: Αναγνωριστικό URI ενός εγγράφου WSDL στο οποίο αναφέρεται το συγκεκριµένο grounding. wsdloperation: Αναγνωριστικό URI της λειτουργίας WSDL που αντιστοιχεί στη δεδοµένη ατοµική διεργασία. wsdlservice, wsdlport (προαιρετικό): Το αναγνωριστικό URI της υπηρεσίας WSDL που προσφέρει τη συγκεκριµένη λειτουργία. wsdlinputmessage: Αντικείµενο που περιέχει το αναγνωριστικό URI του ορισµού του µηνύµατος WSD L που µεταφέρει τις εισόδους της δεδοµένης ατοµικής διεργασίας. wsdlinput: Αντικείµενο που περιέχει ζευγάρια αντιστοίχησης για ένα µέρος µηνύµατος (message part) του WSDL µηνύµατος εισόδου. Πρέπει να υπάρχει ένα τέτοιο αντικείµενο για κάθε µέρος µηνύµατος του µηνύµατος εισόδου. Το κάθε ζευγάρι αναπαρίσταται µε τη χρήση ενός αντικειµένου WsdlInputMessageMap. Το ένα στοιχείο του ζευγαριού (εκφράζεται µε την ιδιότητα wsdlmessagepart) προσδιορίζει το µέρος του µηνύµατος µε τη χρήση ενός αναγνωριστικού URI. Το άλλο στοιχείο ορίζει πως απορρέει αυτό το µέρος του µηνύµατος από µία ή περισσότερες εισόδους της ατοµικής διεργασίας OWL-S. wsdloutputmessage: Παρόµοιο µε το wsdlinputmessage, αλλά για εξόδους. wsdloutput: Όµοιο µε το wsdlinput, αλλά για εξόδους. Στην περίπτωση αυτή, έχουµε ένα ζευγάρι αντιστοίχησης για µία έξοδο µιας OWL-S ατοµικής διεργασίας η οποία αντιπροσωπεύεται µε τη χρήση ενός αντικειµένου της WsdlOutputMessageMap. Κάθε ζευγάρι περιέχει ένα αντικείµενο owlsparameter που προδιαγράφει την έξοδο. Το άλλο στοιχείο του ζευγαριού µπορεί να είναι ένα wsdlmessagepart όταν υπάρχει άµεση αντιστοίχηση µε συγκεκριµένο µήνυµα ή xslttransformation σε όλες τις άλλες περιπτώσεις

21 3. Περιγραφή των εφαρµογών των τεχνολογιών και των υπηρεσιών του σηµασιολογικού ιστού στη βιοµηχανία 3.1 Εισαγωγή - Χαρακτηριστικά των βιοµηχανικών συστηµάτων Το βιοµηχανικό σύστηµα µπορεί να οριστεί ως η σύνθεση µίας σειράς σταθµών παραγωγής και ενός συστήµατος διαχείρισης υλικών το οποίο µεταφέρει και τροφοδοτεί µέρη, εξαρτήµατα και υλικά στους σταθµούς, όπως απαιτείται για κάθε παραλλαγή του προϊόντος που πρέπει να παραχθεί [11]. Τα παραδοσιακά βιοµηχανικά συστήµατα αποτελούνται από µία γραµµικής ροής διεργασία που ονοµάζεται γραµµή παραγωγής, η οποία µεταφέρει προϊόντα σε µία σταθερή ακολουθία σταθµών κατεργασίας, κάθε ένας από τους οποίους εκτελεί µία προκαθορισµένη κατεργασία. Τέτοιες γραµµές παραγωγής είναι συνήθως πολύ αποδοτικές αλλά καθόλου ευέλικτες στην προσαρµογή τους. Συνήθως είναι προσαρµοσµένες στην παραγωγή ενός µόνο προϊόντος και απαιτούν αξιόλογη προσπάθεια και µεγάλο χρόνο εκτός λειτουργίας ώστε να αναδιαρθρωθούν για ένα νέο τύπο προϊόντος. Έτσι, πολλά νεότερα βιοµηχανικά συστήµατα τείνουν να απαρτίζονται από ευέλικτα συστήµατα διαχείρισης υλικών τα οποία µπορούν να παρέχουν πολλαπλές διαδροµές τροφοδοσίας και έτσι πολλές δυνατές ακολουθίες διεργασιών. Παράλληλα, απαρτίζονται από ευέλικτες και αναδιαρθρώσιµες µονάδες διεργασιών. Τα ευέλικτα συστήµατα παραγωγής αναπτύχθηκαν κατά τη δεκαετία του 1980, ωθούµενα από την ανάπτυξη των προγραµµατιζόµενων αυτοµατοποιηµένων µονάδων (robotized cells). Οι µονάδες αυτές χρησιµοποιούνται κυρίως για συναρµολόγηση και βαφή. Επίσης, τέτοιες µονάδες εξελίχθηκαν στις προγραµµατιζόµενες εργαλειοµηχανές NC (Numerically Controlled). Οι ευέλικτες µονάδες διεργασιών (flexible process cells) είναι σε θέση να εκτελέσουν ένα ευρύ φάσµα διεργασιών και έτσι είναι ικανές να ανταπεξέλθουν στην παραγωγή µιας µεγάλης ποικιλίας προϊόντων κατά τη διάρκεια της λειτουργίας τους χωρίς την ανάγκη αλλαγής ή µετατροπής του εξοπλισµού. Ωστόσο, η ευελιξία αυτή συνεπάγεται ότι ο εξοπλισµός δεν χρησιµοποιείται αποδοτικά µε συνέπεια οι επιπλέον δυνατότητες να είναι µία ανεπιθύµητη επένδυση κεφαλαίου. Σαν συνέπεια αυτού, οι αναδιαµορφώσιµες µονάδες διεργασιών (reconfigurable process cells) κερδίζουν έδαφος ως παράδειγµα που ενθαρρύνει την υιοθέτηση εξοπλισµού µε εναλλάξιµα µέρη, εξαρτήµατα και ενεργοποιητές που µπορούν εύκολα να αναδιαταχθούν σε διαφορετική σύνθεση σύµφωνα µε τις απαιτήσεις της παραγωγής. Οι αναδιαµορφώσιµες µονάδες διεργασιών ικανοποιούν χωρίς να υπερβαίνουν τις απαιτήσεις της διεργασίας για τα παραγόµενα προϊόντα και µπορούν εύκολα να αλλαχθούν ή να αναδιαταχθούν όταν πρέπει να παραχθούν νέα προϊόντα. Είτε χρησιµοποιούνται ευέλικτες είτε αναδιαµορφώσιµες µονάδες, µία σειρά από ηλεκτροµηχανικές (mechatronic) συσκευές και υποσυστήµατα συνεργάζονται για την εκτέλεση της διεργασίας από την κάθε µονάδα. Παραδείγµατα τέτοιων συσκευών είναι οι µεταφορικές ταινίες, οι ραουλόδροµοι, οι αρθρωτοί ροµποτικοί βραχίονες, εργαλεία όπως οι ηλεκτροσυγκολλήσεις και τα τρυπάνια, οι τελικοί επενεργητές όπως οι αρπάγες. Κάθε συσκευή παρέχει µία ή περισσότερες λειτουργίες οι οποίες µπορούν να συντονιστούν µε τις λειτουργίες άλλων συσκευών για την υλοποίηση σύνθετων διεργασιών. Για παράδειγµα, µία µεταφορική ταινία, ένας ροµποτικός βραχίονας και µία αρπάγη µπορούν να συντονιστούν και να λειτουργήσουν ως µία µηχανή τοποθέτησης. Παρόµοια, σε υψηλότερο ιεραρχικό επίπεδο, οι προσφερόµενες διεργασίες από διαφορετικούς

22 σταθµούς µπορούν συντονιστούν µε διαφορετικό τρόπο ώστε να παράγουν διαφορετικά προϊόντα. Σήµερα, υπάρχει ένας πολύ µεγάλος αριθµός βιοµηχανικών συσκευών οι οποίες µπορούν να χρησιµοποιηθούν για τη δηµιουργία βιοµηχανικών συστηµάτων. Εντούτοις, οι φυσικές διεργασίες και οι βιοµηχανικές διαδικασίες που παρέχονται από τις συσκευές αυτές αποτελούν ένα µικρότερο σύνολο το οποίο αλλάζει µάλλον αργά µε το χρόνο. Εποµένως, οι µηχανικοί παραγωγής είναι σε θέση να επιλέξουν κατάλληλες συσκευές ή µηχανές, βασιζόµενοι στην προηγούµενη γνώση και εµπειρία τους στις απαιτούµενες λειτουργίες ή διεργασίες. Αυτό υποδηλώνει ότι αν οι γνώσεις σε φυσικές διεργασίες και βιοµηχανικές διαδικασίες µπορούν να αναπαρασταθούν σε µορφή αναγνωρίσιµη από µηχανές, πολλές από τις διαδικασίες διαµόρφωσης και σχεδιασµού που σήµερα εκτελούνται από µηχανικούς µπορούν να αυτοµατοποιηθούν. Με την προοπτική αυτή, οι οντολογίες αναδύονται ως υποψήφια λύση για την αναπαράσταση των γνώσεων που σχετίζονται τόσο µε τις λειτουργίες και τις διεργασίες, όσο και µε τις συσκευές και τον εξοπλισµό που χρησιµοποιούνται για την εκτέλεσή τους. Μία τέτοια αναπαράσταση θα επιτρέψει να εφαρµοστούν διαφορετικοί µηχανισµοί λογικής όπως η µέθοδος subsumption για την ταξινόµηση νέων τύπων συσκευών και εξοπλισµού ή πιο πολύπλοκες µέθοδοι επίλυσης προβληµάτων σύνθεσης και διαµόρφωσης. 3.2 Οντολογίες και εφαρµογή τους στις βιοµηχανικές διεργασίες, στα προϊόντα και στον εξοπλισµό Κατά την ανάπτυξη οντολογιών στο βιοµηχανικό χώρο, η διεργασία είναι η πιο συνηθισµένη έννοια που εµπλέκεται σε όλες τις σηµαντικές περιοχές των προδιαγραφών της γνώσης. Από την πλευρά του εξοπλισµού παραγωγής, ο βασικός σκοπός είναι να προσφέρει τις λειτουργικές του δυνατότητες σε µία διεργασία. Από την πλευρά του προϊόντος, η βασική απαίτηση είναι η µετατροπή µερών και πρώτων υλών σε τελικά προϊόντα µε τη βοήθεια των διεργασιών. Η σχέση µεταξύ αυτών των βασικών εννοιών παριστάνεται στην ακόλουθη εικόνα 4: ιεργασία Απαιτεί Προσφέρει Προϊόν Εξοπλισµός Εικόνα 4: Αναπαράσταση της σχέσης µεταξύ των βασικών βιοµηχανικών εννοιών. Οι τρεις ανωτέρω έννοιες, διεργασίες, εξοπλισµός και προϊόν, είναι οι βασικές γενικές έννοιες που αναλύονται σε πιο συγκεκριµένες που αναπαριστούν ειδικότερους τύπους διεργασιών, εξοπλισµού και προϊόντων

23 3.2.1 Ιεραρχική ταξινόµηση διεργασιών Ενώ ή ταξινόµηση του εξοπλισµού και των προϊόντων µπορεί να αναπαρασταθεί µε διάφορους τρόπους, οι διεργασίες τυπικά αναπαρίστανται µε τη χρήση ιεραρχικής ταξινόµησης (taxonomy). Η ταξινόµηση αυτή µπορεί κατόπιν να χρησιµοποιηθεί για να ταιριάξουν οι ζητούµενες από τα προϊόντα διεργασίες µε τις προσφερόµενες από τον εξοπλισµό. Ως παράδειγµα παριστάνεται µία ιεραρχική ταξινόµηση διεργασιών στην ακόλουθη εικόνα 5: ιεργασία Συναρµολόγηση ιαµόρφωση Μηχανουργική κατεργασία Συγκόλληση Βίδωµα ιάτρηση Τόρνευση Κάρφωµα Κοπή Εικόνα 5: είγµα ιεραρχικής ταξινόµησης διεργασιών Οντολογίες προϊόντων Η ιεραρχική ταξινόµηση των εννοιών ποικίλει και ορισµένες οντολογίες µπορεί να τοποθετούν τις ίδιες έννοιες σε αρκετές παράλληλες δοµές δένδρου. Υπάρχουν πολλά παραδείγµατα ταξινόµησης όπως σύµφωνα µε τη λειτουργία του προϊόντος, τη γεωµετρική πληροφορία, τον τύπο της αγοράς, τις απαιτούµενες βιοµηχανικές διεργασίες και άλλα. Ανεξάρτητα από το επιλεγµένο ιεραρχικό µοντέλο υπάρχουν κυρίαρχες έννοιες των προϊόντων που προδιαγράφονται στις οντολογίες

24 Για συναρµολογούµενα προϊόντα, οι έννοιες αφορούν τα µέρη και τις συνδέσεις µεταξύ των µερών. Τα µέρη µπορεί να είναι ατοµικά στοιχεία ή σύνθετες δοµές οι οποίες µπορεί να συνθέσουν άλλα συνθετότερα µέρη. ιαφορετικοί τύποι εννοιών σύνδεσης µπορούν να συνδεθούν µε έννοιες διεργασιών από τη δοµή διεργασιών, επιτρέποντας έτσι να συµπεραίνεται ποια διεργασία χρειάζεται για τη σύνδεση ή συναρµολόγηση δύο µερών. Πρόσθετα στις έννοιες που αφορούν τις συνδέσεις, άλλες έννοιες δίνουν πληροφορίες χειρισµού, αποθήκευσης κλπ. Μία επισκόπηση εννοιών που σχετίζονται µε συναρµολογούµενα προϊόντα παριστάνεται στην ακόλουθη εικόνα 6: Σύνολο µερών has-a Σύνδεση connected achieved by is-a Μέρος ιεργασία is-a Υποσύνολο µερών is-a Εξάρτηµα Εικόνα 6: Έννοιες που συνήθως συναντώνται σε οντολογίες συναρµολογούµενων προϊόντων. Για τα περισσότερα µεταλλικά προϊόντα, πάνω στο βασικό προϊόν χύτευσης εφαρµόζονται µηχανουργικές κατεργασίες όπως η κοπή, το τρύπηµα και οι εργασίες τόρνου για τη διαµόρφωση της γεωµετρίας του τελικού προϊόντος. Η λεπτοµερής περιγραφή του προϊόντος επιτυγχάνεται µε τη σύνθεση θεµελιακών γεωµετρικών σχηµάτων τα οποία είτε αποτελούν µέρος του σώµατος του προϊόντος είτε αφαιρούνται από το αρχικό χυτό. Ειδικά εκεί όπου πρέπει να αφαιρεθεί υλικό, η πληροφορία της περιγραφής µπορεί να είναι η εφαρµογή µιας διεργασίας. Ως παράδειγµα µπορεί να αναφερθεί η συσχέτιση ενός άδειου κυλίνδρου στη γεωµετρία του προϊόντος µε την διεργασία τρυπήµατος, κατεργασία ταξινοµηµένη ως διεργασία στην οντολογία (process taxonomy). Για τέτοιες µορφές προϊόντων, οι δοµές δεδοµένων για την αναπαράσταση των προϊόντων στηρίχθηκαν αποκλειστικά σε τρισδιάστατα γεωµετρικά δεδοµένα µε τη χρήση λογισµικού CAD. Το πλεονέκτηµα των οντολογιών είναι ότι οι έννοιες που χρησιµοποιούνται στις οντολογίες επιτρέπουν την ενσωµάτωση της µη γεωµετρικής πληροφορίας όπως των συνδέσεων ή των σχετιζόµενων διεργασιών που αντιπροσωπεύουν την υπονοούµενη γνώση που υπάρχει στους µηχανικούς αλλά σπάνια

25 µεταφέρεται στην περιγραφή κατασκευής του προϊόντος. Αυτό συχνά οδηγεί σε ένα χάσµα γνώσης µεταξύ των µηχανικών σχεδιασµού και παραγωγής, µε τους µηχανικούς παραγωγής να προσπαθούν να καταλάβουν το µέρος της γνώσης που έχει αφεθεί να εννοείται κατά τη διαδικασία σχεδιασµού του προϊόντος για να µπορέσουν να αναπτύξουν το κατάλληλο βιοµηχανικό σύστηµα Οντολογίες εξοπλισµού Οι παραδοσιακές µηχανές που χρησιµοποιούνταν στη βιοµηχανία ήταν µεγάλα µονολιθικά τµήµατα εξοπλισµού. Η ανάγκη για ευελιξία και αναδιάταξη και η πίεση του χρόνου και του κόστους έχουν οδηγήσει στην ανάπτυξη µηχανών αποτελούµενων από αρθρωτά υποσυστήµατα και έξυπνες ηλεκτροµηχανικές συσκευές (mechatronic devices) που µπορούν και παρέχουν διαφορετικές λειτουργίες. Μία γνώση που φυσικά ενσωµατώνεται σε οντολογίες σύνθετου αρθρωτού εξοπλισµού είναι ότι η µηχανή είναι ένα σύνολο συσκευών. Το σηµαντικότερο χαρακτηριστικό που συναντάµε σε µία οντολογία εξοπλισµού είναι η έννοια της ενίσχυσης των δεξιοτήτων. Η σύνθεση των ατοµικών δεξιοτήτων των συσκευών ώστε να δηµιουργήσουν πιο σύνθετες διεργασίες. Ως παράδειγµα µπορεί να αναφερθεί ότι η σύνθεση της κάθετης µετατόπισης και της εφαρµογής ροπής έχει ως αποτέλεσµα τη διεργασία βιδώµατος. Οποτεδήποτε εµφανίζεται ενίσχυση των δεξιοτήτων ο προκύπτων εξοπλισµός µπορεί να προσφέρει διεργασίες πρόσθετες στις ατοµικές λειτουργίες που παρέχονται από τις µεµονωµένες συσκευές. Μία οντολογία εξοπλισµού περιλαµβάνει έννοιες για ιδιαίτερους τύπους συσκευών και ενοτήτων υλικού, και επίσης περιέχει έννοιες που αντιστοιχούν σε διαφορετικούς τύπους µηχανών και το πως αυτές µπορούν να συντίθενται. Εποµένως, αναλύοντας τις ιδιότητες µιας συγκεκριµένης διαµόρφωσης συσκευών και µηχανικών µονάδων, είναι δυνατόν η συγκεκριµένη διάταξη να ταξινοµηθεί και να προσδιοριστεί τι είδους βιοµηχανικές διεργασίες µπορεί να προσφέρει Οντολογίες βελτιωµένης περιγραφής διεργασιών (refined process ontologies) Οι οντολογίες ταξινόµησης διεργασιών δεν είναι επαρκείς για να µοντελοποιήσουν τη δυναµική φύση των διεργασιών. Οι οντολογίες αυτές είναι επαρκείς για τη µοντελοποίηση του βιοµ ηχανικού περιβάλλοντος, την εξαγωγή των δυνατοτήτων µιας µηχανής και τον προσδιορισµό των απαιτήσεων ενός προϊόντος. Εντούτοις, δεν επαρκούν για τους πράκτορες λογισµικού ώστε να µπορούν να αναπτύσσουν δυναµικά το µοντέλο κατά την εξέλιξη των διεργασιών. Για το λόγο αυτό, οι οντολογίες διεργασιών (process taxonomies) συχνά επεκτείνονται ή συµπληρώνονται από πρόσθετες οντολογίες µε σκοπό τη µοντελοποίηση της δυναµικής συµπεριφοράς κατά τη διάρκεια και µετά το πέρας εκτέλεσης της διεργασίας. Μία οντολογία βελτιωµένης περιγραφής µιας διεργασίας ορίζει µε λεπτοµέρεια πτυχές όπως: Τις καταστάσεις (states) των προϊόντων και του εξοπλισµού στον οποίο η διεργασία εκτελείται. Το συντονισµό των λειτουργιών που απαιτείται για την ολοκλήρωση της διεργασίας. Την τελική κατάσταση των προϊόντων και του εξοπλισµού µετά την ολοκλήρωση της διεργασίας

26 Έτσι, οι πράκτορες λογισµικού είναι σε θέση να συµπεράνουν εάν η απαιτούµενη διεργασία µπορεί να επιτευχθεί, µπορούν αυτόµατα να συντονίζουν την εκτέλεση των λειτουργιών και των διεργασιών, και µπορούν να αναπτύξουν την εσωτερική τους αναπαράσταση του εξωτερικού περιβάλλοντος στην προκύπτουσα κατάσταση. 3.3 Σύντοµη επισκόπηση της εφαρµογής τεχνολογιών και υπηρεσιών σηµασιολογικού ιστού στο βιοµηχανικό αυτοµατισµό Η χρήση των οντολογιών στο χώρο της βιοµηχανίας έχει αναπτυχθεί τα 12 τελευταία χρόνια, ξεκινώντας µε την εισαγωγή της γλώσσας PSL (Process Specification Language) η οποία αναπτύχθηκε από το NIST (National Institute of Standards and Technology). Αν και δεν κέρδισε ποτέ µεγάλη αποδοχή, η PSL επηρέασε αρκετές πρόσφατες προσεγγίσεις, κυρίως αυτές που βασίζονται στις υπηρεσίες σηµασιολογικού ιστού (SWS). Οι οντολογίες άρχισαν να βρίσκουν το ρόλο τους στην αρχιτεκτονική του βιοµηχανικού αυτοµατισµού ως ένα µέρος µιας ευρύτερης προσπάθειας που έχει ως στόχο την ανάπτυξη πολυπρακτορικών συστηµάτων για το βιοµηχανικό έλεγχο. Η χρήση των οντολογιών έκτοτε έχει επηρεαστεί σε µεγάλο βαθµό από τις εξελίξεις έξω από το βιοµηχανικό χώρο και κυρίως από την εµφάνιση λύσεων βασισµένων στο διαδίκτυο και στο σηµασιολογικό ιστό. Οι πιο σηµαντικές εφαρµογές των οντολογιών και των υπηρεσιών σηµασιολογικού ιστού στο βιοµηχανικό αυτοµατισµό είναι στα: Πολυπρακτορικά συστήµατα τα οποία χρησιµοποιούν τις οντολογίες ως κοινόχρηστο λεξικό για επικοινωνία µεταξύ πρακτόρων λογισµικού, για το σχεδιασµό και τον προγραµµατισµό παραγωγής. Συστήµατα υποστήριξης σχεδιασµού τα οποία χρησιµοποιούν τις οντολογίες για να κατευθύνουν τη διαδικασία σχεδιασµού των βιοµηχανικών συστηµάτων. Συστήµατα που εφαρµόζουν αρχιτεκτονική SOA, στα οποία ο εξοπλισµός και οι διεργασίες παραγωγής προσφέρονται ως υπηρεσίες ιστού οι οποίες περιγράφονται από οντολογίες. Μπορούν δυναµικά να εντοπιστούν, να επιλεγούν, να συντεθούν και να κληθούν Οντολογίες και πολυπρακτορικά συστήµατα Κατά το τέλος της δεκαετίας του 1990 και στις αρχές της δεκαετίας του 2000, η κοινοπραξία HMS (Holonic Manufacturing Systems) συγχώνευσε ένα µεγάλο µέρος της έρευνας που είχε γίνει στην εφαρµογή πολυπρακτορικών συστηµάτων για το βιοµηχανικό έλεγχο. Η πρωτοβουλία στόχευε στην ανάπτυξη συστηµάτων «holon», αποτελούµενων από αρθρωτά αυτόνοµα µέρη, τα οποία θα ήταν σε θέση να αυτοοργανώνονται και να αυτοµατοποιήσουν τον έλεγχο του συστήµατος παραγωγής. Ο στόχος αυτός οδήγησε στην υιοθέτηση πολυπρακτορικών τεχνολογιών που αναπτύχθηκαν σε άλλους τοµείς µε ιδιαίτερη έµφαση στην αξιοποίηση των προτύπων FIPA (Foundation for Intelligent Physical Agents). Τα αποτελέσµατα που προέκυψαν από την εργασία της κοινοπραξίας HMS έχουν µεγάλη επιρροή σε σηµείο που πολλές µεταγενέστερες προσπάθειες να συνεχίζουν να χρησιµοποιούν τις ίδιες τεχνολογίες (π.χ. οντολογίες KIF) µε σκοπό να διασφαλίσουν την προς τα πίσω συµβατότητα. Στον κόσµο των πολυπρακτορικών συστηµάτων, είτε αυτών που αναπτύχθηκαν στα πλαίσια της HMS, είτε αυτών που αναπτύχθηκαν κάτω από άλλες πρωτοβουλίες, οι

27 οντολογίες χρησιµοποιούνται κύρια ως µέσο για τη διατύπωση ενός κοινού λεξιλογίου το οποίο οι πράκτορες λογισµικού µπορούν να χρησιµοποιούν για την κατασκευή µηνυµάτων και συνοµιλιών [13][14]. Ακολουθώντας τις προδιαγραφές της FIPA, οι οντολογίες αυτές ορίστηκαν µε τη χρήση της µορφοποίησης ανταλλαγής γνώσης (Knowledge Interchange Format KIF). Πιο πρόσφατες εξελίξεις αξιοποιούν τη γλώσσα οντολογιών OWL καθώς και τεχνολογίες συµβιβασµού οντολογιών για να επιτύχουν λειτουργικότητα µεταξύ πρακτόρων που χρησιµοποιούν διαφορετικές οντολογίες. [15] Ως παράδειγµα οντολογίας που χρησιµοποιείται σε ένα πολυπρακτορικό σύστηµα, παρουσιάζεται στην επόµενη εικόνα (Εικόνα 7) η βιοµηχανική οντολογία στην αρχιτεκτονική ADACOR (ADAptive holonic COntrol architecture for distributed manufacturing systems). [16] Σχήµα 7: Οι ανώτερες έννοιες της βιοµηχανικής οντολογίας στην αρχιτεκτονική ADACOR µε διάγραµµα UML. Η οντολογία ακολουθεί το φορµαλισµό πλαισίου (F-Logic) όπως συνιστάται από τα πρότυπα FIPA. Ο βασικός σκοπός της αρχιτεκτονικής είναι ο δυναµικός προγραµµατισµός και η αποστολή των εντολών εργασίας των οποίων το αποτέλεσµα είναι η αποστολή υλικών στους κατάλληλους σταθµούς εργασίας. Σκοπός της οντολογίας είναι η υποστήριξη τέτοιων λειτουργιών προγραµµατισµού. Στο πρότυπο ISO Industrial automation system and integration, ένα πρότυπο για ενσωµάτωση, ανταλλαγή και παράδοση δεδοµένων µεταξύ υπολογιστικών συστηµάτων, έχει αναπτυχθεί µία οντολογία OWL για τη διευκόλυνση του λογικού σχεδιασµού στην περιοχή των βιοµηχανικών συστηµάτων αυτοµατισµού Οντολογίες για την υποστήριξη σχεδιασµού Ως ενδιάµεση λύση για την αυτόµατη αναδιαµόρφωση των βιοµηχανικών συστηµάτων, η χρήση εργαλείων σχεδιασµού τα οποία διευκολύνουν τη διαδικασία σχεδιασµού µπορούν

28 επαρκώς να µειώσουν τις απαιτούµενες προσπάθειες σχεδίασης. Τα εργαλεία αυτά µπορούν να κατατάξουν και να προτείνουν εναλλακτικές λύσεις για τον τρόπο ανάπτυξης του βιοµηχανικού εξοπλισµού, σύµφωνα µε τις απαιτήσεις των προϊόντων που πρόκειται να παραχθούν. Μία τέτοια προσέγγιση αναπτύσσεται στην εργασία [17], όπου παρουσιάζεται ένα σύστηµα βασισµένο στον παγκόσµιο ιστό το οποίο χρησιµοποιείται για την ανάπτυξη συναρµολογούµενων δοµών από ηλεκτροµηχανικές συσκευές. Η εργασία αναφέρει ένα πλαίσιο οντολογίας για την περιγραφή των προϊόντων, των διαδικασιών που χρησιµοποιούνται για τη συναρµολόγηση των προϊόντων και του εξοπλισµού που εκτελεί τις διαδικασίες συναρµολόγησης. Το σύστηµα χρησιµοποιεί τις οντολογίες µε σκοπό να κατευθύνει το σχεδιαστή, ξεκινώντας από τον ορισµό του προϊόντος και επιλέγοντας τον κατάλληλο για την παραγωγή του προϊόντος εξοπλισµό. Οι οντολογίες ορίζονται µε τη χρήση της γλώσσας του Protégé και ακολουθώντας τις σχεδιαστικές αρχές που αρχικά διατυπώθηκαν στη µεθοδολογία CommonKADS [18]. Τα εργαλεία υποστήριξης σχεδιασµού βοηθούν στη διαµόρφωση των λειτουργικών συστηµάτων. Εντούτοις, ο αυτόµατος έλεγχος του διαµορφωµένων συστηµάτων δεν εξετάζεται από τα εργαλεία αυτά αλλά υλοποιείται από µηχανικούς αυτοµατισµού, µετά τη σύνθεση των συσκευών και τη διαµόρφωση των µονάδων. Η τρίτη οµάδα συστηµάτων που περιλαµβάνει τα συστήµατα υπηρεσιών ιστού παρουσιάζεται αναλυτικότερα στην παράγραφο 3.4 που ακολουθεί. 3.4 Υπηρεσίες ιστού (WS) και σηµασιολογικού ιστού (SWS) στο βιοµηχανικό αυτοµατισµό Υπηρεσιοστραφής αρχιτεκτονική (SOA) και υπηρεσίες ιστού (WS) στο βιοµηχανικό αυτοµατισµό Μία από τις αδυναµίες των υπαρχόντων προσεγγίσεων στο βιοµηχανικό αυτοµατισµό είναι ότι οι αλληλεπιδράσεις µεταξύ των κατανεµηµένων λογισµικών ελέγχου πρέπει να προγραµµατιστούν από µηχανικούς σύµφωνα µε τους τύπους των διεπαφών που προσφέρονται από τον προς έλεγχο εξοπλισµό. Η προσέγγιση των πολυπρακτορικών συστηµάτων προσπαθεί να ξεπεράσει το πρόβληµα αυτό εφαρµόζοντας αρκετούς τύπους αλληλεπιδράσεων µε στόχο την κάλυψη του µεγάλου εύρους των συστηµάτων. Εντούτοις, όταν σε ένα εγκατεστηµένο σύστηµα εισάγονται νέοι τύποι διεργασιών ή συσκευών, οι υπάρχουσες εφαρµογές λογισµικού όπως οι πράκτορες πρέπει να επαναπρογραµµατιστούν ώστε να µπορούν να αλληλεπιδράσουν µε τις νεοεισερχόµενες συσκευές. Είναι γενικά επιθυµητό οι συσκευές να µπορούν να εκθέτουν και να περιγράφουν τις διεπαφές τους µε έναν τρόπο ώστε το λογισµικό ελέγχου να µπορεί δυναµικά να αποκτήσει επαρκή γνώση ώστε να αλληλεπιδρά µε τις συσκευές αυτές. Η ιδέα αυτή οδηγεί στην υιοθέτηση της υπηρεσιοστραφούς αρχιτεκτονικής SOA (Service-Oriented Architecture) για τις συσκευές, έτσι ώστε δυναµικά να µπορούν να εκθέτουν και να εγκαθιστούν διαδικασίες ενσωµατωµένες ως υπηρεσίες ιστού (Web Services) και τη χρήση των οντολογιών για την περιγραφή αυτών των υπηρεσιών ιστού. Έτσι, εφαρµογές λογισµικού για τον έλεγχο σαν τους πράκτορες λογισµικού µπορούν δυναµικά να βρουν τις διαθέσιµες υπηρεσίες ιστού και να συνάγουν επαρκή γνώση για το πώς να επικαλεσθούν και να συνθέσουν τις υποκείµενες φυσικές διεργασίες. Επιγραµµατικά, τα πλεονεκτήµατα υιοθέτησης των υπηρεσιών ιστού στις βιοµηχανικές συσκευές είναι:

29 Ευελιξία καθώς οι υπηρεσίες εύκολα αναδιαµορφώνονται ή αντικαθίστανται. υνατότητα ενσωµάτωσης καθώς οι υπηρεσίες εύκολα συνενώνονται µε άλλες. Χαµηλό κόστος ανάπτυξης καθώς οι υπηρεσίες είναι επαναχρησιµοποιήσιµες και απαιτείται µικρός όγκος προγραµµατισµού εφαρµογής. υνατότητα συντήρησης καθώς η κάθε υπηρεσία ενσωµατώνει τη δική της πολυπλοκότητα. Έτσι κάθε σφάλµα συσκευής µπορεί να εντοπιστεί και να επιδιορθωθεί. υνατότητα διαχείρισης καθώς η κάθε συσκευή παρουσιάζει µία υψηλού επιπέδου διεπαφή διαχείρισης για να διευκολύνεται η διαµόρφωση, η παρακολούθηση και η διάγνωση σφαλµάτων. Η προσέγγιση αυτή αρχικά υιοθετήθηκε σε εργασίες όπως η [19] και στη συνέχεια προωθήθηκε από αρκετά ευρωπαϊκά προγράµµατα, µεταξύ αυτών το SOCRADES [40] (Service Οriented Cross-layer Architecture for Distributed smart Embedded Devices) και το SODA [41] (Service-Οriented Device Architecture). Η προσέγγιση αυτή υιοθέτησε τεχνολογίες από τους χώρους των υπηρεσιών ιστού και του σηµασιολογικού ιστού ώστε να µεγιστοποιήσει τη διαλειτουργικότητα. Η οντολογία υπηρεσιών σηµασιολογικού ιστού OWL-S είναι µία από τις οντολογίες που χρησιµοποιείται για να περιγράψει τις υπηρεσίες που προσφέρονται από τον εξοπλισµό Περιγραφή των υπηρεσιών σηµασιολογικού ιστού µε την οντολογία OWL-S Όπως ήδη αναφέρθηκε, οι υπηρεσίες ιστού µπορούν και παρέχουν την κατάλληλη υποδοµή για την αλληλεπίδραση και την ενθυλάκωση διεργασιών και δεξιοτήτων και η σηµασιολογία του ιστού µπορεί να προσφέρει τη δυνατότητα αυτόµατης χρήσης τους από τις µηχανές [1]. Η σηµασιολογία είναι απαραίτητη για να µπορεί να συνάγεται γνώση για τα διάφορα µέρη των συστηµάτων. Το έργο του ορισµού σαφούς σηµασιολογικής περιγραφής στις υπηρεσίες ιστού εξετάζεται από διάφορα ερευνητικά προγράµµατα, τα οποία έχουν καταλήξει στη δηµιουργία της πρωτοβουλίας SWSI (Semantic Web Services Initiative). Το αποτέλεσµα των προσπαθειών είναι η δηµιουργία της οντολογίας OWL-S, µιας οντολογίας που ορίζει το σχέδιο µιας υπηρεσίας ιστού. Οι υπηρεσίες που περιγράφονται από µία οντολογία OWL-S καλούνται υπηρεσίες σηµασιολογικού ιστού (SWS) και δίνουν τη δυνατότητα στους πράκτορες λογισµικού, µε χρήση της σηµασιολογίας, να βρίσκουν, να καλούν, να συνθέτουν και να παρακολουθούν τις σχετικές διαδικασίες. Το αποτέλεσµα είναι ότι η χρήση των SWS δίνει στους πράκτορες τη δυνατότητα να αλληλεπιδρούν µε υπηρεσίες που πριν περιγραφούν µε το συγκεκριµένο τρόπο θα ήταν άγνωστες ή δε θα λαµβάνονταν υπόψη. Η αυτόµατη ανεύρεση επιτυγχάνεται µε το σηµασιολογικό ταίριασµα της περιγραφής της απαιτούµενης διεργασίας µε τις διαθέσιµες περιγραφές των χαρακτηριστικών SWS (SWS profiles). Επειδή το ταίριασµα γίνεται µε τη χρήση συµπεράσµατος παρά µε µία προς µία ενσωµατωµένες στον κώδικα αντιστοιχίσεις, η εύρεση µπορεί να γίνει µε βάση το σύνολο των δεξιοτήτων και όχι τον τύπο των συσκευών. Έτσι, η εξέλιξη των βιοµηχανικών εφαρµογών συνεχίζεται, από τις εφαρµογές των πρώτων ηµερών που βασίζονταν στους πόρους σε αυτές των τελευταίων χρόνων που βασίζονται στις δεξιότητες. Η προσέγγιση του σηµασιολογικού ταιριάσµατος ενεργοποιείται µε τη βοήθεια του µοντέλου ταξινόµησης της γλώσσας OWL-DL, το οποίο χρησιµοποιείται για να προσδιορίσει αν οι δεξιότητες που βρέθηκαν είναι ένα αντικείµενο (οντότητα) της αιτούµενης διεργασίας. Το µοντέλο αυτό δίνει τη δυνατότητα βελτιωµένης αναζήτησης βρίσκοντας για παράδειγµα νέες συσκευές µε αλληλοκαλυπτόµενες δεξιότητες. Η επιλογή µιας συσκευής µε βάση το ερώτηµα «µπορεί να εκτελέσει τη διεργασία Χ;» αντί για το «ποιος είναι ο

30 κατασκευαστής και τι µοντέλο είναι;», δίνει τη δυνατότητα στα εγκατεστηµένα συστήµατα να ενσωµατώσουν νέες συσκευές. Για να γίνει αυτό, οι σχέσεις µεταξύ των δεξιοτήτων θα πρέπει να περιγράφονται από την οντολογία OWL-S. Επιπλέον, ενισχυµένες σηµασιολογικές περιγραφές µπορούν να διευκολύνουν την επιλογή µεταξύ υποψήφιων λύσεων συγκρίνοντας παραµέτρους όπως ποιότητα υπηρεσίας και αξιοπιστία. Η αυτόµατη κλήση υπηρεσίας επιτυγχάνεται µε την ερµηνεία (µετάφραση) της σηµασιολογίας για τις υπηρεσίες που έχουν βρεθεί. Αν είναι απαραίτητο, οι πράκτορες λογισµικού µπορούν να επιλέξουν την κατάλληλη χορογραφία (choreography) σύνθεσης υπηρεσιών. Επιπλέον, µε την κατανόηση της απαιτούµενης σειράς βηµάτων για την εκτέλεση µιας διεργασίας οι πράκτορες µπορούν να παρακολουθούν την κατάσταση της διεργασίας και την πρόοδο της εκτέλεσης σε πραγµατικό χρόνο. Η αυτόµατη σύνθεση επιτυγχάνεται µε το σηµασιολογικό ταίριασµα των ατοµικών λειτουργιών σε µία σύνθετη ροή διεργασίας σύµφωνα µε τις ικανότητες που περιγράφονται στις οντολογίες των ευρισκόµενων υπηρεσιών. Έτσι, οι πράκτορες συνθέτοντας µεµονωµένες διεργασίες µπορούν να εκτελέσουν πιο σύνθετες. Στον τοµέα αυτόν, η σηµασιολογία του ιστού δίνει τη δυνατότητα της διασταύρωσης διαφόρων κατανεµηµένων οντολογιών για να ταιριάξει συνθήκες και να συνθέσει υπηρεσίες. Η σύνθεση των υπηρεσιών ενισχύει τη δυνατότητα αυτόµατης ανεύρεσης δίνοντας τη δυνατότητα αναζήτησης ένα προς πολλά για το ταίριασµα των απαιτήσεων διεργασιών, όταν η αναζήτηση ταιριάσµατος ένα προς ένα αποτυγχάνει να βρει επαρκείς λύσεις. Η χρήση της σηµασιολογίας ιστού στην περιγραφή των υπηρεσιών ενεργοποιεί την δυνατότητα σύνθεσης της γνώσης µιας υπηρεσίας (service) µε πρόσθετη γνώση που µπορεί να είναι αποθηκευµένη οπουδήποτε στον ιστό. Με τον τρόπο αυτό, οι πράκτορες λογισµικού µπορούν να συνθέσουν τη γνώση που ήδη κατέχουν στις βάσεις δεδοµένων τους (knowledge bases) µε πρόσθετη γνώση που είτε υπάρχει στον ιστό, είτε είναι κατανεµηµένη στον εξοπλισµό είτε πρόκειται για τη δυναµική, σε διαρκή αλλαγή γνώση του περιβάλλοντος. Με τη χρήση της OWL-DL ταξινόµησης των εννοιών (κλάσεων) και των αντικειµένων µπορούν να εξάγονται συµπεράσµατα για το σηµασιολογικό ταίριασµά τους ηµιουργία ευφυούς βιοµηχανικού περιβάλλοντος µε τη βοήθεια των SWS Οι τεχνολογίες που αναφέρθηκαν µπορούν να εφαρµοστούν στο βιοµηχανικό περιβάλλον ακολουθώντας µία πολυεπίπεδη δοµή. Η αρχιτεκτονική SOA και οι υπηρεσίες ιστού παρέχουν τη βασική σύνδεση και διεύθυνση των υπηρεσιών και είναι η βάση για την επικοινωνία των µηχανών. Οι υπηρεσίες που ενσωµατώνουν τις δυνατότητες του βιοµηχανικού εξοπλισµού περιγράφονται σηµασιολογικά µε την τεχνολογία SWS. Πρόσθετα, η σηµασιολογία του ιστού µπορεί να χρησιµοποιηθεί για την αναπαράσταση ορολογιών, εννοιών, ορισµό προϊόντων, αναπαράσταση διεργασιών, περιβαλλοντικών συνθηκών και εντολών εργασίας και να υποστηρίξει τις λογικές δραστηριότητες. Με τη χρήση της σηµασιολογίας του ιστού, το εργοστασιακό περιβάλλον γίνεται γνωστικό περιβάλλον. Οι εξελίξεις στους ενσωµατωµένους επεξεργαστές τις τελευταίες δεκαετίες οδηγούν µία σηµαντική επανάσταση. Η υπολογιστική ισχύς των συσκευών στο επίπεδο της εγκατάστασης ολοένα και αυξάνει οδηγώντας σε συσκευές µε πρόσθετες λειτουργίες επεξεργασίας πληροφοριών. Οι συσκευές αυτές περιγράφονται στη βιβλιογραφία µε το γενικό όρο «infomechatronics». Οι συσκευές αυτές και οι µηχανές µπορούν πλέον να προσφέρουν διεργασίες παραγωγής ως υπηρεσίες ιστού [25]. Οι υπηρεσίες µπορούν στη συνέχεια να περιγραφούν µε τη βοήθεια της οντολογίας OWL-S και να δηµοσιευτούν µέσα στο γνωστικό περιβάλλον του εργοστασίου. Η οντολογία µιας υπηρεσίας κατά

31 κανόνα περιλαµβάνει σηµασιολογικές σχέσεις µε άλλες οντολογίες του πεδίου, µε δηλώσεις όπως «isa» (είναι του τύπου) ή «hasskill» (µπορεί να εκτελέσει τη διαδικασία). Οι σχέσεις αυτές διευκολύνουν την ταξινόµηση και µπορούν να συνθέσουν διάσπαρτες οντολογίες µέσω των αναγνωριστικών URI (Unique Resource Identifiers). Η δυνατότητα αξιοποίησης κατανεµηµένων πηγών γνώσης ενισχύει τη δυνατότητα λογικής ενσωµατώνοντας δυναµικά τη γνώση όταν χρειάζεται. Τα χαρακτηριστικά που περιγράφονται από την οντολογία µιας υπηρεσίας είναι ο τύπος της υπηρεσίας και οι διεργασίες (λειτουργίες) που προσφέρονται, οι παράµετροι, τυχόν περιορισµοί, οι αρχικές και οι τελικές συνθήκες που απαιτούνται σε ένα πλαίσιο ενορχήστρωσης και τα υποστηριζόµενα µοτίβα αλληλεπίδρασης σε ένα πλαίσιο χορογραφίας. Επίσης στην οντολογία περιγράφεται το πρωτόκολλο που χρησιµοποιείται για την επίκληση της υπηρεσίας. Ουσιαστικά πρόκειται για την προδιαγραφή της διεπαφής (interface) της υπηρεσίας ιστού. Άλλες προδιαγραφές διεπαφών όπως είναι οι UPnP (Universal Plug and Play) [31], Open Service Gateway (OSGi) [34] ή και οι FIPA Interaction Protocols [35] µπορούν επίσης να αναφέρονται ως «service grounding». Ένα γενικό σενάριο εφαρµογής των SWS σε συσκευές και µηχανές των βιοµηχανικών εγκαταστάσεων παρουσιάζεται στο σχήµα 8 [1]. Σχήµα 8: Ενδεικτικό σενάριο για τη χρήση υπηρεσιών σηµασιολογικού ιστού στο επίπεδο των συσκευών και των µηχανών. Μία βασική παρατήρηση που µπορεί να διατυπωθεί για τη χρήση των SWS σε επίπεδο συσκευών ή µηχανών είναι ότι οι συσκευές και οι µηχανές δε χρειάζεται απαραίτητα να εκτελούν κάποια συλλογιστική ή έξυπνη συµπεριφορά. Απλώς πρέπει να προβάλουν την οντολογία που τις περιγράφει, η οποία χρησιµοποιείται από άλλες οντότητες όπως τα βιοµηχανικά συστήµατα εκτέλεσης (MES) ή τους βιοµηχανικούς πράκτορες λογισµικού που πρέπει να µάθουν πως µπορούν να τις χρησιµοποιήσουν. Μόνο αν οι συσκευές σχεδιαστούν ως ενεργητικά στοιχεία και πρέπει να συνεργαστούν µε άλλες οµόλογες συσκευές είναι απαραίτητη η ανάπτυξη συλλογιστικής σε αυτές Προφίλ συσκευών για υπηρεσίες ιστού (Devices Profile for Web Services) Έχουν γίνει κατά καιρούς πολλές προσπάθειες για τη βελτίωση της δυνατότητας σύνδεσης του επιπέδου των συσκευών µε εφαρµογές υψηλοτέρου επιπέδου

32 Αναπτύχθηκαν τεχνολογίες όπως το Jini [30], το UPnP (Universal Plug and Play) [31] και το DPWS (Devices Profile for Web Services) [32]. Το DPWS είναι µία τεχνολογία, ένα σύνολο εργαλείων που ενεργοποιεί τις υπηρεσίες ιστού σε επίπεδο συσκευών. Υποστηρίζει τόσο τις τεχνολογίες διαδικτύου όπως IP, TCP, UDP, HTTP, SOAP και XML όσο και ένα σύνολο από ενσωµατωµένες λειτουργίες των υπηρεσιών ιστού όπως ανεύρεση, δηµοσίευση/εγγραφή και ανταλλαγή µεταδεδοµένων (metadata exchange). Τα πρότυπα στο σύνολο εργαλείων DPWS για την υποστήριξη των βασικών αυτών λειτουργιών είναι τα WSDL, XML Schema, SOAP, WS-Addressing, WS-Policy, WS- MetadataExchange, WS-Security, WS-Discovery και WS-Eventing

33 4. Χαρακτηριστικά παραδείγµατα από την ερευνητική περιοχή εφαρµογής τεχνολογιών και υπηρεσιών σηµασιολογικού ιστού στο επίπεδο βιοµηχανικής παραγωγής 4.1 Εφαρµογή των οντολογιών σε πολυπρακτορικά συστήµατα Εφαρµογή οντολογίας σε πολυπρακτορικό σύστηµα µεταφοράς παλετών Στην εργασία [20] προτείνεται και αναπτύσσεται η εφαρµογή συστήµατος πολυπρακτορικής αρχιτεκτονικής το οποίο επιτρέπει τη συνεργασία µεταξύ µιας οµάδας αυτόνοµων και ετερογενών µονάδων πρακτόρων µε τη βοήθεια οντολογιών. Το σύστηµα αναπτύχθηκε πάνω στην εγκατάσταση πειραµατικών δοκιµών του ινστιτούτου αυτοµατισµού και ελέγχου του πανεπιστηµίου τεχνολογίας της Βιέννης. Πιο συγκεκριµένα, χρησιµοποιήθηκε το κοµµάτι της εγκατάστασης µεταφοράς παλετών, αποτελούµενο από µεταφορικές ταινίες, σταθµούς, µονάδες αναγνώρισης, µονάδες διασύνδεσης και µονάδες εκτροπής. Το προτεινόµενο πολυπρακτορικό σύστηµα αποτελείται από πράκτορες: Επικοινωνίας (contact agent) Παραγγελιών (order agents) Εφοδιασµού (supply agents) Μηχανηµάτων (machine agents) Για να µπορούν οι πράκτορες να µοιράζονται τις πληροφορίες που αφορούν την κυκλοφορία των παλετών στην εγκατάσταση θα πρέπει να χρησιµοποιούν µία κοινή αναπαράσταση του περιβάλλοντος στο οποίο λειτουργούν ή τουλάχιστον για το κοµµάτι για το οποίο ανταλλάσσουν πληροφορίες µεταξύ τους. Για την αναπαράσταση όλων των σηµαντικών γνώσεων του χώρου λειτουργίας των πρακτόρων αναπτύχθηκε και χρησιµοποιείται µία οντολογία. Για την ανάπτυξη της οντολογίας χρησιµοποιήθηκε η ολοκληρωµένη εφαρµογή ανάπτυξης οντολογιών Protégé Μέρος της οντολογίας, συγκεκριµένα οι έννοιες που περιγράφουν τη µεταφορική ταινία παρουσιάζονται στην εικόνα 9. Η οντολογία περιγράφεται σε γλώσσα OWL (Web Ontology Language)

34 Εικόνα 9: Οντολογία µεταφορικής ταινίας. Η λειτουργία της εγκατάστασης µεταφοράς και ο ρόλος των εφαρµογών λογισµικού που συµµετέχουν σε αυτήν παρουσιάζεται συνοπτικά στο σχήµα 10. Το µέρος της εγκατάστασης µεταφοράς που παρουσιάζεται στο σχήµα αποτελείται από την παλέτα (I1), τους εκτροπείς (D1-D4), τον κόµβο J1, το σταθµό Ι1 και τις µεταφορικές ταινίες διασύνδεσης. Ως βέλτιστη διαδροµή µεταφοράς παλέτας έχει υπολογιστεί η D4-J1-Ι1. Σε περίπτωση βλάβης στη διαδροµή αυτή, όπως για παράδειγµα η βλάβη στη µεταφορική ταινία διασύνδεσης µεταξύ J1 και Ι1 που παριστάνεται στο σχήµα, το σύστηµα πρέπει να µπορεί να αναδιαµορφωθεί χωρίς να τεθεί εκτός λειτουργίας. Στην περίπτωση αυτή, ο κόµβος J1 αναλαµβάνει να ανιχνεύσει τη βλάβη, να ενηµερώσει την οντολογία του συστήµατος, να υπολογίσει τη βέλτιστη διαδροµή µε τα νέα δεδοµένα και να ενηµερώσει όλους τους υπόλοιπους πράκτορες µε την αποστολή ενός µηνύµατος. Οι υπόλοιποι πράκτορες, λαµβάνοντας το µήνυµα ενηµερώνουν τις οντολογίες τους και λειτουργούν το ταχύτερο δυνατό σύµφωνα µε τα νέα δεδοµένα. Έτσι, ο εκτροπέας D4 µπορεί να εφαρµόσει τη νέα βέλτιστη διαδροµή D4-D1-D2-D3-Ι1 αποφεύγοντας την προβληµατική διαδροµή µέχρι την αποκατάσταση της µεταφορικής ταινίας. Για να ανταπεξέρχεται σε τέτοιες περιπτώσεις, ο κάθε πράκτορας µπορεί να αναγνωρίζει το περιβάλλον του (αναπαρίσταται στην οντολογία του συστήµατος), να αντιδρά στις αλλαγές των εισόδων και να ενηµερώνει τους υπόλοιπους πράκτορες στέλνοντας µηνύµατα. Η αναπαράσταση του συστήµατος µε κάθε µέρος του να είναι αποθηκευµένο ως ατοµική οντότητα είναι η βάση συµβάντων της µηχανής JESS. Η µηχανή JESS χαρτογραφεί όλα τα περιστατικά της οντολογίας του συστήµατος µε τη βοήθεια του πράκτορά της και τα διαχειρίζεται ως συµβάντα

35 Σχήµα 10: Απλοποιηµένο σχήµα του συστήµατος µεταφοράς. Με βάση τα συµβάντα αυτά και µε την εφαρµογή των κανόνων απόφασης, οι πράκτορες λαµβάνουν αποφάσεις και πραγµατοποιούν δράσεις. Στα πλαίσια αυτά, ο κάθε πράκτορας ακολουθεί κανόνες για το χειρισµό µηνυµάτων και την τροποποίηση των οντολογιών. Για την κωδικοποίηση της λογικής των πρακτόρων για την επίτευξη των στόχων και για την εξέλιξη του συστήµατος χρησιµοποιείται η γλώσσα JESS. Για την επικοινωνία µεταξύ των στοιχείων του συστήµατος χρησιµοποιείται η υπηρεσία µεταβίβασης µηνυµάτων του πλαισίου JADE (JADE Framework) Εφαρµογή οντολογίας σε πράκτορα αναδιάταξης µηχανών Στην εργασία [21] προτείνεται ένας πράκτορας αναδιάταξης, ο οποίος χρησιµοποιεί τη γνώση της οντολογίας της βιοµηχανικής εγκατάστασης µε σκοπό την αναδιάταξή της χωρίς ανθρώπινη παρέµβαση. Το σύστηµα παρουσιάζεται µε τη βοήθεια µιας απλής διάταξης που συναντάται σε διάφορες βιοµηχανικές εγκαταστάσεις. Η διάταξη παρουσιάζεται στο σχήµα 11. Αποτελείται από δύο µηχανές, τη µηχανή Ι (µηχανή επεξεργασίας) και τη µηχανή ΙΙ (µηχανή διακίνησης). Κάθε µηχανή αποτελείται από ορισµένες ηλεκτροµηχανικές συσκευές για την εκτέλεση των λειτουργιών. Η µηχανή Ι αποτελείται από περιστρεφόµενο τραπέζι, έµβολο, διατρητικό και ωθητή εκτελώντας κατά σειρά περιστροφή, έλεγχο οπών, διάτρηση και ώθηση. Η µηχανή ΙΙ αποτελείται από έναν υποδοχέα και µία µηχανή συλλογής. Στον υποδοχέα εφαρµόζεται έλεγχος παρουσίας ενώ η µηχανή συλλογής εκτελεί συλλογή και ταξινόµηση

36 τρυπάνι έµβολο ωθητής τραπέζι συλλέκτης υποδοχέας Σχήµα 11: Οι µηχανές Ι και ΙΙ που αποτελούν την εγκατάσταση. Οι έννοιες της βιοµηχανικής εγκατάστασης µπορούν να περιγραφούν µε τη χρήση της γλώσσας οντολογιών OWL. Για την δηµιουργία του µοντέλου γνώσης του προαναφερόµενου συστήµατος χρησιµοποιήθηκε η ολοκληρωµένη εφαρµογή ανάπτυξης οντολογιών Protégé. Με τη βοήθειά του αναπτύχθηκαν οι τυπικές προδιαγραφές περιβάλλοντος του συστήµατος (Tbox) και τα στιγµιότυπα ή αντικείµενα (instances) που συµµορφώνονται µε τις προδιαγραφές αυτές (Abox). Το σχήµα 12 παρουσιάζει τις βασικές έννοιες της οντολογίας του συστήµατος. Σκοπός του πράκτορα αναδιάταξης είναι να δηµιουργήσει µία εναλλακτική ή νέα διάταξη, αν αυτό είναι δυνατόν, ώστε να προσαρµοστεί στις αλλαγές των απαιτήσεων ή του περιβάλλοντος. Αναλύει τις πληροφορίες που εξάγονται από τις προδιαγραφές και τις απαιτήσεις. Επιπλέον, χρησιµοποιεί την οντολογική γνώση του περιβάλλοντος παραγωγής ώστε να συµπεράνει γεγονότα σχετικά µε το περιβάλλον. Αποτελείται από τέσσερα βασικά µέρη, τον αναλυτή απαιτήσεων, τον αναλυτή εγκατάστασης, τον κατασκευαστή µοντέλων γνώσεων και τη µηχανή απόφασης. Ο αναλυτής απαιτήσεων εξάγει µία διατεταγµένη λίστα των αιτούµενων βιοµηχανικών λειτουργιών από τα έντυπα απαιτήσεων (XML documents). Την ίδια στιγµή, ο αναλυτής εγκατάστασης δηµιουργεί ένα γράφηµα όλων των διαθέσιµων µηχανών και των ιδιοτήτων τους. Ο κατασκευαστής µοντέλου γνώσης δηµιουργεί µία οντολογία του περιβάλλοντος µε τη χρήση εντύπων οντολογιών των µηχανών. Τέλος η µηχανή απόφασης είναι ο εγκέφαλος του πράκτορα. Αναλύει το οντολογικό µοντέλο που δηµιουργήθηκε και µπορεί να παράγει εφικτές συνθέσεις µηχανών

37 Σχήµα 12: Η οντολογία του συστήµατος. Ο πράκτορας αναδιάταξης εφαρµόζεται µε χρήση του πλαισίου προγραµµατισµού Jena το οποίο προσφέρει και περιβάλλον ανάπτυξης οντολογιών OWL. Ως µηχανή λογικής χρησιµοποιείται η Pellet, η οποία συνεργάζεται µε το πλαίσιο Jena. Χρησιµοποιείται τόσο από τη µηχανή απόφασης για να συνάγει γεγονότα για το οντολογικό µοντέλο του περιβάλλοντος όσο και από τον κατασκευαστή µοντέλων για τον έλεγχο της συνέπειας των εγγράφων OWL. Τόσο οι απαιτήσεις όσο και οι προδιαγραφές τις εγκατάστασης δίνονται µε έγγραφα XML. Για την ανάγνωση των απαιτήσεων και των προδιαγραφών της εγκατάστασης από τον αναλυτή απαιτήσεων και τον αναλυτή εγκατάστασης αντίστοιχα, χρησιµοποιείται το API JDOM. Με τη βοήθεια του σχήµατος 13, παρουσιάζεται συνοπτικά και µε παραστατικό τρόπο η συνεργασία των βασικών µερών του πράκτορα. Ο κατασκευαστής του γνωσιακού µοντέλου προχωρά στην κατασκευή µε χρήση του Jena, διαβάζοντας τα OWL έγγραφα των µηχανών. Τα URL των εγγράφων OWL εξάγονται από τον αναλυτή εγκατάστασης µέσα από τα αντικείµενα των µηχανών. Η µηχανή αποφάσεων ελέγχει αν το σύστηµα µπορεί να ικανοποιήσει τις απαιτούµενες λειτουργίες µε τη βοήθεια του Pellet. Αν αυτό µπορεί να γίνει, επιστρέφει την εφικτή διάταξη, διαφορετικά προσδιορίζει τις λειτουργίες που δεν µπορούν να εκτελεστούν

38 Σχήµα 13: Συνοπτική απεικόνιση της δοµής του πράκτορα και της συνεργασίας των βασικών µερών Εφαρµογή οντολογίας σε πολυπρακτορικό σύστηµα ελέγχου εξοπλισµού µεταφοράς και συναρµολόγησης Στην εργασία [22] περιγράφεται µία πολυπρακτορική εφαρµογή για τον έλεγχο του βιοµηχανικού συστήµατος Novaflex στο κέντρο Intelligent Robotic Center της UNINOVA. Το σύστηµα αυτό αποτελείται από δύο ροµπότ συναρµολόγησης, µία αυτόµατη αποθήκη και ένα σύστηµα µεταφοράς που συνδέει τα υπόλοιπα (σχήµα 14). Σχήµα 14: Απεικόνιση του συστήµατος Novaflex

39 Στην συγκεκριµένη αρχιτεκτονική, το κάθε εξάρτηµα του συστήµατος αντιπροσωπεύεται από έναν πράκτορα. Με τον τρόπο αυτό το κάθε εξάρτηµα του εξοπλισµού αποκτά περισσότερη αυτονοµία, νοηµοσύνη και διαλειτουργικότητα. Οι πράκτορες που αντιπροσωπεύουν τα αυτόνοµα µέρη µπορούν να συνεργαστούν ώστε να συντονίσουν υψηλοτέρου επιπέδου διεργασίες. Για τον ορισµό του πεδίου λειτουργίας και των σχέσεων µεταξύ των οντοτήτων του χρησιµοποιούνται οντολογίες. Οι πράκτορες που αντιπροσωπεύουν τα εξαρτήµατα του συστήµατος ονοµάζονται MRA (Manufacturing Resource Agents) και είναι οι οντότητες που ελέγχουν τα στιγµιότυπα (instances) του εξοπλισµού. Κάθε MRA είναι αρκετά γενικός ώστε να προσαρµόζεται σε κάθε στιγµιότυπο (αντικείµενο) συγκεκριµένου τύπου εξοπλισµού υποβάλλοντας ερώτηµα στην οντολογία για τις παραµέτρους διαµόρφωσής του. Για να παραµένουν ανεξάρτητοι από τις λεπτοµέρειες εφαρµογών των επί µέρους ελεγκτών, οι MRA συνεργάζονται µε µία διεπαφή πράκτορα µηχανής (Agent-Machine Interface AMI). Η διεπαφή αυτή είναι ένα λογισµικό που µπορεί και µεταφράζει γενικά αιτήµατα σε γλώσσα ACL (Agent Communication Language) τα οποία ανταλλάσει µε το MRA σε αντίστοιχο εξοπλισµό µε στόχο την εκτέλεση κάποιας λειτουργίας από τον εξοπλισµό. Η διεπαφή είναι επίσης υπεύθυνη για τον έλεγχο σε χαµηλό επίπεδο αναφέροντας στον MRA τυχόν σφάλµα που ανιχνεύθηκε κατά το χρόνο της εκτέλεσης. Η διεπαφή AMI δεν είναι απαραίτητη σε περίπτωση εξοπλισµού που µπορεί µε το λογισµικό του να υποστηρίξει πράκτορες. Στην περίπτωση αυτή, ο MRA περιλαµβάνεται στο λογισµικό του εξοπλισµού και διαθέτει άµεση πρόσβαση στις θύρες εισόδου εξόδου. Αυτή είναι µία σηµαντική βελτίωση όταν πρόκειται για περιβάλλον παραγωγής αποτελούµενο από κατανεµηµένες έξυπνες συσκευές. Ο MRA κοινοποιεί τις δεξιότητες του σε µία κοινόχρηστη βάση δεδοµένων (Directory Facilitator (DF) στην αρχιτεκτονική FIPA) και διαφορετικές οντότητες µπορούν να αιτηθούν τις διαθέσιµες δεξιότητες. Επίσης µπορεί να γίνει σύνθεση απλών δεξιοτήτων ώστε να προκύψουν σύνθετες. Η οντολογία που περιγράφει τον τοµέα του εξοπλισµού ορίζει επίσης τις παραµέτρους αλληλεπίδρασης και το λεξικό που χρησιµοποιείται για την αλληλεπίδραση των πρακτόρων. Όλοι οι πράκτορες γνωρίζουν το µέρος αυτό της οντολογίας για να δηµιουργούν και να κατανοούν το περιεχόµενο των µηνυµάτων ACL. Για την κατασκευή του επιθυµητού προϊόντος οι πράκτορες πρέπει να κληθούν µε µία συγκεκριµένη σειρά. Στη συγκεκριµένη εφαρµογή, σε κάθε παλέτα που µεταφέρει είτε πρώτες ύλες, είτε τελικό προϊόν δίνεται η δυνατότητα απόφασης. Έτσι, κάθε παλέτα αποχωρίζεται από έναν πράκτορα παλετών ο οποίος γνωρίζει πώς να εκτελέσει τη δική του ακολουθία διεργασίας. Η ακολουθία µπορεί να οριστεί από το χρήστη από το GUI του κάθε πράκτορα, η να φορτωθεί από αρχείο. Η προσέγγιση αυτή επιτρέπει την παραγωγή διαφορετικών προϊόντων στην ίδια εγκατάσταση, στον ίδιο χρόνο. Ακόµη και αν απαιτείται αλλαγή στο πλάνο παραγωγής, γίνεται µόνο ενηµέρωση του αρχείου που φορτώνεται σε κάθε πράκτορα παλετών. εν απαιτείται αλλαγή στο πρόγραµµα ή στη διάταξη του εξοπλισµού. Για την περιγραφή της εγκατάστασης αναπτύχθηκε µία γενική οντολογία η οποία χρησιµοποιείται ως πηγή γνώσης για το πολυπρακτορικό σύστηµα (Σχήµα 15). Προσθέτοντας στην οντολογία αυτή ορισµένα στιγµιότυπα (instances) που αντιστοιχούν στον εξοπλισµό που αποτελεί το σύστηµα Novaflex, είναι δυνατόν να έχουµε µία σφαιρική εικόνα για τις ενότητες του συστήµατος, τα χαρακτηριστικά και τις σχέσεις µεταξύ τους. Για την ανάπτυξη της οντολογίας χρησιµοποιήθηκε το εργαλείο προγραµµατισµού Protégé µε τα πρόσθετα OntoViz και OntologyBeanGenerator

40 Σχήµα 15: Απεικόνιση µέρους της οντολογίας της εγκατάστασης. Για την ανάπτυξη της εφαρµογής επιλέχθηκε το πλαίσιο ανάπτυξης λογισµικού Jade. 4.2 Εφαρµογές υπηρεσιών ιστού (WS) και σηµασιολογικού ιστού (SWS) στο βιοµηχανικό αυτοµατισµό Εφαρµογή ευέλικτου και συνεργατικού αυτοµατισµού µε τη χρήση υπηρεσιών ιστού (WS) Περιγραφή της αρχιτεκτονικής του συστήµατος Στην εργασία [23] διερευνάται η εφαρµογή της αρχιτεκτονικής SOA σε αυτοµατισµούς βιοµηχανικών διατάξεων µε τη χρήση των εργαλείων DPWS. Εισάγεται η ιδέα ενός πλαισίου ενορχήστρωσης για τον αποτελεσµατικό έλεγχο υπηρεσιών SOA σε συσκευές χαµηλού επιπέδου και τη βοήθεια της ενσωµάτωσης µε τις εφαρµογές των υψηλότερων επιπέδων της επιχείρησης. Η προσέγγιση παρουσιάζεται µε τη χρήση ενός τέτοιου πλαισίου σε µία πειραµατική διάταξη παραγωγής. Το πλαίσιο ενορχήστρωσης χρειάζεται για να παρέχει τον έλεγχο και τη διαχείριση των διαθέσιµων υπηρεσιών και την ενσωµάτωση µε άλλες εφαρµογές όπως επιχειρησιακά συστήµατα (Business Execution Systems). Η χρήση ενός τέτοιου πλαισίου βοηθά ώστε οποιαδήποτε αλλαγή στον εξοπλισµό να ελέγχεται κεντρικά. εν υπάρχει άµεση επικοινωνία µεταξύ των επί µέρους συσκευών. Αυτό βοηθά στη διαδικασία εγκατάστασης αλλά και αντικατάστασης των συσκευών. Εντούτοις, η διαδικασία επικοινωνίας µέσω του πλαισίου ενορχήστρωσης είναι πιο χρονοβόρα σε σχέση µε την άµεση επικοινωνία από συσκευή σε συσκευή

41 Σχήµα 16: Η αρχιτεκτονική του πλαισίου ενορχήστρωσης. Το πλαίσιο υποστηρίζεται από τα εργαλεία Core Component Editor (CCE) και Process Definition Environment (PDE) που αναπτύχθηκαν στο πανεπιστήµιο του Loughborough. Τα εργαλεία αυτά σκοπό έχουν να υποστηρίξουν τις ανάγκες εφαρµογών στο χώρο του βιοµηχανικού αυτοµατισµού. Συνοπτικά, το εργαλείο CCE παρέχει υποστήριξη για την προδιαγραφή, διαµόρφωση και συντήρηση της εφαρµογής. Το εργαλείο PDE προσφέρει µία µέθοδο για τη δηµιουργία και τη διαµόρφωση λειτουργικών στοιχείων σε κατανεµηµένα συστήµατα. Με τα εργαλεία αυτά δίνεται η δυνατότητα σχεδιασµού, ορισµού και δηµιουργίας αλληλεπιδράσεων µεταξύ των µερών του συστήµατος σε µορφή XML. Το πλαίσιο ενορχήστρωσης εφαρµόζει τέτοιες αλληλεπιδράσεις για τον έλεγχο της εγκατάστασης. Στο σχήµα 16 παρουσιάζεται η διάταξη του, αποτελούµενη από τρεις λειτουργικές οµάδες: Α. ιαχειριστής συσκευών (Device Manager) Ο διαχειριστής συσκευών χρησιµοποιείται για την ανακάλυψη συσκευών στο δίκτυο και την εγκατάσταση συνδέσεων µε τις συσκευές αυτές. Με την εγκατάσταση της σύνδεσης, ο διαχειριστής συσκευών είναι υπεύθυνος για τον έλεγχό τους µε τρεις λειτουργίες: Την παρακολούθηση (Device Monitor) µε τη βοήθεια της οποίας σε τακτικά χρονικά διαστήµατα ελέγχονται οι συνδεδεµένες συσκευές και η κατάστασή τους. Επίσης επανεγκαθίσταται µία σύνδεση που έχει για κάποιο λόγο διακοπεί

42 Τη διαχείριση εντολών (Device Commander). Όταν απαιτείται η εκτέλεση µίας ενέργειας από κάποια συσκευή, ο διαχειριστής εντολών στέλνει µήνυµα ελέγχου για την επίκληση της ενέργειας. Την παρακολούθηση µηνυµάτων των συσκευών (Device Listener). Με τη συνδροµή του µηχανισµού «publish-subscribe» που εφαρµόζεται στο DPWS είναι δυνατή η ακρόαση οποιουδήποτε µηνύµατος από τις συσκευές. Β. ιαχειριστής λογικής (Logic Manager) Ο διαχειριστής λογικής περιοδικά επαληθεύει τη λογική ροής εκτέλεσης. Υπάρχουν τρεις λειτουργίες στο διαχειριστή λογικής: Η παρακολούθηση εκτέλεσης (Logic Engine). Είναι η βασική λειτουργία στην εφαρµογή ενορχήστρωσης και ελέγχει περιοδικά κάθε συνθήκη στις συσκευές σύµφωνα µε τον προκαθορισµένο χρόνο ελέγχου. Η ανάλυση της λογικής (Logic analyser). Η λογική ροής (Workflow Logic) όπως εξάγεται από τα εργαλεία CCE και PDE είναι σε µορφή XML και περιλαµβάνει και άλλες πληροφορίες. Κατά την εφαρµογή της ανάλυσης εξάγονται µόνο οι απαραίτητες λογικές πληροφορίες που χρειάζονται στον ενορχηστρωτή. Η σύζευξη συνθηκών και συσκευών (Device Mapper) καθορίζει τη σύζευξη µεταξύ των λογικών συνθηκών και των µηνυµάτων εντολών προς τις συσκευές. Έτσι, η λειτουργία της παρακολούθησης εκτέλεσης (Logic Engine) γνωρίζει κάθε φορά ποια εντολή πρέπει να σταλεί σε κάθε συσκευή κάτω από κάποια συνθήκη. Γ. ιαχειριστής Εφαρµογών (Application Manager) Ο διαχειριστής εφαρµογών επιτρέπει την ενσωµάτωση µε εφαρµογές της επιχείρησης όπως τα ERP και εφαρµογές όπως οι διεπαφές ανθρώπου µηχανής (HMI). Όταν κάποια από τις λειτουργίες όπως η διαχείριση συσκευών ή η παρακολούθηση µηνυµάτων αναγνωρίσει αλλαγή κατάστασης στην εγκατάσταση, η λειτουργία µετάδοσης πληροφορίας (Information Broadcaster) ενηµερώνει για την αλλαγή τις εφαρµογές της επιχείρησης. Οι αλλαγές φιλτράρονται από το φίλτρο επιλογής (Information Filter) ώστε να µεταδίδονται µόνο αυτές που θεωρούνται απαραίτητες στις εφαρµογές. Το ιστορικό αλλαγών κατάστασης στην εγκατάσταση τηρείται από τη λειτουργία ιχνηλάτησης (Information Tracer). Η δυνατότητα αυτή χρησιµοποιείται για εύρεση και ανάλυση προβληµάτων στις συσκευές όταν συµβούν σφάλµατα. Στα εργαλεία του συστήµατος περιλαµβάνεται µία εφαρµογή HMI, η οποία δίνει τη δυνατότητα για ξεκίνηµα και σταµάτηµα των µηχανών και αλλαγές λειτουργίας. Υποστηρίζεται από τη λειτουργία χειρισµού HMI (HMI Handler). Κάθε εντολή που στέλνεται από την εφαρµογή HMI διαβιβάζεται αµέσως προς την εγκατάσταση µέσω της λειτουργίας HMI Handler Εφαρµογή των WS στο σύστηµα Α. Πειραµατική διάταξη µε χρήση έξυπνων τερµατικών συσκευών Για την υποστήριξη των υπηρεσιών ιστού στην εγκατάσταση χρησιµοποιείται η ενσωµατωµένη έξυπνη συσκευή FTB (Field Terminal Block) βασισµένη στον επεξεργαστή ARM9 η οποία έχει αναπτυχθεί από την Schneider Electric. Η συσκευή ενσωµατώνει δυνατότητες βιοµηχανικής I/O και σύνδεση Ethernet. Περιλαµβάνει επίσης λειτουργικό σύστηµα πραγµατικού χρόνου (RTOS) και λογισµικό χειρισµού

43 πρωτοκόλλων TCP/IP ώστε να µπορεί να χειριστεί εργασίες DPWS για εφαρµογές υπηρεσιών ιστού. Για τον έλεγχο των λειτουργιών της πειραµατικής διάταξης µέσω υπηρεσιών ιστού έχουν εγκατασταθεί στη διάταξη τέσσερεις τέτοιες έξυπνες συσκευές. Η πειραµατική διάταξη παρουσιάζεται στο σχήµα 17 και αποτελεί αντίγραφο µιας µηχανής συναρµολόγησης πραγµατικής βιοµηχανικής εγκατάστασης. Κατά την εκτέλεση του πειράµατος, το υπό επεξεργασία κοµµάτι µετακινείται από το ένα άκρο της µηχανής στο άλλο εφαρµόζοντας λειτουργίες όπως σήκωµα, µετακίνηση, διάτρηση και αποθήκευση. Σχήµα 17: Η πειραµατική διάταξη µε τις έξυπνες τερµατικές συσκευές FTB. B. Εξάρτηµα µηχανής (machine component) και καθορισµός υπηρεσιών Το εξάρτηµα (component) της µηχανής ορίζεται ώστε να παριστάνει ένα µέρος της λειτουργίας της πειραµατικής διάταξης και διαιρείται περαιτέρω σε στοιχεία (elements) όπως οι επιµέρους αισθητήρες και οι ενεργοποιητές. Το κάθε στοιχείο του εξαρτήµατος εκτελεί τις δικές του λειτουργίες. Η κατάσταση εισόδου και εξόδου του κάθε στοιχείου περιγράφεται σε φόρµα λειτουργικής κατάστασης. Τα εξαρτήµατα της µηχανής αντιπροσωπεύονται από υπηρεσίες ιστού (web services). Κάθε υπηρεσία περιλαµβάνει έναν αριθµό εντολών λειτουργίας και τις κοινοποιήσεις της κατάστασης των στοιχείων (elements). Για παράδειγµα, το εξάρτηµα µεταφορέας έχει εντολές για ξεκίνηµα και σταµάτηµά του και κοινοποιήσεις για την κατάσταση των αισθητήρων του. Αρχεία σε γλώσσα WSDL (Web Services Description Language) ορίζουν όλες αυτές τις εντολές και τις κοινοποιήσεις. Με τη χρήση του εργαλείου DPWS τα αρχεία αυτά χρησιµοποιούνται για τη δηµιουργία της διασύνδεσης της εφαρµογής και των υπηρεσιών στις συσκευές FTB. Στη συγκεκριµένη ερευνητική εργασία η εφαρµογή ενορχήστρωσης επικοινωνεί µε τη διασύνδεση των υπηρεσιών (service interface). Οποτεδήποτε υπάρξει αλλαγή κατάστασης, η εφαρµογή ενορχήστρωσης θα ειδοποιηθεί από τις συσκευές FTB

44 4.2.2 Σύστηµα παρακολούθησης βιοµηχανικών εγκαταστάσεων πεπιεσµένου αέρα µε εφαρµογή υπηρεσιών ιστού (WS) Στην εργασία [24] περιγράφεται η ανάπτυξη ενός συστήµατος παρακολούθησης (monitoring) σε εγκαταστάσεις πεπιεσµένου αέρα, ικανό να διαπιστώνει λειτουργικές ανωµαλίες αυτόµατα και να ενηµερώνει το χρήστη γι αυτές. Οι δυσλειτουργίες αυτές είναι διαρροές, πτώση πιέσεως και αυξηµένη υγρασία στο σύστηµα. Στην υλοποίησή του, το σύστηµα αποτελείται από έναν ελεγκτή και από τέσσερεις αισθητήρες, δύο ροής, ενός πιέσεως και ενός σηµείου δρόσου, τοποθετηµένων σε ένα ερµάριο. Όλη η επεξεργασία των δεδοµένων που συγκεντρώνονται από τους αισθητήρες γίνεται στο επίπεδο του ελεγκτή. Αυτό, σε συνδυασµό µε την εφαρµογή της τεχνολογίας υπηρεσιών ιστού µπορεί να µειώσει τη χρήση εύρους ζώνης. Για την υλοποίηση της συγκεκριµένης εφαρµογής έχει επιλεγεί ο ελεγκτής S1000 της Inicotech ο οποίος προσφέρει διασύνδεση µε εφαρµογή περιήγησης ιστού (web browser) καθώς και δυνατότητες WS. Η πρόσβαση µέσω ιστού ενεργοποιεί την εφαρµογή της λογικής όπως και όλες τις απαραίτητες διαµορφώσεις ανεξάρτητα από πρόσθετο λογισµικό. Υπάρχουν δύο φάσεις προγραµµατισµού και διαµόρφωσης του ελεγκτή. Η πρώτη περιλαµβάνει τον προγραµµατισµό της λογικής του συστήµατος σε δοµή κατά IEC και είναι υπεύθυνη για την επεξεργασία των δεδοµένων των αισθητήρων. Η δεύτερη εστιάζει στη διαµόρφωση των υπηρεσιών ιστού (WS) ώστε ο ελεγκτής να επικοινωνεί µε εξωτερικές εφαρµογές, στην εφαρµογή αυτή µε µία διεπαφή HMI σε Java. Στη διαµόρφωση της συγκεκριµένης εφαρµογής απαιτείται ορισµός οκτώ συµβάντων και έξι σηµάτων εισόδου. Τα συµβάντα δηµιουργούνται ασύγχρονα σύµφωνα µε προκαθορισµένους κανόνες και αποστέλλονται στους ενδιαφερόµενους. Οι είσοδοι αφιερώνονται στη διεπαφή HMI για την επικοινωνία µε τον ελεγκτή. Τα µηνύµατα είναι σε µορφή XML και προσαρτώνται ως περιεχόµενο µηνυµάτων µε πρωτόκολλο SOAP. Στο επόµενο βήµα περιλαµβάνεται η δηµιουργία ενός αρχείου WSDL. Ως τελευταίο βήµα υλοποιούνται δύο ανεξάρτητες διεπαφές. Η πρώτη βασίζεται στον ελεγκτή και δίνει τη δυνατότητα προσπέλασης µε χρήση εφαρµογής περιήγησης ιστού. Η δεύτερη έχει αναπτυχθεί ως ανεξάρτητη εφαρµογή σε Java. Σε αυτήν υλοποιήθηκαν πρόσθετες λειτουργίες που δεν υπάρχουν στη διεπαφή του ελεγκτή. Βασίζεται στο ανοιχτού κώδικα Java API για την ανάπτυξη HMI. Εντούτοις, έχει διαφοροποιηθεί αρκετά ώστε να υλοποιηθεί η αρχιτεκτονική SOA και συγκεκριµένες λειτουργίες. Για να χρησιµοποιήσει τις υπηρεσίες του ελεγκτή, η εφαρµογή πρέπει να συµµορφώνεται µε την προδιαγραφή DPWS [33]. Για το λόγο αυτό έχει αναπτυχθεί πάνω στο πλαίσιο ανάπτυξης Java Multi Edition DPWS Stack (ver ) το οποίο εφαρµόζει την προδιαγραφή αυτή. Το πλαίσιο αυτό δίνει τη δυνατότητα δηµιουργίας της εφαρµογής πελάτη (client) που θα ανακαλύψει και θα χρησιµοποιήσει τις υπηρεσίες του ελεγκτή που είναι διαθέσιµες στο δίκτυο. Η ανακάλυψη των διαθέσιµων υπηρεσιών γίνεται στο ξεκίνηµα της εφαρµογής Μία προσέγγιση για τον έλεγχο συστηµάτων παραγωγής βασισµένη στις υπηρεσίες σηµασιολογικού ιστού Γενική περιγραφή του συστήµατος Στην εργασία [26] προτείνεται µία οπτική σύµφωνα µε την οποία ο παραγωγικός εξοπλισµός και οι καταστάσεις του µοντελοποιούνται µε οντολογίες και το σηµασιολογικό µοντέλο αναλύεται δυναµικά ώστε να προσδιοριστεί η επόµενη ενέργεια στην παραγωγική διαδικασία. Παρόµοια, οι διαθέσιµες υπηρεσίες ιστού του συστήµατος περιγράφονται µε σηµασιολογικά µοντέλα και οι περιγραφές ανακτώνται δυναµικά για

45 την εύρεση της κατάλληλης υπηρεσίας για την εκτέλεση της απαιτούµενης κάθε φορά ενέργειας. Για την περιγραφή του εξοπλισµού χρησιµοποιείται η γλώσσα OWL και για την περιγραφή των υπηρεσιών ιστού η γλώσσα OWL-S. Στην εφαρµογή προτείνονται τέσσερεις υπηρεσίες ιστού που δοµούν το πλαίσιο ενορχήστρωσης. Παράλληλα, έχουν αναπτυχθεί υπηρεσίες ιστού που αντιπροσωπεύουν τον παραγωγικό εξοπλισµό οι οποίες ονοµάζονται υπηρεσίες πεδίου (domain web services). Με τη χρήση των υπηρεσιών αυτών ελέγχεται ο παραγωγικός εξοπλισµός. Οι τέσσερεις υπηρεσίες ιστού του πλαισίου ενορχήστρωσης είναι: Υπηρεσία οντολογίας (Ontology service) ιαχειριστής οντολογίας (Ontology manager) Μηχανή ενορχήστρωσης (Orchestration engine) Υπηρεσία παρακολούθησης (Service monitor) H υπηρεσία οντολογίας (Ontology service) συντηρεί το σηµασιολογικό µοντέλο µε χρήση του πλαισίου Jena. Εκτελεί λειτουργίες φόρτωσης και τροποποίησης της οντολογίας εξοπλισµού καθώς και λήψης πληροφοριών από αυτήν. Η οντολογία του εξοπλισµού πρέπει να ενηµερώνεται συστηµατικά καθώς αλλάζουν οι καταστάσεις των υπηρεσιών ιστού του εξοπλισµού. Για το λόγο αυτό, οι χρησιµοποιούµενες υπηρεσίες του πεδίου εξοπλισµού πρέπει να περιλαµβάνουν λειτουργίες γνωστοποίησης µε τις οποίες να ενηµερώνουν όλους τους ενδιαφερόµενους για τις αλλαγές των καταστάσεών τους. Η υπηρεσία διαχείρισης οντολογίας (Ontology manager) αιτείται και λαµβάνει γνωστοποιήσεις από τις υπηρεσίες ιστού του εξοπλισµού. Με βάση τις λαµβανόµενες γνωστοποιήσεις στέλνει αιτήσεις ενηµέρωσης στην υπηρεσία οντολογίας έτσι ώστε η οντολογία εξοπλισµού να παραµένει συγχρονισµένη µε τις καταστάσεις των υπηρεσιών του εξοπλισµού. Η υπηρεσία µηχανής ενορχήστρωσης (Orchestration engine) είναι υπεύθυνη για την εκτέλεση διεργασιών BPEL οι οποίες κατά βάση είναι οδηγίες για την ενορχήστρωση άλλων υπηρεσιών ώστε να επιτευχθεί ο τελικός σκοπός, για παράδειγµα η κατασκευή ενός συγκεκριµένου προϊόντος. Οι σύνδεσµοι (partner links) που ορίζονται στη διεργασία BPEL περιγράφουν ποιες υπηρεσίες ιστού απαιτούνται για την ολοκλήρωση της διεργασίας. Οι τύποι των συνδέσµων βασίζονται στα port types των WSDL σύµφωνα µε το πρότυπο BPEL. Πριν το ξεκίνηµα εκτέλεσης της διεργασίας η µηχανή ενορχήστρωσης προσδιορίζει µία κατάλληλη υπηρεσία ιστού για κάθε άγνωστο σύνδεσµο. Για την εύρεση κατάλληλων υπηρεσιών ιστού η µηχανή ενορχήστρωσης βασίζεται στην υπηρεσία παρακολούθησης (Service monitor). Η υπηρεσία παρακολούθησης ανιχνεύει, βρίσκει και συντηρεί αρχείο όλων των διαθέσιµων υπηρεσιών ιστού. Αποθηκεύει τόσο τις συντακτικές περιγραφές WSDL όσο και τις σηµασιολογικές σε OWL των υπηρεσιών. Στην εργασία παρουσιάζονται δύο παραδείγµατα όπου χρησιµοποιείται η προτεινόµενη προσέγγιση ενορχήστρωσης των υπηρεσιών ιστού. Στο πρώτο παράδειγµα η προτεινόµενη αρχιτεκτονική εφαρµόζεται σε έναν πύργο φωτισµού και στο δεύτερο σε ένα σύστηµα µεταφορέων. Στην επόµενη παράγραφο παρουσιάζεται περιληπτικά η εφαρµογή του πύργου φωτισµού Παράδειγµα του πύργου φωτισµού Στο παράδειγµα αυτό παρουσιάζεται περιληπτικά η ενορχήστρωση µιας διεργασίας µε τη χρήση µιας υπηρεσίας ιστού πεδίου που αντιπροσωπεύει έναν πύργο τριών τµηµάτων φωτισµού. Η υπηρεσία ιστού εφαρµόζεται µε ελεγκτή Inico S1000 συνδεδεµένο στη

46 συσκευή σηµάτων του πύργου. Οι ψηφιακές έξοδοι του ελεγκτή είναι συνδεδεµένοι στις εισόδους της συσκευής σηµάτων του πύργου έτσι ώστε ο ελεγκτής να µπορεί να ενεργοποιεί και να απενεργοποιεί τα τµήµατα του πύργου. Στον ελεγκτή εκτελείται µία υπηρεσία ιστού που περιλαµβάνει λειτουργίες όπως ενεργοποίηση ή απενεργοποίηση τοµέων φωτισµού αλλά και ερωτήσεων για την ενηµέρωση των τρεχόντων λειτουργικών καταστάσεων. Πρόσθετα, η υπηρεσία διαθέτει λειτουργία ενηµέρωσης µε την οποία αποστέλλει ενηµερώσεις όταν υπάρχουν αλλαγές καταστάσεων φωτισµού. Ο ελεγκτής είναι συνδεδεµένος σε τοπικό δίκτυο µε τον υπολογιστή όπου εκτελούνται η υπηρεσία οντολογίας (Ontology service) και ο διαχειριστής οντολογίας (Ontology manager). Η οντολογία εξοπλισµού για την υπηρεσία ιστού του πύργου φωτισµού αποτελείται από µία απλή ιεραρχία κλάσεων που αναπαριστούν τα τρία τµήµατα φωτισµού και µία ιδιότητα που συνδέει κάθε τµήµα φωτισµού µε µία λογική (Boolean) τιµή που αντιπροσωπεύει την κατάσταση ισχύος του τµήµατος. Οι υπηρεσίες PC-based εγκαθίστανται µε την εκτέλεση ξεχωριστών εφαρµογών σε Java που υλοποιούνται µε τη βιβλιοθήκη DPWS4J. Πρόσθετα, εγκαθίστανται οι υπηρεσίες του πλαισίου ενορχήστρωσης που προτείνονται στην εφαρµογή

47 5. Εφαρµογή οντολογιών και υπηρεσιών ιστού σε εγκατεστηµένη γραµµή συσκευασίας κοκκοποιηµένου λιπάσµατος 5.1 Γενικά Οι αλλαγές των απαιτήσεων της αγοράς στην πάροδο του χρόνου οδηγούν σε αλλαγές και βελτιώσεις των γραµµών παραγωγής. Πολλά τέτοια παραδείγµατα συναντώνται στο χώρο της συσκευασίας του τελικού προϊόντος. Οι απαιτήσεις που επιβάλλονται από την αγορά και οδηγούν σε βελτιώσεις των γραµµών συσκευασίας είναι: Αλλαγές στον τρόπο διακίνησης του τελικού προϊόντος. Βελτιώσεις στην ευχέρεια αποθήκευσης. Αντοχή της συσκευασίας. ιατήρηση των αποθηκευµένων προϊόντων για µεγαλύτερα χρονικά διαστήµατα. Εµφάνιση της τελικής συσκευασίας. Μία προφανής λύση, ειδικά στην περίπτωση εκτεταµένων αλλαγών είναι η ριζική κατάργηση των παλιών γραµµών συσκευασίας και ο σχεδιασµός και η εγκατάσταση νέων. Εντούτοις, στις περισσότερες περιπτώσεις οι απαιτήσεις που επιβάλλουν αλλαγές εµφανίζονται σταδιακά. Η λύση που προωθείται συνήθως στις περιπτώσεις αυτές είναι η επέκταση τροποποίηση της ήδη εγκατεστηµένης γραµµής µε αξιοποίηση του υπάρχοντος εξοπλισµού. Το κόστος µιας επέκτασης είναι σαφώς µικρότερο από εκείνο µιας νέας εγκατάστασης. Εντούτοις, το αποτέλεσµα τέτοιων διαδοχικών επεκτάσεων είναι συχνά µία γραµµή αποτελούµενη από µηχανές διαφορετικών κατασκευαστών µε τεχνολογίες ελέγχου που εκτείνονται σε βάθος χρόνου δύο ή και τριών δεκαετιών. Σε τέτοιες γραµµές, ο έλεγχος του κάθε µηχανήµατος που προστίθεται παραµένει ανεξάρτητος από τον έλεγχο των υπολοίπων. Μία γραµµή παραγωγής, ανάλογα µε το είδος του παραγόµενου προϊόντος και την τεχνολογία της απαιτεί κατά τη λειτουργία της χαλαρή ή στενή επιτήρηση από ανθρώπινο δυναµικό. Σε γραµµές συσκευασίας που προκύπτουν από διαδοχικές επεκτάσεις όπως αυτές που αναφέραµε, οι απαιτήσεις για επιτήρηση είναι αυξηµένες. Οι λόγοι είναι: Το κόστος κατασκευής νέων κτιριακών εγκαταστάσεων είναι υψηλό. Οι παλιές εγκαταστάσεις διασκευάζονται σύµφωνα µε τις απαιτήσεις του πρόσθετου εξοπλισµού, όµως το αποτέλεσµα δεν είναι πάντα το καλύτερο δυνατό. Περιπτώσεις όπου δεν υπάρχει οπτική επαφή του χειριστή µε το µεγαλύτερο µέρος της γραµµής είναι πολύ συνηθισµένες ενώ παράλληλα η επίσκεψη στις διάφορες θέσεις της γραµµής απαιτεί χρόνο. Απλά συστήµατα εποπτείας των οποίων η εξέλιξη είναι τα σύγχρονα SCADA (Supervision Control And Data Acquisition), εγκαθίστανται εδώ και πολλά χρόνια στις γραµµές παραγωγής. Σε µία γραµµή που επεκτείνεται και τροποποιείται τα συστήµατα εποπτείας παλαιότερης τεχνολογίας αδυνατούν να προσαρµοστούν και γρήγορα καθίστανται ανενεργά. Η χρήση διαφορετικών τεχνολογιών στην ίδια γραµµή αυξάνει τις απαιτήσεις από το ανθρώπινο δυναµικό. Οι γνώσεις που απαιτούνται είναι περισσότερες και η εµπειρία µεγάλη για την έγκαιρη και αποτελεσµατική αντιµετώπιση προβληµάτων διαµόρφωσης του προϊόντος αλλά και ζηµιών της γραµµής

48 Η επιτήρηση τέτοιων γραµµών µπορεί να βελτιωθεί µε τη χρήση συστηµάτων παρακολούθησης, αναπαράστασης, συλλογής και καταγραφής δεδοµένων. Με τη βοήθεια ενός τέτοιου συστήµατος, οι πληροφορίες συγκεντρωµένες και µορφοποιηµένες σε συγκεκριµένα πρότυπα αποτελούν πολύτιµο εργαλείο τόσο για το προσωπικό που έχει την ευθύνη λειτουργίας της γραµµής όσο και της διοίκησης της µονάδας. Επεκτεινόµενο, ένα τέτοιο σύστηµα θα µπορούσε να παρεµβαίνει και στην παραµετροποίηση της γραµµής ρυθµίζοντας µεγέθη όπως βάρος ή µέγεθος σάκου, αριθµός στρώσεων στην παλέτα κλπ. 5.2 Περιγραφή εγκατεστηµένης γραµµής συσκευασίας Στις εγκαταστάσεις της ΕΛΦΕ στη Ν. Καρβάλη Καβάλας λειτουργεί γραµµή ενσάκκισης και παλετοποίησης κοκκοποιηµένου λιπάσµατος. Το λίπασµα παραλαµβάνεται από σιλό και στη συνέχεια εκτελούνται κατά σειρά οι ακόλουθες διεργασίες: Ζύγιση του κοκκοποιηµένου λιπάσµατος και προετοιµασία για ενσάκκιση. Ενσάκκιση µε αυτόµατη τροφοδοσία σάκων. Συγκόλληση των γεµάτων σάκων. Ανακατεύθυνση των σάκων. Παλετοποίηση των σάκων σε παλέτα. Περιτύλιξη της παλέτας µε φιλµ συσκευασίας. Το διάγραµµα διεργασιών και η σειρά του εξοπλισµού της γραµµής ενσάκισης και παλετοποίησης παρουσιάζεται συνοπτικά στο σχήµα 18. Το κοκκοποιηµένο λίπασµα εισάγεται στη γραµµή από το σιλό τροφοδοσίας. Ακολουθεί η ζύγιση του λιπάσµατος και η προώθηση της ζυγισµένης ποσότητας από τον αυτόµατο ζυγό (αρίθµηση 1 στην εικόνα). Η ζυγισµένη ποσότητα ενσακίζεται από το στόµιο ενσάκισης µε τον αυτόµατο σακοτροφοδότη (αρίθµηση 2). Ο σάκος προωθείται προς τη συγκολλητική µηχανή (αρίθµηση 3) όπου και κλείνει µε συγκόλληση. Οι κλειστοί πλέον σάκοι προωθούνται είτε προς φόρτωση ως έχουν, είτε προς τη γραµµή παλετοποίησης από τα συστήµατα εκτροπής και ανακατεύθυνσης (αρίθµηση 4). Η µηχανή παλετοποίησης (αρίθµηση 5) στοιχίζει σε παλέτες τα σακιά και προωθεί τις παραγόµενες παλέτες σάκων προς τη µηχανή περιτύλιξης (αρίθµηση 6). Η παλέτα, αφού συσκευαστεί µε φιλµ στη µηχανή περιτύλιξης οδηγείται στην έξοδο της γραµµής. Πρόκειται για γραµµή η οποία εξελίχθηκε στη σηµερινή της µορφή µε σταδιακές επεκτάσεις τα προηγούµενα χρόνια. Κάθε µία από τις αναφερόµενες διεργασίες υλοποιείται από ανεξάρτητη µηχανή εξειδικευµένη για τη συγκεκριµένη διεργασία, διαφορετικού κατασκευαστή. Η λειτουργία της κάθε µηχανής ελέγχεται από το δικό της ανεξάρτητο σύστηµα ελέγχου, ενσωµατωµένο στον ηλεκτρολογικό πίνακα της κάθε µηχανής. Ο έλεγχος υλοποιείται είτε από PLC (Programmable Logic Controllers) διαφορετικών κατασκευαστών και τεχνολογιών µε βάθος δεκαετιών, είτε και από απλούστερα συστήµατα αυτοµατισµού µε ρελέ ή ελεγκτές. Για την προώθηση των προϊόντων από την κάθε µηχανή προς την επόµενη, οι µηχανές αναµένουν απλά ψηφιακά σήµατα ετοιµότητας υποδοχής από την επόµενη, ενώ ξεκινούν τη διεργασία τους ανιχνεύοντας την παρουσία του προϊόντος στην προβλεπόµενη θέση για έναρξη διεργασίας. Σχήµα 18 (επόµενη σελίδα): ιάγραµµα διεργασιών γραµµής ενσάκισης και παλετοποίησης

49 Είσοδος λιπάσµατος Έξοδος παλέτας

50 Η γραµµή συσκευασίας, έχοντας καταλήξει στη σηµερινή της µορφή µετά από διαδοχικές επεκτάσεις δεν διαθέτει ολοκληρωµένο σύστηµα παρακολούθησης και καταγραφής λειτουργικών δεδοµένων. Το ανθρώπινο δυναµικό, του οποίου ευθύνη είναι η λειτουργία της γραµµής προσπαθεί να την επιτηρεί συνεχώς επισηµαίνοντας έγκαιρα δυσλειτουργίες και σφάλµατα και επιλύοντάς τα. Η επιτήρηση όµως δεν είναι εύκολη, καθώς η γραµµή εκτείνεται σε διαφορετικά επίπεδα του κτιρίου στα οποία δεν υπάρχει ταυτόχρονη οπτική επαφή. Όπως φαίνεται στο σχήµα 18, υπάρχουν τέσσερα διαφορετικά επίπεδα στα οποία εκτελούνται σύνθετες διεργασίες. Είναι φανερό ότι ένα σύστηµα επιτήρησης το οποίο θα συλλέγει και θα παρουσιάζει σε συγκεκριµένη θέση εργασίας τα πιο σηµαντικά δεδοµένα της λειτουργικής κατάστασης των επιµέρους µηχανών της γραµµής θα διευκόλυνε το έργο του χειριστή. 5.3 Σχεδίαση και ανάπτυξη συστήµατος επιτήρησης µε συλλογή και αναπαράσταση δεδοµένων της λειτουργικής κατάστασης της γραµµής συσκευασίας µε εφαρµογή αρχιτεκτονικής SOA και υπηρεσιών SWS Σχεδίαση του συστήµατος επιτήρησης της γραµµής συσκευασίας Στην εφαρµογή του συστήµατος επιτήρησης υιοθετείται η αρχιτεκτονική κατανεµηµένου υπολογιστικού συστήµατος σε συνδυασµό µε τις υπηρεσίες ιστού και σηµασιολογικού ιστού ώστε το σύστηµα να υποστηρίζεται µε εξελιγµένες τεχνολογίες του διαδικτύου. Στόχος είναι τα δεδοµένα των µηχανών της γραµµής συσκευασίας να είναι διαθέσιµα τόσο στην εφαρµογή επιτήρησης όσο και σε άλλες εφαρµογές της επιχείρησης µέσω καθιερωµένων πρωτοκόλλων επικοινωνίας του διαδικτύου. Ο προτεινόµενος σχεδιασµός του συστήµατος οδηγεί σε ένα µοντέλο επιτήρησης το οποίο λειτουργεί παράλληλα µε τους εγκατεστηµένους αυτοµατισµούς στο επίπεδο της βιοµηχανικής εγκατάστασης. εν προτείνεται καµία αλλαγή στα συστήµατα ελέγχου των επί µέρους µηχανών της γραµµής συσκευασίας. Παράλληλα µε τα συστήµατα αυτά, εγκαθίστανται έξυπνες συσκευές µεσολαβητές, µία για κάθε µηχανή της γραµµής, µε ενσωµατωµένη κάρτα I/O για την επικοινωνία µε τις υπάρχουσες διατάξεις αυτοµατισµού, σύνδεση στο διαδίκτυο και δυνατότητα λειτουργίας ως εξυπηρετητή (server). Σκοπός των συσκευών αυτών είναι να προσφέρουν τις υπηρεσίες διάθεσης των δεδοµένων των µηχανών στις εφαρµογές πελάτες (clients). Η αρχιτεκτονική του συστήµατος παριστάνεται στο ακόλουθο σχήµα 19. Στο σχήµα αυτό ο εξοπλισµός της γραµµής συσκευασίας παρουσιάζεται τόσο περιγραφικά όσο και µε το κωδικό όνοµά του στην εγκατάσταση. Για παράδειγµα το κωδικό όνοµα του αυτόµατου ζυγού είναι το NPK01_WEM και του µεσολαβητή του το SM

51 Σταθµός Εποπτείας (MOS) GUI Υπηρεσίες σηµασιολογικού ιστού (SWS) Άλλες εφαρµογές της επιχείρησης Σύνθετες υπηρεσίες γραµµής Εφαρµογή διαχείρισης δεδοµένων Μεσολαβητές που λειτουργούν ως εξυπηρετητές (Servers) SM1 SM2 SM3 SM4 SM5 SM6 Εγκατεστηµένα κυκλώµατα Ι/Ο Αυτόµατος ζυγός NPK01_WEM Στόµιο και Σακοτροφοδότης NPK01_SBM Συγκολλητική µηχανή NPK01_SEM Σύστηµα εκτροπής NPK01_BRD Μηχανή παλετοποίησης NPK01_PAM Μηχανή περιτύλιξης NPK01_WRM Σχήµα 19: Αρχιτεκτονική συστήµατος επιτήρησης, συλλογής και αναπαράστασης δεδοµένων λειτουργικής κατάστασης της γραµµής συσκευασίας. Οι µεσολαβητές συνδέονται µε τα εγκατεστηµένα κυκλώµατα, και συγκεκριµένα λαµβάνουν τα σήµατα τα οποία έχουν επιλεγεί να συλλέγονται και να επιτηρούνται από το σύστηµα. Η εγκατάστασή τους γίνεται µέσα στον ηλεκτρολογικό πίνακα της κάθε µηχανής. Ταυτόχρονα, συνδέονται σε κοινό δίκτυο Ethernet µέσω του οποίου επικοινωνούν τόσο µε την εφαρµογή διαχείρισης δεδοµένων, όσο και µε άλλες εφαρµογές της επιχείρησης. Η εφαρµογή διαχείρισης δεδοµένων εκτελείται σε υπολογιστή, στη θέση εργασίας που έχει επιλεγεί για την εποπτεία του συστήµατος. Συλλέγει και επεξεργάζεται τα δεδοµένα της εγκατάστασης µε επίκληση των υπηρεσιών ιστού τόσο των µεσολαβητών - εξυπηρετητών όσο και των απλών και σύνθετων υπηρεσιών της γραµµής συσκευασίας που προσφέρονται από τον εξυπηρετητή που εκτελείται στον ίδιο υπολογιστή. Τα δεδοµένα παρουσιάζονται στην οθόνη του υπολογιστή. Έτσι, χρησιµοποιείται η θέση αυτή ως το κέντρο συλλογής διαχείρισης και αναπαράστασης των δεδοµένων που αφορούν συνολικά τη γραµµή συσκευασίας. Οι απλές και σύνθετες υπηρεσίες της γραµµής συσκευασίας περιγράφονται και παρουσιάζονται ως υπηρεσίες σηµασιολογικού ιστού στον υπολογιστή εποπτείας της

52 γραµµής. Η περιγραφή αυτή µπορεί να αξιοποιηθεί από πελάτες εφαρµογές του διαδικτύου, είτε µέσα στην επιχείρηση είτε έξω από αυτήν. Αξιοποιούνται έτσι τα πλεονεκτήµατα χρήσης της αρχιτεκτονικής SOA µε εφαρµογή SWS, µε την εφαρµογή µιας σειράς εξελιγµένων και γενικά αποδεκτών πρωτοκόλλων σε µία ευέλικτη και εύκολη στη σύνθεση δοµή. e Εγκατεστηµένες διατάξεις αυτοµατισµού και κυκλώµατα σηµάτων των επί µέρους µηχανών της γραµµής Στον ακόλουθο πίνακα (πίνακας 1), παρουσιάζονται συνοπτικά τα βασικά στοιχεία των διατάξεων αυτοµατισµού και των κυκλωµάτων σηµάτων των έξι επί µέρους µηχανών της γραµµής συσκευασίας. Συγκεκριµένα παρουσιάζεται το είδος και ο κατασκευαστής της κάθε συσκευής ελέγχου και το είδος των κυκλωµάτων εισόδων και εξόδων. Επίσης αναφέρεται, σε όποια µηχανή υπάρχει, η δυνατότητα αποθήκευσης λειτουργικών δεδοµένων στη µνήµη της εγκατεστηµένης συσκευής ελέγχου. Στην τελευταία στήλη του πίνακα παρουσιάζεται γενικά η δυνατότητα επικοινωνίας της εγκατεστηµένης διάταξης κυκλωµάτων και συσκευής ελέγχου της κάθε µηχανής µε τον αντίστοιχο µεσολαβητή. Σύµφωνα µε το σχεδιασµό του συστήµατος, επιλέγονται σήµατα εισόδου και εξόδου τα οποία κρίνονται ότι πρέπει να είναι ανά πάσα στιγµή αναγνώσιµα από τους µεσολαβητές. Τα σήµατα αυτά µπορούν να γίνουν άµεσα προσβάσιµα µε παράλληλη καλωδίωση των κυκλωµάτων εισόδου εξόδου των µηχανών στις κάρτες I/O των µεσολαβητών. Η καλωδίωση αυτή παρουσιάζει άµεση απόκριση, συνεπώς µπορεί να θεωρηθεί ότι οι µεσολαβητές διαβάζουν τα σήµατα σε πραγµατικό χρόνο. Η επιτήρηση των σηµάτων αυτών µπορεί να δώσει όλες τις απαραίτητες πληροφορίες για τη λειτουργική κατάσταση της γραµµής συσκευασίας. Πρόσθετα, µε την ανάπτυξη των κατάλληλων µεθόδων, δεδοµένα που αποθηκεύονται στη µνήµη των συσκευών ελέγχου όπως των ελεγκτών ή των PLC, µπορούν να µεταφερθούν στους µεσολαβητές µέσω θυρών RS-232. Τα δεδοµένα αυτά στη συνέχεια µπορούν να είναι διαθέσιµα στις εφαρµογές που τα ζητούν. Επιπλέον, οι µεσολαβητές µπορούν εκτελώντας συγκεκριµένες ρουτίνες να συγκεντρώνουν και να αποθηκεύουν τα λειτουργικά δεδοµένα τα οποία παρακολουθούν, κρατώντας έτσι πρόσθετες πληροφορίες στη δική τους µνήµη, ο καθένας για τη µηχανή µε την οποία είναι συνδεδεµένος

53 -1- Αυτόµατος ζυγός -2- Στόµιο και αυτόµατος σακοτροφοδότης -3- Συγκολλητική µηχανή -4- Σύστηµα εκτροπής σάκων -5- Μηχανή παλετοποίησης -6- Μηχανή περιτύλιξης Κατασκευαστής µηχανής / Είδος συσκευής ελέγχου / Κατασκευαστής ελεγκτή Richard Simon/ Ελεγκτής ζύγισης/ Computapak 1 Binder/ PLC/ SIEMENS S Doboy/ Ελεγκτές και ρελέ/ OMRON Αυτοµατισµός µε ρελέ Paglierani/ PLC/ OMRON Paglierani/ PLC/ OMRON Κυκλώµατα εισόδου - εξόδου Είσοδοι ψηφιακοί 24V DC, αναλογικοί 20 mv Έξοδοι ψηφιακοί 24 V DC Είσοδοι ψηφιακοί 24V DC Έξοδοι ψηφιακοί 24 V DC Είσοδοι ψηφιακοί 24V DC Έξοδοι ψηφιακοί 24 V DC Είσοδοι ψηφιακοί 24V DC Έξοδοι ψηφιακοί 24 V DC Είσοδοι ψηφιακοί 24V DC Έξοδοι ψηφιακοί 24 V DC Είσοδοι ψηφιακοί 24V DC Έξοδοι ψηφιακοί 24 V DC υνατότητα αποθήκευσης στη µνήµη διάταξης ελέγχου (ελεγκτή ή PLC) Ναι. Αποθήκευση στη µνήµη του ελεγκτή Ναι. Αποθήκευση στη µνήµη του PLC Όχι. Όχι. Ναι. Αποθήκευση στη µνήµη του PLC Ναι. Αποθήκευση στη µνήµη του PLC υνατότητα επικοινωνίας της εγκατεστηµένης διάταξης µε τον µεσολαβητή Ανάγνωση σε πραγµατικό χρόνο των ψηφιακών / αναλογικών σηµάτων. Επικοινωνία µε τον ελεγκτή µέσω θύρας RS-232. Ανάγνωση σε πραγµατικό χρόνο των ψηφιακών σηµάτων. Επικοινωνία µε το PLC µέσω θύρας RS-232. Ανάγνωση σε πραγµατικό χρόνο των ψηφιακών / αναλογικών σηµάτων. Ανάγνωση σε πραγµατικό χρόνο των ψηφιακών σηµάτων. Ανάγνωση σε πραγµατικό χρόνο των ψηφιακών σηµάτων. Επικοινωνία µε το PLC µέσω θύρας RS-232. Ανάγνωση σε πραγµατικό χρόνο των ψηφιακών σηµάτων. Επικοινωνία µε το PLC µέσω θύρας RS-232. Πίνακας 1: Συνοπτική παρουσίαση διατάξεων αυτοµατισµού και σηµατοδοσίας των επί µέρους µηχανών της γραµµής συσκευασίας

54 5.3.3 Σχεδίαση και ανάπτυξη του λογισµικού του κατανεµηµένου συστήµατος επιτήρησης της γραµµής συσκευασίας Γενικά Με βάση τη γενική περιγραφή του συστήµατος που αναπτύχθηκε ως τώρα είναι φανερές οι µεγάλες δυνατότητες που προσφέρει στην επιτήρηση και συλλογή των λειτουργικών δεδοµένων της εγκατάστασης. Παράλληλα, η επιλογή της αρχιτεκτονικής SOA και της κατανεµηµένης σε διαφορετικούς υπολογιστές εφαρµογής είναι µια λύση που ταιριάζει απόλυτα στη δοµή της εγκατάστασης. Οι λειτουργίες όπως η ανάγνωση και η συλλογή λειτουργικών δεδοµένων της κάθε µηχανής εκτελούνται στην εφαρµογή εξυπηρετητή (server) που εκτελείται στον αντίστοιχο µεσολαβητή. Οι τιµές των δεδοµένων αυτών έχουν το χαρακτηριστικό ότι µεταβάλλονται συνεχώς στο χρόνο. Ο κάθε εξυπηρετητής διαθέτει προς τους υποψήφιους πελάτες τις λειτουργίες ανάγνωσης και συλλογής δεδοµένων ως υπηρεσία ιστού (WS) προσφέροντας τα ακόλουθα πλεονεκτήµατα: Χρησιµοποιούνται τα διαδεδοµένα πρωτόκολλα επικοινωνίας του ιστού για την επικοινωνία µε την εφαρµογή διαχείρισης αλλά και για οποιαδήποτε άλλη εφαρµογή προωθώντας την οριζόντια και κάθετη ολοκλήρωση. Η ανάγνωση των δεδοµένων είναι δυνατή για κάθε µηχανή ανεξάρτητα προσφέροντας ευελιξία. Ο κάθε εξυπηρετητής εκτελεί την ανάγνωση και συλλογή δεδοµένων προσφέροντας τις λειτουργίες αυτές ως διασύνδεση (interface) υπηρεσιών ιστού. Έτσι, διασφαλίζεται η πρόσβαση σε αυτά µόνο µέσω της διασύνδεσης. Με τον τρόπο αυτό προσφέρεται η απαραίτητη προστασία στα δεδοµένα και η εγγύηση για την διαρκή ενηµέρωση των τιµών τους. Η εφαρµογή διαχείρισης δεδοµένων σχεδιάζεται ώστε να εξυπηρετήσει την ανάγκη επιτήρησης, συλλογής και αναπαράστασης δεδοµένων της γραµµής συσκευασίας. Συγκεκριµένα: Λειτουργώντας ως πελάτης (client) των υπηρεσιών ιστού των εξυπηρετητών των µηχανών, συγκεντρώνει και αποθηκεύει πληροφορίες για τη λειτουργία των επί µέρους µηχανών της γραµµής συσκευασίας. Μέσω της διεπαφής (GUI) παρουσιάζει στο χρήστη πληροφορίες σχετικά µε την κατάσταση των επί µέρους µηχανών της γραµµής συσκευασίας, αλλά και της γραµµής συνολικά. Παράλληλα, δέχεται εντολές µέσω της διεπαφής αυτής. Για την ανάπτυξη του λογισµικού χρησιµοποιείται ο αντικειµενοστραφής σχεδιασµός. Σκοπός είναι να αναπτυχθεί µία εφαρµογή λειτουργική, προσαρµοστική σε νέες συνθήκες, εύκολα επεκτάσιµη και µε δυνατότητα γρήγορης ανάγνωσης και αποτελεσµατικής συντήρησης. Το λογισµικό, δοµηµένο όσο είναι δυνατόν σε αυτόνοµες ενότητες πρέπει να είναι εύκολα προσπελάσιµο και κατανοητό. Πρέπει να δίνει τη δυνατότητα εύκολης προσαρµογής του σε µία αντίστοιχη νέα εφαρµογή. Επίσης, πρέπει να είναι εύκολα επεκτάσιµο ώστε να προσαρµόζεται σε νέες λειτουργικές απαιτήσεις. Τέλος, µέρη του λογισµικού του συστήµατος είναι επιθυµητό να µπορούν να χρησιµοποιηθούν σε παρόµοιες εφαρµογές. Για τη µοντελοποίηση των υπηρεσιών ακολουθείται η προσέγγιση «code-driven», χρησιµοποιείται δηλαδή η εφαρµογή (κώδικας) των υπηρεσιών ως σηµείο εκκίνησης για

55 την ολοκληρωµένη παραγωγή και περιγραφή τους. Έτσι αρχικά υλοποιείται ο κώδικας της κάθε υπηρεσίας και µετά παράγεται η προδιαγραφή WSDL ώστε να περιγραφεί η διεπαφή επίκλησής της. Κατόπιν, για τη σηµασιολογική περιγραφή της υπηρεσίας ορίζονται πρόσθετες προδιαγραφές σε γλώσσα OWL-S. Τελικά, η περιγραφή της δηµοσιεύεται σε κατάλογο του σταθµού επιτήρησης ή και σε κάποιο µητρώο υπηρεσιών Περιγραφή µεθόδων των µεσολαβητών - εξυπηρετητών Θα πρέπει να τονιστεί ότι στην παράγραφο αυτή περιγράφεται και µοντελοποιείται µόνο το λειτουργικό µέρος των υπηρεσιών ιστού των µεσολαβητών. Οι σύνθετες υπηρεσίες ιστού της εφαρµογής και οι υπηρεσίες ιστού της γραµµής περιγράφονται στις επόµενες παραγράφους. Κάθε εφαρµογή εξυπηρετητή µοντελοποιείται µε δύο κλάσεις, µία διεπαφή (WS interface) η οποία αναφέρει τις λειτουργίες (µεθόδους) που διατίθενται στον υποψήφιο πελάτη από τον εξυπηρετητή και µία κλάση εφαρµογής της υπηρεσίας (service implementation). Ως παράδειγµα, στο σχήµα 19 που ακολουθεί παρουσιάζονται οι δύο προαναφερόµενες κλάσεις για τον αυτόµατο ζυγό: WeighingMachineServiceImpl WeighingMachineInterface IOstatus : int [ ] WeighingValue : float [ ] WeighingError : float [ ] WeighingCounter : int int getweighingmachinestate(int) float getweighingvalue(int) float getweighingerror(int) int getweighingcounter() int getweighingmachinestate(int) float getweighingvalue(int) float getweighingerror(int) int getweighingcounter() Σχήµα 20: Κάρτες CRC των κλάσεων εξυπηρετητή και διεπαφής (interface) για τον αυτόµατο ζυγό. Στον πίνακα που ακολουθεί (πίνακας 2), παρουσιάζεται η µοντελοποίηση των κλάσεων εφαρµογής των υπηρεσιών ιστού και µία συνοπτική περιγραφή των χαρακτηριστικών τους και των µεθόδων που προσφέρουν

56 Μεσολαβητές Κάρτες CRC Περιγραφή κλάσεων, χαρακτηριστικών και µεθόδων WeighingMachineServiceImpl Εξυπηρετητής του αυτόµατου ζυγού. -SM1- Αυτόµατος ζυγός NPK01_WEM IOstatus : int [ ] WeighingValue : float [ ] WeighingError : float WeighingCounter : int int [ ] getweighingmachinestate(int) float [ ] getweighingvalue(int) float getweighingerror(int) int getweighingcounter() Επιλεγµένες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Τιµές ζυγίσεων από τη διαδικασία ζύγισης, SP και πραγµατικές. Σφάλµα ζύγισης όπως προκύπτει από την διαφορά επιθυµητής και πραγµατικής τιµής ζύγισης. Αριθµός ζύγισης. Παρέχει τις τρέχουσες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Παρέχει τιµές ζυγίσεων, τρέχουσα και παλαιότερες και τιµή SP. Παρέχει σφάλµα ζύγισης υπολογιζόµενο σε αριθµό ζυγίσεων. Παρέχει τον αριθµό ζύγισης του ζυγού. -SM2- Στόµιο και αυτόµατος σακοτροφοδότης NPK01_SBM -SM3- Συγκολλητική µηχανή NPK01_SEM -SM4- Σύστηµα εκτροπής σάκων SpoutBaggMachineServiceImpl IOstatus : int [ ] Errortable : int [ ] int[ ] getspoutbaggmachinestate(int) int [ ] getspoutbaggerrortable SealingMachineServiceImpl IOstatus : int [ ] SealTemp : float [ ] Int [ ] getsealingmachinestate(int) float [ ] getsealtemp(int) BagRedirectServiceImpl IOstatus : int [ ] Εξυπηρετητής του στοµίου ενσάκκισης και του αυτόµατου σακοτροφοδότη. Επιλεγµένες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Πίνακας σφαλµάτων αποθηκευµένος στη µνήµη του PLC. Παρέχει τις τρέχουσες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Παρέχει τον πίνακα σφαλµάτων του PLC σε µορφή πίνακα ακεραίων. Εξυπηρετητής της συγκολλητικής µηχανής των σάκων. Επιλεγµένες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Αναλογικές τιµές θερµοκρασίας συγκόλλησης, SP και πραγµατικές. Παρέχει τις τρέχουσες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Παρέχει τις τρέχουσες τιµές θερµοκρασιών συγκόλλησης και των SP. Εξυπηρετητής του συστήµατος εκτροπής των σάκων. Επιλεγµένες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. NPK01_BRD int [ ] getbagredirectstate(int) Παρέχει τις τρέχουσες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού

57 -SM5- Μηχανή παλετοποίησης NPK01_PAM -SM6- Μηχανή περιτύλιξης NPK01_WRM PaletizingMachineServiceImpl IOstatus : int [ ] Errortable : int [ ] PaletizingParameters : int [ ] int [ ] getpaletizingmachinestate(int) int [ ] getpaletizingerrortable() int [ ] getpaletizingparameters() WrappingMachineServiceImpl IOstatus : int [ ] Errortable : int [ ] PalletCounter : int int [ ] getwrappingmachinestate(int) int [ ] getwrappingerrortable() int getpalletcounter() Εξυπηρετητής της παλετοποιητικής µηχανής. Επιλεγµένες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Πίνακας σφαλµάτων αποθηκευµένος στη µνήµη του PLC. Παράµετροι λειτουργίας της µηχανής παλετοποίησης. Παρέχει τις τρέχουσες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Παρέχει τον πίνακα σφαλµάτων του PLC σε µορφή πίνακα ακεραίων. Παρέχει τις παραµέτρους λειτουργίας της µηχανής παλετοποίησης. Εξυπηρετητής της µηχανής περιτύλιξης. Επιλεγµένες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Πίνακας σφαλµάτων αποθηκευµένος στη µνήµη του PLC. Αριθµός παραγόµενης παλέτας. Παρέχει τις τρέχουσες τιµές ψηφιακών εισόδων και εξόδων του συστήµατος αυτοµατισµού. Παρέχει τον πίνακα σφαλµάτων του PLC σε µορφή πίνακα ακεραίων. Παρέχει τον αριθµό παραγόµενης παλέτας. Πίνακας 2: Κλάσεις των µεσολαβητών - εξυπηρετητών και συνοπτική περιγραφή των χαρακτηριστικών και των µεθόδων τους Σχεδίαση και µοντελοποίηση σύνθετων υπηρεσιών της γραµµής Η υιοθέτηση της αρχιτεκτονικής SOA για τη σχεδίαση της εφαρµογής δίνει τη δυνατότητα ανάπτυξης σύνθετων υπηρεσιών µε σκοπό τον υπολογισµό και την αναπαράσταση παραµέτρων που περιγράφουν τα πιο σηµαντικά λειτουργικά δεδοµένα της γραµµής συσκευασίας. Οι σύνθετες υπηρεσίες περιγράφονται ως «ενορχήστρωση» των απλών. Πρόκειται για τη διατύπωση και περιγραφή συγκεκριµένης διαδοχής εκτέλεσης µεθόδων των απλών υπηρεσιών ιστού. Για την κατασκευή των σύνθετων υπηρεσιών της γραµµής, ως δοµικά στοιχεία χρησιµοποιούνται οι µέθοδοι των απλών υπηρεσιών των µεσολαβητών των επί µέρους µηχανών καθώς και µέθοδοι επεξεργασίας δεδοµένων που περιλαµβάνονται στην υπηρεσία ιστού της γραµµής η οποία περιγράφεται στην παράγραφο Οι µεσολαβητές είναι σε θέση να διαβάσουν και να διαθέσουν πολλά στοιχεία για τη λειτουργία των επί µέρους µηχανών της γραµµής. Τα στοιχεία αυτά σε συνδυασµό µε την επεξεργασία τους από µεθόδους της υπηρεσίας ιστού της γραµµής µπορούν να δώσουν πολλές και ποικίλες χρήσιµες πληροφορίες στους χρήστες. Εστιάζοντας κύρια στην ενηµέρωση της διοικητικού µηχανισµού της εταιρείας για την καλή λειτουργία της γραµµής, δίνεται έµφαση στην ανάπτυξη σύνθετων υπηρεσιών που εστιάζονται στην αξιολόγηση της εκµετάλλευσης και της καλής λειτουργίας της γραµµής. Οι υπηρεσίες αυτές µπορούν να ενταχθούν σε τρεις κατηγορίες:

58 Υπηρεσίες αξιολόγησης καλής λειτουργίας της γραµµής. Αξιολογούν πόσο η παραγωγικότητα της γραµµής υποβαθµίζεται από βλάβες ή πληµµελή χειρισµό του εξοπλισµού της. Υπηρεσίες αξιολόγησης χρησιµοποίησης (αξιοποίησης) της γραµµής. Αξιολογούν την εκµετάλλευση της εγκατάστασης ως υπάρχουσας επένδυσης της εταιρείας. Υπηρεσίες αξιολόγησης ποιότητας παραγόµενου προϊόντος. Παρακολουθούν µεγέθη κρίσιµα για την ποιότητα του τελικού προϊόντος όπως αυτά καθορίζονται από το σύστηµα ελέγχου ποιότητας της εταιρείας. Στις επόµενες παραγράφους αναπτύσσονται και µοντελοποιούνται τρεις σύνθετες υπηρεσίες, µία από κάθε κατηγορία Υπολογισµός δεικτών καλής λειτουργίας της γραµµής Στα πλαίσια της αξιολόγησης της καλής λειτουργίας της γραµµής ορίζονται δείκτες καλής λειτουργίας της γραµµής και των επί µέρους µηχανών. Η αποδοτική και χωρίς καθυστερήσεις λειτουργία της γραµµής καθορίζεται από την καλή λειτουργία των επί µέρους µηχανών. Στην περίπτωση που κάποια µηχανή παρουσιάσει βλάβη ή κάποια έλλειψη σε τροφοδότηση πόρων, τίθεται στην κατάσταση «εκτός λειτουργίας». Η υπηρεσία ζητά σε τακτά χρονικά διαστήµατα από τις µηχανές τις τρέχουσες τιµές της λειτουργικής τους κατάστασης δηλαδή αν είναι σε λειτουργική ετοιµότητα ή εκτός λειτουργίας. Συγκεντρώνει έτσι, σε βάθος χρόνου τα απαραίτητα δεδοµένα για την καλή λειτουργία τόσο της γραµµής όσο και των επί µέρους µηχανών. Η κατάσταση απεικονίζεται µε τον υπολογισµό των σχετικών δεικτών. Ο ταυτοχρονισµός στην ανάγνωση της λειτουργικής κατάστασης των µηχανών δεν µπορεί να είναι απόλυτος, εντούτοις τα χρονικά διαστήµατα που χρησιµοποιούνται για τον υπολογισµό των δεικτών είναι πολύ µεγαλύτερα από τις συγκεκριµένες αποκλίσεις που εντέλει δεν παίζουν σηµαντικό ρόλο στον υπολογισµό των τελικών τιµών. Ο χρήστης της υπηρεσίας εισάγει το συνολικό χρονικό διάστηµα για το οποίο θέλει να χρησιµοποιήσει την υπηρεσία και το διάστηµα τακτικής ανάγνωσης δεδοµένων και αποστολής των τιµών των δεικτών. Λαµβάνει πίσω, για όλο το χρονικό διάστηµα που έχει ορίσει, µε την χρονική τακτικότητα που έχει ζητήσει, τις τιµές των δεικτών. Στο ακόλουθο σχήµα (σχήµα 21) παρουσιάζεται η σύνθετη διεργασία της υπηρεσίας σε µορφή διαγράµµατος δραστηριότητας (activity diagram)

59 Όνοµα υπηρεσίας: OperatingIndexesCalc Σχήµα 21: ιάγραµµα δραστηριότητας της σύνθετης διεργασίας της υπηρεσίας OperatingIndexesCalc. Τα βήµατα της διεργασίας είναι: Επίκληση κατάστασης ενεργοποίησης ή µη ενεργοποίησης της γραµµής. Σε περίπτωση µη ενεργοποίησης της γραµµής δεν πρέπει να ξεκινήσει ο υπολογισµός των δεικτών διότι οδηγεί σε ψεύτικα συµπεράσµατα. Η ενεργοποίηση ελέγχεται

60 µε επίκληση της µεθόδου getweighingmachinestate του αυτόµατου ζυγού και ανάγνωση της κατάστασης. Αν η γραµµή είναι ενεργοποιηµένη καλούνται και οι έξι µέθοδοι παροχής ψηφιακών δεδοµένων παράλληλα, µία για κάθε µηχανή. Εκτελούνται οι µέθοδοι: getweighingmachinestate() getspoutbaggmachinestate() getsealingmachinestate() getbagredirectstate() getpaletizingmachinestate() getwrappingmachinestate() Μετά την ολοκλήρωση εκτέλεσης όλων των µεθόδων και τη συλλογή των τιµών κατάστασης «εντός/εκτός λειτουργίας», οι τιµές µαζί µε το χρονικό διάστηµα ανάγνωσης οδηγούνται στη µέθοδο calclineindexes() που υπολογίζει τους δείκτες. Η µέθοδος επιστρέφει τους δείκτες και τη χρονική στιγµή στην οποία αντιστοιχούν. Η διαδικασία επαναλαµβάνεται για όλο το καθορισµένο χρονικό διάστηµα. Με τη λήξη αποστέλλεται σχετικό µήνυµα ολοκλήρωσης. Η µέθοδος calclineindexes() διατίθεται ως υπηρεσία και εκτελείται στο σταθµό εργασίας του συστήµατος επιτήρησης της γραµµής Αξιολόγηση εκµετάλλευσης της γραµµής Στα πλαίσια αξιολόγησης εκµετάλλευσης της γραµµής σε σχέση µε τον ονοµαστικό σχεδιασµό της, παρέχονται από την υπηρεσία τόσο στοιχεία τα οποία υπολογίζονται σε πραγµατικό χρόνο, όσο και άλλα τα οποία έχουν αποθηκευτεί από την εφαρµογή διαχείρισης δεδοµένων. Για την αξιολόγηση εκµετάλλευσης της γραµµής θα πρέπει να συγκριθούν: Ο ρυθµός παραγωγής του αυτόµατου ζυγού σε σχέση µε τον ονοµαστικό του. Ο ρυθµός παραγόµενων παλετών σε σχέση µε τον ονοµαστικό ρυθµό. Για τη σύγκριση θα πρέπει να ληφθούν υπόψη οι καθορισµένες από το χρήστη παράµετροι: Μέγεθος (βάρος) σάκων. Αριθµός σάκων ανά στρώση παλέτας. Αριθµός στρώσεων παλέτας. Η υπηρεσία ζητά σε τακτά χρονικά διαστήµατα από τον αυτόµατο ζυγό και τη µηχανή περιτύλιξης την τρέχουσα τιµή του µετρητή ζυγίσεων και του µετρητή εξερχόµενων παλετών αντίστοιχα. Παράλληλα, ζητά από τον αυτόµατο ζυγό την επιθυµητή τιµή βάρους των σάκων και από τη µηχανή παλετοποίησης τις δύο άλλες παραµέτρους. Υπολογίζει σε βάθος χρόνου το ρυθµό ζυγίσεων και παραγόµενων παλετών. Επιστρέφει τόσο τα δεδοµένα αυτά όσο και παλιότερα συγκεντρωτικά δεδοµένα που έχουν αποθηκευτεί από την εφαρµογή διαχείρισης δεδοµένων. Ο χρήστης της υπηρεσίας εισάγει το συνολικό χρονικό διάστηµα για το οποίο θέλει να χρησιµοποιήσει την υπηρεσία και το διάστηµα τακτικής ανάγνωσης των µετρητών και

61 των παραµέτρων. Λαµβάνει πίσω, για όλο το χρονικό διάστηµα που έχει ορίσει, µε την χρονική τακτικότητα που έχει ζητήσει, τον αριθµό ζυγίσεων και παλετών και τους αντίστοιχους ρυθµούς, πραγµατικούς και ονοµαστικούς. Στο ακόλουθο σχήµα (σχήµα 22) παρουσιάζεται η σύνθετη διεργασία της υπηρεσίας σε µορφή διαγράµµατος δραστηριότητας. Όνοµα υπηρεσίας: LineEfficiency Σχήµα 22: ιάγραµµα δραστηριότητας της σύνθετης διεργασίας της υπηρεσίας LineEfficiency. Τα βήµατα της διεργασίας είναι:

62 Επίκληση κατάστασης ενεργοποίησης ή µη ενεργοποίησης της γραµµής. Η ενεργοποίηση ελέγχεται µε επίκληση της µεθόδου getweighingmachinestate του αυτόµατου ζυγού και ανάγνωση της κατάστασης. Αν η γραµµή είναι ενεργοποιηµένη καλούνται οι µέθοδοι ανάγνωσης των παραµέτρων. Εκτελούνται οι µέθοδοι: getweighingvalue() getpaletizingparameters() Μετά την ολοκλήρωση εκτέλεσης των µεθόδων αυτών καλούνται οι µέθοδοι ανάγνωσης των τιµών των µετρητών: getweighingcounter() getpalletcounter() Η ανάγνωση των µετρητών γίνεται µε πολύ µεγαλύτερη συχνότητα από την ανάγνωση των παραµέτρων. Οι παράµετροι διαβάζονται µε ρυθµό µία φορά ανά παλέτα. Οι τιµές µετρητών και παραµέτρων µαζί µε το χρονικό διάστηµα ανάγνωσης οδηγούνται στη µέθοδο calclinerates() που υπολογίζει σε βάθος χρόνου το ρυθµό ζυγίσεων και τον ρυθµό παραγόµενων παλετών. Επιστρέφει τόσο τα δεδοµένα αυτά µε τη χρονική στιγµή στην οποία αντιστοιχούν όσο και παλιότερα συγκεντρωτικά δεδοµένα αποθηκευµένα στην εφαρµογή διαχείρισης. Η διαδικασία επαναλαµβάνεται για όλο το καθορισµένο χρονικό διάστηµα. Με τη λήξη αποστέλλεται σχετικό µήνυµα ολοκλήρωσης Αξιολόγηση ποιότητας παραγόµενου προϊόντος Ο έλεγχος ποιότητας του παραγόµενου προϊόντος αποτελεί έναν από τους σηµαντικότερους λόγους για την επιτήρηση µιας παραγωγικής διαδικασίας. Στη συγκεκριµένη εφαρµογή, ο έλεγχος υλοποιείται µε την επιτήρηση κρίσιµων παραµέτρων της γραµµής παραγωγής όπως: Πραγµατική τιµή ζύγισης από τον αυτόµατο ζυγό. Το βάρος του κάθε σάκου πρέπει να βρίσκεται εντός των ορίων της αποδεκτής απόκλισης από την επιθυµητή τιµή (±200 gr). Θερµοκρασία συγκόλλησης του σάκου. Η θερµοκρασία θα πρέπει να διατηρείται σταθερά εντός συγκεκριµένων ορίων απόκλισης από την επιθυµητή τιµή. Μεγαλύτερη ή µικρότερη θερµοκρασία έχει ως αποτέλεσµα την κακή συγκόλληση και αστοχία του σάκου (ενδεικτικές τιµές C). Γεωµετρία παραγόµενης παλέτας. Κατά το στοίβασµα των σάκων σε σειρές, η παραγόµενη παλέτα δεν πρέπει να αποκλίνει από συγκεκριµένα όρια. Τέτοια απόκλιση έχει ως συνέπεια προβλήµατα στη µεταφορά και αποθήκευση της παλέτας. Η υπηρεσία ζητά σε τακτά χρονικά διαστήµατα, µε ρυθµό µεγαλύτερο ή ίσο του ρυθµού ζυγίσεων της γραµµής τα ακόλουθα µεγέθη: Την πραγµατική τιµή ζύγισης από τον αυτόµατο ζυγό

63 Την τιµή του µετρητή ζυγίσεων από τον αυτόµατο ζυγό. Την τιµή θερµοκρασίας συγκόλλησης από τη συγκολλητική µηχανή. Την έξοδο (ενεργοποιηµένη ή µη) των αισθητηρίων ελέγχου γεωµετρίας της παλέτας από τη µηχανή παλετοποίησης. Την τιµή του µετρητή εξερχόµενων παλετών από τη µηχανή περιτύλιξης. Με µικρότερο ρυθµό, µεγαλύτερο πάντως ή ίσο µε το ρυθµό ολοκλήρωσης µίας παλέτας ζητά τις ακόλουθες παραµέτρους της γραµµής: Επιθυµητή τιµή ζύγισης σάκων. Επιθυµητή τιµή θερµοκρασίας συγκόλλησης. Αριθµός σάκων ανά στρώση παλέτας. Αριθµός στρώσεων παλέτας. Η υπηρεσία συσχετίζει τον κάθε σάκο µε µία τιµή βάρους και µία θερµοκρασία συγκόλλησης και κάθε παλέτα µε το µέγιστο της απόκλισης των δύο αυτών µεγεθών στους σάκους της παλέτας. Παράλληλα, χαρακτηρίζει την κάθε παλέτα µε βάση την ενεργοποίηση ή µη των αισθητηρίων ελέγχου της γεωµετρίας της. Ο χρήστης της υπηρεσίας εισάγει το συνολικό χρονικό διάστηµα για το οποίο θέλει να χρησιµοποιήσει την υπηρεσία. Λαµβάνει πίσω τον αριθµό του κάθε σάκου µε τις τιµές βάρους και θερµοκρασίας συγκόλλησης και τον αριθµό της κάθε παλέτας µε το µέγιστο της απόκλισης βάρους και θερµοκρασίας και το χαρακτηρισµό ενεργοποίησης των αισθητηρίων ελέγχου. Τα βήµατα της διεργασίας είναι: Επίκληση κατάστασης ενεργοποίησης ή µη ενεργοποίησης της γραµµής. Η ενεργοποίηση ελέγχεται µε επίκληση της µεθόδου getweighingmachinestate του αυτόµατου ζυγού και ανάγνωση της κατάστασης. Αν η γραµµή είναι ενεργοποιηµένη καλούνται οι µέθοδοι ανάγνωσης των παραµέτρων. Εκτελούνται οι µέθοδοι: getweighingvalue() getsealtemp() getpaletizingparameters() Μετά την ολοκλήρωση εκτέλεσης των µεθόδων αυτών καλούνται οι µέθοδοι ανάγνωσης των τιµών βάρους ζύγισης, θερµοκρασίας συγκόλλησης, τιµών µετρητών και αισθητηρίου ελέγχου γεωµετρίας: getweighingcounter() getpalletcounter() getweighingvalue() getsealtemp() getpaletizingmachinestate() Οι τιµές µετρητών, µεγεθών και παραµέτρων οδηγούνται στη µέθοδο qualitytags() που επιστρέφει τον αριθµό του κάθε σάκου µε τις τιµές βάρους και θερµοκρασίας συγκόλλησης και τον αριθµό της κάθε παλέτας µε το µέγιστο της

64 Όνοµα υπηρεσίας: LineQuality Σχήµα 23: ιάγραµµα δραστηριότητας της σύνθετης διεργασίας της υπηρεσίας LineQuality

65 απόκλισης βάρους και θερµοκρασίας και το χαρακτηρισµό ενεργοποίησης των αισθητηρίων ελέγχου. Η διαδικασία επαναλαµβάνεται για όλο το καθορισµένο χρονικό διάστηµα. Με τη λήξη αποστέλλεται σχετικό µήνυµα ολοκλήρωσης. Στο σχήµα 23 παρουσιάζεται η σύνθετη διεργασία της υπηρεσίας σε µορφή διαγράµµατος δραστηριότητας Περιγραφή µεθόδων της υπηρεσίας ιστού της γραµµής Στην προηγούµενη παράγραφο αναπτύχθηκαν τρεις σύνθετες υπηρεσίες ιστού µε αντικείµενο τη συνολική αξιολόγηση της γραµµής ενσάκισης. Για τη σύνθεση των υπηρεσιών αυτών χρησιµοποιούνται µέθοδοι συλλογής δεδοµένων που εκτελούνται στους µεσολαβητές και πρόσθετες µέθοδοι επεξεργασίας δεδοµένων που εκτελούνται στο σταθµό εργασίας του συστήµατος επιτήρησης της γραµµής. Για την επεξεργασία των δεδοµένων των µεσολαβητών χρησιµοποιούνται οι πρόσθετες µέθοδοι: calclineindexes() calclinerates() qualitytags() Για να είναι διαθέσιµες στους ενδιαφερόµενους πελάτες του διαδικτύου, οι µέθοδοι αυτές προσφέρονται ως υπηρεσία ιστού η οποία εκτελείται στο σταθµό επιτήρησης της γραµµής. Η µοντελοποίηση της κλάσης εφαρµογής της υπηρεσίας ιστού της γραµµής µε τη συνοπτική περιγραφή των χαρακτηριστικών και των µεθόδων της παριστάνεται στο σχήµα 23: BaggingLineServiceImpl LineIndexes: float [ ] LineRates: float [ ] QualTags: float [ ] float [ ] calclineindexes(int,,int) float [ ] calclinerates(int,..,int,float ) float [ ] qualitytags(float,,int) Εξυπηρετητής της γραµµής ενσάκισης. είκτες καλής λειτουργίας της γραµµής. Ρυθµός ζυγίσεων και ρυθµός παραγόµενων παλετών. Κρίσιµα ποιοτικά χαρακτηριστικά σάκων και παλετών. Υπολογίζει σε βάθος χρόνου και επιστρέφει τους δείκτες καλής λειτουργίας της γραµµής. Υπολογίζει σε βάθος χρόνου και επιστρέφει το ρυθµό ζυγίσεων και παραγόµενων παλετών. Επιστρέφει τα κρίσιµα ποιοτικά χαρακτηριστικά κάθε σάκου και παλέτας στην οποία ανήκει. Σχήµα 24: Κλάση εφαρµογής της υπηρεσίας ιστού της γραµµής ενσάκισης

66 Σχεδίαση της εφαρµογής διαχείρισης δεδοµένων Η εφαρµογή διαχείρισης δεδοµένων σχεδιάζεται ώστε να εξυπηρετήσει την ανάγκη επιτήρησης, συλλογής και αναπαράστασης δεδοµένων της γραµµής συσκευασίας. Συγκεκριµένα: Λειτουργώντας ως πελάτης (client) υπηρεσιών ιστού των εξυπηρετητών των µηχανών, συγκεντρώνει και αποθηκεύει πληροφορίες για τη λειτουργία των επί µέρους µηχανών της γραµµής συσκευασίας. Παράλληλα, µε επίκληση των σύνθετων υπηρεσιών που αναπτύχθηκαν στις προηγούµενες παραγράφους συλλέγει και αποθηκεύει τους δείκτες αξιολόγησης της γραµµής. Μέσω της διεπαφής (GUI) παρουσιάζει στο χρήστη πληροφορίες σχετικά µε την κατάσταση των επί µέρους µηχανών της γραµµής συσκευασίας, αλλά και της γραµµής συνολικά. Επίσης παρουσιάζει τους δείκτες αξιολόγησης της γραµµής. Παράλληλα, δέχεται τις εντολές του τελικού χρήστη µέσω της διεπαφής αυτής. Σχήµα 25: Βασικές κλάσεις της εφαρµογής διαχείρισης δεδοµένων

67 Ο βασικός σκελετός της εφαρµογής διαχείρισης δεδοµένων παριστάνεται στο σχήµα 24 µε ένα απλό διάγραµµα κλάσεων. Μέσω της οντότητας BaggingLineClient η εφαρµογή επικοινωνεί µε τους εξυπηρετητές µηχανών και γραµµής, συγκεντρώνοντας τα λειτουργικά δεδοµένα. Οι οντότητες: BaggingLine WeighingMachine BaggingMachine SealingMachine BagRedirectMachine PaletizingMachine WrappingMachine διαχειρίζονται µε τις µεθόδους τους τα δεδοµένα των µηχανών της γραµµής. Εκτελούν εργασίες όπως περαιτέρω επεξεργασία των δεδοµένων, αποθήκευση ή ανάγνωση από το δίσκο κλπ. Η οντότητα System_Controller συντονίζει και ελέγχει τη ροή εκτέλεσης των διεργασιών. Σε συνεργασία µε την οντότητα GraphicalUserInterface διαχειρίζεται την απεικόνιση πληροφοριών στην οθόνη και την προώθηση εντολών από το πληκτρολόγιο ή το ποντίκι του σταθµού εργασίας Μοντελοποίηση του πεδίου εφαρµογής µε ανάπτυξη οντολογίας σε γλώσσα OWL και περιγραφή των υπηρεσιών ιστού µε την οντολογία OWL-S Η οντολογία που αναπτύσσεται έχει στόχο να περιγράψει τα βασικά στοιχεία του εξοπλισµού της γραµµής συσκευασίας στην οποία εφαρµόζεται το σύστηµα επιτήρησης. Παράλληλα, διατυπώνεται µε τρόπο ώστε οι κλάσεις και οι ιδιότητές της να µπορούν να χρησιµοποιηθούν ως εργαλείο περιγραφής και στις υπόλοιπες γραµµές συσκευασίας της εταιρείας. Στην εφαρµογή αυτή η οντολογία περιγραφής της γραµµής χρησιµοποιείται σε συνδυασµό µε την σχετικά διαδεδοµένη (ως πρότυπο) οντολογία OWL-S, καθώς στόχος είναι µε το πρότυπο αυτό να περιγραφούν στους υποψήφιους χρήστες οι υπηρεσίες ιστού για τη συλλογή των δεδοµένων της γραµµής. Όπως αναφέρθηκε στο κεφάλαιο 2, η OWL-S είναι µία οντολογία των εννοιών των υπηρεσιών η οποία παρέχει στο σχεδιαστή των υπηρεσιών ιστού ένα βασικό σύνολο δοµών γλώσσας σήµανσης για την περιγραφή των ιδιοτήτων και των δυνατοτήτων των υπηρεσιών ιστού σε µεταφράσιµη από τους υπολογιστές µορφή. Για τη σηµασιολογική περιγραφή της κάθε υπηρεσίας ιστού της εφαρµογής θα πρέπει να κατασκευαστούν αντικείµενα για τις OWL-S κλάσεις Service, ServiceProfile, ServiceProcess και ServiceGrounding, µε τις υποκλάσεις και τις ιδιότητές τους. Οι κλάσεις της οντολογίας περιγραφής της γραµµής που αναπτύσσεται περιγράφουν έννοιες του πεδίου όπως: Αυτόνοµα µέρη της γραµµής (BaggingSegment) Αυτόνοµες µηχανές της γραµµής (WrappingMachine) Εφαρµογές λογισµικού (WSDLService) Προϊόντα (PaletizedFertilizer) Τύποι δεδοµένων (PLC_Controller_Counter)

68 Στην εικόνα οθόνης που ακολουθεί εµφανίζεται το δέντρο των κλάσεων της οντολογίας στο παράθυρο των κλάσεων της εφαρµογής Protégé: Εικόνα 26: Το παράθυρο των κλάσεων της εφαρµογής Protégé µε τις κλάσεις της οντολογίας. Οι ιδιότητες που συσχετίζουν τα αντικείµενα των κλάσεων παρουσιάζονται στο ακόλουθο παράθυρο (εικόνα 27):

69 Εικόνα 27: Το παράθυρο των ιδιοτήτων της εφαρµογής Protégé µε το πεδίο εφαρµογής της ιδιότητας providesdatathroughsws. Για παράδειγµα, στην εικόνα 27 παρουσιάζεται η ιδιότητα providesdatathroughsws που συσχετίζει µηχανές της γραµµής συσκευασίας µε τις σηµασιολογικές περιγραφές των υπηρεσιών. Η βάση γνώσης της οντολογίας συµπληρώνεται µε τον καθορισµό αντικειµένων της συγκεκριµένης εφαρµογής που γίνεται µε τη συµπλήρωση συγκεκριµένων τιµών στις ιδιότητες και τα χαρακτηριστικά των κλάσεων. Ένα παράδειγµα αντικειµένου είναι ο µεσολαβητής WServiceMediator_SM1 του οποίου τα χαρακτηριστικά παρουσιάζονται στην εικόνα 28 που ακολουθεί:

70 Εικόνα 28: Το παράθυρο των αντικειµένων της εφαρµογής Protégé µε τα χαρακτηριστικά του µεσολαβητή WServiceMediator_SM1. Η οντολογία περιγραφής της γραµµής συσκευασίας περιλαµβάνεται ολόκληρη ως έγγραφο owl στο παράρτηµα Γ της εργασίας. Για την περιγραφή των υπηρεσιών ως αντικειµένων σε γλώσσα OWL-S ακολουθείται η προσέγγιση «code-driven», χρησιµοποιείται δηλαδή o κώδικας των υπηρεσιών ως σηµείο εκκίνησης για την ολοκληρωµένη παραγωγή και περιγραφή τους. Έτσι, µε τη βοήθεια της υλοποίησης που περιγράφεται στο επόµενο κεφάλαιο, µε την τεχνολογία JAX-WS υλοποιείται ο κώδικας της κάθε υπηρεσίας και παράγεται η προδιαγραφή WSDL ώστε να περιγραφεί η διεπαφή επίκλησής της (service implementation). Κατόπιν, το έγγραφο WSDL εισάγεται στον OWL-S editor της εφαρµογής Protégé για τον ορισµό των υπηρεσιών - αντικειµένων σε γλώσσα OWL-S. Στο κεφάλαιο 6 που ακολουθεί αναπτύσσεται µία υλοποίηση της εφαρµογής που αναπτύσσεται στο κεφάλαιο 5 σε περιβάλλον Netbeans. Με τη βοήθεια της υλοποίησης αυτής περιγράφεται µε λεπτοµέρεια η διαδικασία ανάπτυξης και εγκατάστασης των υπηρεσιών ιστού και η ανάπτυξη των εγγράφων περιγραφής των υπηρεσιών σηµασιολογικού ιστού σε γλώσσα OWL-S. Με τις υπηρεσίες ιστού δηλωµένες ως αντικείµενα OWL-S ολοκληρώνεται η βάση γνώσης της εφαρµογής

71 6. Υλοποίηση της εφαρµογής του συστήµατος επιτήρησης της γραµµής συσκευασίας ως προσοµοίωση σε περιβάλλον Netbeans 6.1 Περιβάλλον και εργαλεία υλοποίησης Η πλήρης υλοποίηση της εφαρµογής του συστήµατος επιτήρησης που σχεδιάστηκε και αναπτύχθηκε στο κεφάλαιο 5 δεν είναι δυνατή στα πλαίσια της συγκεκριµένης εργασίας, καθώς απαιτεί την προµήθεια και εγκατάσταση εξοπλισµού όπως οι µεσολαβητές στις µηχανές της γραµµής συσκευασίας. Η υλοποίηση που παρουσιάζεται προσοµοιώνει το κοµµάτι του εξοπλισµού µε υπηρεσίες ιστού σε περιβάλλον Netbeans. Εντούτοις, ακολουθείται κατά την υλοποίηση ο σχεδιασµός που επελέγη για το σύστηµα επιτήρησης της γραµµής συσκευασίας. Πιο συγκεκριµένα: Ακολουθείται η αρχιτεκτονική SOA. Εφαρµόζεται η βασική δοµή των υπηρεσιών ιστού που περιγράφησαν για το σύστηµα επιτήρησης σε περιβάλλον Netbeans. Για την σηµασιολογική περιγραφή των υπηρεσιών εφαρµόζεται η τεχνολογία των σηµασιολογικών υπηρεσιών ιστού (SWS). Για την ανάπτυξη της εφαρµογής χρησιµοποιείται το ολοκληρωµένο περιβάλλον ανάπτυξης εφαρµογών Netbeans IDE Οι υπηρεσίες ιστού των επί µέρους µηχανών και του σταθµού επιτήρησης της γραµµής συσκευασίας υλοποιούνται ως προσοµοίωση µε χρήση της τεχνολογίας JAX-WS (Java API for XML Web Services) [37]. Όπως ήδη αναφέρθηκε, στην περίπτωση που η υλοποίηση εφαρµοζόταν στη γραµµή συσκευασίας, οι υπηρεσίες ιστού θα είχαν εγκατασταθεί στους µεσολαβητές των µηχανών και στο σταθµό επιτήρησης της γραµµής. Στην υλοποίηση που παρουσιάζεται οι υπηρεσίες εγκαθίστανται στον Glassfish server του συστήµατος. Οι µέθοδοι συλλογής δεδοµένων των µηχανών που σε µία υλοποίηση σε βιοµηχανική εγκατάσταση εκτελούνται στους µεσολαβητές συλλέγοντας τα ζητούµενα δεδοµένα από τις κάρτες Ι/Ο ή από τις µνήµες των PLC, στη συγκεκριµένη υλοποίηση προσοµοιώνονται από µεθόδους ανάγνωσης δεδοµένων από αρχεία του συστήµατος. Η σηµασιολογική περιγραφή των υπηρεσιών υλοποιείται µε τη βοήθεια του συντάκτη (editor) OWL-S της εφαρµογής Protégé. Συγκεκριµένα, για τη δηµιουργία του περιβάλλοντος επεξεργασίας χρησιµοποιείται το Protégé και το πρόσθετο (plug-in) owlseditor-build23. Ιδιαίτερα χρήσιµη για την ανάπτυξη και περιγραφή των σύνθετων υπηρεσιών ιστού είναι η εφαρµογή Graphviz που δίνει τη δυνατότητα γραφικής απεικόνισης των υπηρεσιών αυτών. Χρησιµοποιείται η έκδοση Graphviz Υλοποίηση ως προσοµοίωση της εφαρµογής των υπηρεσιών ιστού της γραµµής συσκευασίας Η διαδικασία υλοποίησης των υπηρεσιών ιστού στη JAX-WS ακολουθεί τα επόµενα βήµατα: 1. ηµιουργείται ένα νέο έργο (Project) της κατηγορίας Web Application. To όνοµα του συγκεκριµένου έργου είναι BaggingLineApplication και συµπεριλαµβάνει όλες τις υπηρεσίες ιστού της γραµµής συσκευασίας

72 2. ηµιουργούνται οι υπηρεσίες ιστού στο έργο µε τα ονόµατά τους. Ονοµάζεται το «package», η θέση δηλαδή των κλάσεων του έργου µε το όνοµα org.baggingline.machine. Τα ονόµατά των υπηρεσιών είναι: WeighingMachineWService SpoutBaggMachineWService SealingMachineWService BagRedirectMachineWService PaletizingMachineWService WrappingMachineWService BaggingLineWService Στην εικόνα οθόνης που ακολουθεί παρουσιάζεται το παράθυρο των έργων (projects) του περιβάλλοντος Netbeans IDE µε το έργο BaggingLineApplication και τις υπηρεσίες που περιλαµβάνει. Εικόνα 29: Το παράθυρο των έργων (projects) του περιβάλλοντος Netbeans IDE µε το έργο BaggingLineApplication και τις υπηρεσίες του

73 3. Γράφεται σε γλώσσα java ο κώδικας των µεθόδων των υπηρεσιών µε τις παραµέτρους και τους τύπους των παραµέτρων. Τα ονόµατα των µεθόδων, οι παράµετροι και οι τύποι λαµβάνονται από τον πίνακα 2 του κεφαλαίου 5. Οι µέθοδοι υλοποιούνται µε ανάγνωση των δεδοµένων από αρχεία του συστήµατος προσοµοιώνοντας έτσι την ανάγνωση των δεδοµένων από κάρτες Ι/Ο και καταχωρητές των PLC που θα πραγµατοποιούνταν σε ένα ανάλογο σύστηµα εγκατεστηµένο σε πραγµατικές µηχανές. Ο κώδικας που ακολουθεί περιέχεται στο αρχείο WeighingMachineWService.java και είναι ο κώδικας των µεθόδων της υπηρεσίας WeighingMachineWService. package org.baggingline.machine; import javax.jws.webmethod; import javax.jws.webparam; import javax.jws.webservice; //New imports import java.io.filenotfoundexception; import java.io.ioexception; import java.io.file; import java.util.scanner; import java.util.inputmismatchexception; /** Σπύρος This web service offers the methods to read data of Weighing Machine public class WeighingMachineWService { /** * Web service operation to read and return digital I/O values from file = "getweighingmachinestate") public int[] getweighingmachinestate(@webparam(name = "CardNumber") int CardNumber ) throws InputMismatchException, FileNotFoundException{ int[] IOstatus = new int[8*cardnumber]; Scanner scanner = null; try { File file = new File ("C:/Users/Σπύρος/Documents/NetBeansProjects/BaggingLineApplication/buil d/web/web-inf/classes/weighingmstatevalues.dat"); scanner = new Scanner(file); int i=0; while (scanner.hasnext() && i<8*cardnumber) { IOstatus[i] = scanner.nextint(); i=i+1; scanner.close(); catch(filenotfoundexception fe) {

74 System.out.println("Service failed to read weighing machine state data " + fe); throw new FileNotFoundException("Service failed to read weighing machine state data"); catch(inputmismatchexception ie) { System.out.println("Service failed to read weighing machine state data " + ie); throw new InputMismatchException("Service failed to read weighing machine state data"); finally { scanner.close(); return IOstatus; /** * Web service operation to read and return weighing values from file = "getweighingvalue") public float[] getweighingvalue(@webparam(name = "WeighingNumber") int WeighingNumber) throws InputMismatchException, FileNotFoundException{ Scanner scanner = null; float[] WeighingValue = new float[weighingnumber]; try { File file = new File("C:/Users/Σπύρος/Documents/NetBeansProjects/BaggingLineApplication/ build/web/web-inf/classes/weighingmweighingvalues.dat"); scanner = new Scanner(file); int i=0; while (scanner.hasnextdouble() && i<weighingnumber) { WeighingValue[i] = (float) scanner.nextdouble(); i=i+1; scanner.close(); catch(filenotfoundexception fe) { System.out.println("Service failed to read weighing machine weighing value data " + fe); throw new FileNotFoundException("Service failed to read weighing machine weighing value data"); catch(inputmismatchexception ie) { System.out.println("Service failed to read weighing machine weighing value data " + ie); throw new InputMismatchException("Service failed to read weighing machine weighing value data"); finally { scanner.close(); return WeighingValue;

75 /** * Web service operation to read and return weighing error from file = "getweighingerror") public float getweighingerror(@webparam(name = "WeighingNumberError") int WeighingNumberError)throws InputMismatchException, FileNotFoundException { float WeighingError=0; Scanner scanner = null; try { File file = new File("C:/Users/Σπύρος/Documents/NetBeansProjects/BaggingLineApplication/ build/web/web-inf/classes/weighingmweighingerror.dat"); scanner = new Scanner(file); int i=0; while (scanner.hasnextdouble() && i<weighingnumbererror) { WeighingError = WeighingError + (float) scanner.nextdouble(); i=i+1; WeighingError = WeighingError/WeighingNumberError; scanner.close(); catch(filenotfoundexception fe) { System.out.println("Service failed to read weighing machine weighing error data " + fe); throw new FileNotFoundException("Service failed to read weighing machine weighing error data"); catch(inputmismatchexception ie) { System.out.println("Service failed to read weighing machine weighing error data " + ie); throw new InputMismatchException("Service failed to read weighing machine weighing error data"); finally { scanner.close(); return WeighingError; /** * Web service operation to read and return the weighing counter from file = "getweighingcounter") public int getweighingcounter() throws InputMismatchException, FileNotFoundException{ int WeighingCounter=0; Scanner scanner = null; try { File file = new File("C:/Users/Σπύρος/Documents/NetBeansProjects/BaggingLineApplication/ build/web/web-inf/classes/weighingmweighingcounter.dat");

76 scanner = new Scanner(file); WeighingCounter = scanner.nextint(); scanner.close(); catch(filenotfoundexception fe) { System.out.println("Service failed to read weighing machine weighing error data " + fe); throw new FileNotFoundException("Service failed to read weighing machine weighing error data"); catch(inputmismatchexception ie) { System.out.println("Service failed to read weighing machine weighing error data " + ie); throw new InputMismatchException("Service failed to read weighing machine weighing error data"); finally { scanner.close(); return WeighingCounter; Λίστα 2: Ο κώδικας (source code) σε java της κλάσης WeighingMachineWService. Οι µέθοδοι που περιλαµβάνονται στη συγκεκριµένη υπηρεσία είναι οι: getweighingmachinestate getweighingvalue getweighingerror getweighingcounter Οι µέθοδοι καλούνται για την ανάγνωση των δεδοµένων και την αποστολή τους στον ενδιαφερόµενο πελάτη. Στις µεθόδους υλοποιείται ένας απλός χειρισµός εξαιρέσεων: για την αποτυχία εύρεσης του ζητούµενου αρχείου δεδοµένων. για την αποτυχία ανάγνωσης δεδοµένων από το αρχείο δεδοµένων. Ο κώδικας των µεθόδων των υπολοίπων υπηρεσιών ιστού της εφαρµογής περιλαµβάνεται στο παράρτηµα Α της διπλωµατικής εργασίας και έχουν παρόµοια λογική µε τον κώδικα που παρουσιάστηκε ως παράδειγµα. ιαφορετική είναι µόνο η λογική των µεθόδων της BaggingLineWService οι οποίες υπολογίζουν απλούς δείκτες αξιολόγησης λειτουργίας της γραµµής. Περιλαµβάνονται και αυτές στο παράρτηµα Α. 4. Οι υπηρεσίες ιστού εγκαθίστανται (deploy) στον εξυπηρετητή Glassfish. Μετά την επιτυχή εγκατάστασή τους µπορούν να κληθούν και να ελεγχθούν µε τη βοήθεια του WS Tester των Netbeans. Με την εγκατάσταση δηµιουργούνται τα έγγραφα WSDL των υπηρεσιών ιστού σε συγκεκριµένες διευθύνσεις. Συγκεκριµένα το έγγραφο WSDL της υπηρεσίας WeighingMachineWService βρίσκεται στη διεύθυνση:

77 SDL Παράλληλα στη διεύθυνση: d=1 δηµιουργείται έγγραφο xml schema από το οποίο εισάγονται οι τύποι των δεδοµένων. To έγγραφο WSDL που δηµιουργείται για την WeighingMachineWService παρουσιάζεται ως παράδειγµα στην ακόλουθη λίστα: <?xml version="1.0" encoding="utf-8"?> <!-- Published by JAX-WS RI at RI's version is JAX-WS RI hudson > <!-- Generated by JAX-WS RI at RI's version is JAX-WS RI hudson > -<definitions xmlns=" name="weighingmachinewserviceservice" targetnamespace=" xmlns:xsd=" xmlns:tns=" xmlns:soap=" xmlns:wsam=" xmlns:wsp1_2=" xmlns:wsp=" xmlns:wsu=" -<types> -<xsd:schema> <xsd:import schemalocation=" hinewserviceservice?xsd=1" namespace=" </xsd:schema> </types> -<message name="getweighingmachinestate"> <part name="parameters" element="tns:getweighingmachinestate"/> </message> -<message name="getweighingmachinestateresponse"> <part name="parameters" element="tns:getweighingmachinestateresponse"/> </message> -<message name="filenotfoundexception"> <part name="fault" element="tns:filenotfoundexception"/> </message> -<message name="getweighingvalue"> <part name="parameters" element="tns:getweighingvalue"/> </message> -<message name="getweighingvalueresponse"> <part name="parameters" element="tns:getweighingvalueresponse"/> </message> -<message name="getweighingerror"> <part name="parameters" element="tns:getweighingerror"/> </message> -<message name="getweighingerrorresponse"> <part name="parameters" element="tns:getweighingerrorresponse"/> </message> -<message name="getweighingcounter"> <part name="parameters" element="tns:getweighingcounter"/> </message> -<message name="getweighingcounterresponse"> <part name="parameters" element="tns:getweighingcounterresponse"/> </message> -<porttype name="weighingmachinewservice"> -<operation name="getweighingmachinestate"> <input message="tns:getweighingmachinestate" wsam:action=" eighingmachinestaterequest"/>

78 <output message="tns:getweighingmachinestateresponse" wsam:action=" eighingmachinestateresponse"/> <fault name="filenotfoundexception" message="tns:filenotfoundexception" wsam:action=" eighingmachinestate/fault/filenotfoundexception"/> </operation> -<operation name="getweighingvalue"> <input message="tns:getweighingvalue" wsam:action=" eighingvaluerequest"/> <output message="tns:getweighingvalueresponse" wsam:action=" eighingvalueresponse"/> <fault name="filenotfoundexception" message="tns:filenotfoundexception" wsam:action=" eighingvalue/fault/filenotfoundexception"/> </operation> -<operation name="getweighingerror"> <input message="tns:getweighingerror" wsam:action=" eighingerrorrequest"/> <output message="tns:getweighingerrorresponse" wsam:action=" eighingerrorresponse"/> <fault name="filenotfoundexception" message="tns:filenotfoundexception" wsam:action=" eighingerror/fault/filenotfoundexception"/> </operation> -<operation name="getweighingcounter"> <input message="tns:getweighingcounter" wsam:action=" eighingcounterrequest"/> <output message="tns:getweighingcounterresponse" wsam:action=" eighingcounterresponse"/> <fault name="filenotfoundexception" message="tns:filenotfoundexception" wsam:action=" eighingcounter/fault/filenotfoundexception"/> </operation> </porttype> -<binding name="weighingmachinewserviceportbinding" type="tns:weighingmachinewservice"> <soap:binding style="document" transport=" -<operation name="getweighingmachinestate"> <soap:operation soapaction=""/> -<input> <soap:body use="literal"/> </input> -<output> <soap:body use="literal"/> </output> -<fault name="filenotfoundexception"> <soap:fault name="filenotfoundexception" use="literal"/> </fault> </operation> -<operation name="getweighingvalue"> <soap:operation soapaction=""/> -<input> <soap:body use="literal"/> </input> -<output> <soap:body use="literal"/> </output> -<fault name="filenotfoundexception"> <soap:fault name="filenotfoundexception" use="literal"/> </fault>

79 </operation> -<operation name="getweighingerror"> <soap:operation soapaction=""/> -<input> <soap:body use="literal"/> </input> -<output> <soap:body use="literal"/> </output> -<fault name="filenotfoundexception"> <soap:fault name="filenotfoundexception" use="literal"/> </fault> </operation> -<operation name="getweighingcounter"> <soap:operation soapaction=""/> -<input> <soap:body use="literal"/> </input> -<output> <soap:body use="literal"/> </output> -<fault name="filenotfoundexception"> <soap:fault name="filenotfoundexception" use="literal"/> </fault> </operation> </binding> -<service name="weighingmachinewserviceservice"> -<port name="weighingmachinewserviceport" binding="tns:weighingmachinewserviceportbinding"> <soap:address location=" erviceservice"/> </port> </service> </definitions> Λίστα 3: Περιεχόµενο του εγγράφου WSDL της υπηρεσίας ιστού του αυτόµατου ζυγού. Το έγγραφο WSDL αποτελεί την αυτόνοµη περιγραφή WSDL της υπηρεσίας ιστού του αυτόµατου ζυγού µε την οποία συνδέονται (grounding) οι υπηρεσίες σηµασιολογικού ιστού που χρησιµοποιούν τις λειτουργίες του αυτόµατου ζυγού. Όπως αναφέρθηκε στο κεφάλαιο 2, η σύνδεση OWL-S/WSDL grounding συνεπάγεται τη συµπληρωµατική χρήση των δύο γλωσσών µε τρόπο σύµφωνο µε τις προθέσεις της προδιαγραφής WSDL. Στο επόµενο κεφάλαιο περιγράφεται η δηµιουργία υπηρεσιών σηµασιολογικού ιστού µε την εφαρµογή οντολογιών OWL-S. Τα έγγραφα WSDL των υπολοίπων υπηρεσιών ιστού της εφαρµογής περιλαµβάνονται στο παράρτηµα Β της διπλωµατικής εργασίας. 6.3 Υπηρεσίες σηµασιολογικού ιστού του αυτόµατου ζυγού µε οντολογίες OWL-S Η σηµασιολογική περιγραφή των υπηρεσιών αναπτύσσεται µε τη βοήθεια του συντάκτη (editor) OWL-S της εφαρµογής Protégé. Πρέπει να δηµιουργηθούν αντικείµενα για τις κλάσεις service, profile, process και grounding. Το σχήµα που ακολουθεί απεικονίζει τις σχέσεις µεταξύ των τεσσάρων αυτών υψηλού επιπέδου κλάσεων της OWL-S:

80 Σχήµα 30: Οι κλάσεις υψηλού επιπέδου της οντολογίας των υπηρεσιών και οι σχέσεις µεταξύ τους. Κάθε µία µέθοδος της υπηρεσίας ιστού του αυτόµατου ζυγού µπορεί να περιγραφεί ως µία ατοµική διεργασία, δηλαδή ως ένα αντικείµενο της κλάσης process (process instance). Συνήθως οι υπηρεσίες ιστού περιέχουν περισσότερες από µία µεθόδους όπως και η υπηρεσία ιστού του αυτόµατου ζυγού που περιλαµβάνει τέσσερεις. Εντούτοις, η γλώσσα OWL-S δεν προβλέπει δοµή για την οµαδοποίηση διεργασιών [26]. Έτσι, η πλήρης σηµασιολογική περιγραφή της υπηρεσίας πρέπει να ορίζει τέσσερεις διαφορετικές ατοµικές διεργασίες. Για τη δηµιουργία περιβάλλοντος ανάπτυξης της σηµασιολογικής περιγραφής των υπηρεσιών εκτελείται η εφαρµογή Protégé και ενεργοποιείται ο συντάκτης OWL-S. Για την ανάπτυξη της σηµασιολογικής περιγραφής των υπηρεσιών χρησιµοποιείται η δυνατότητα που δίνει ο συντάκτης OWL-S του Protégé για τη δηµιουργία µεγάλου µέρους της περιγραφής µε την εισαγωγή των πληροφοριών του εγγράφου WSDL του grounding των υπηρεσιών σηµασιολογικού ιστού. Στο παράθυρο εισαγωγής δεδοµένων του συντάκτη πληκτρολογείται η διεύθυνση URL του εγγράφου WSDL:

81 Εικόνα 31: Παράθυρο εισαγωγής δεδοµένων από έγγραφο WSDL του συντάκτη OWL-S. Όπως φαίνεται στην εικόνα 31, στο παράθυρο εµφανίζονται όλες οι ορισµένες µέθοδοι στο έγγραφο WSDL. Μία προς µία οι µέθοδοι επιλέγονται και εισάγονται στο συντάκτη. Με την εισαγωγή της κάθε µεθόδου δηµιουργείται αυτόµατα ένα αρχείο µε προέκταση.owl το οποίο αποτελεί την σηµασιολογική περιγραφή µιας απλής υπηρεσίας. Πέρα από τις τιµές των παραµέτρων που δηµιουργούνται αυτόµατα, εισάγονται µε πληκτρολόγηση πρόσθετες επιθυµητές τιµές παραµέτρων. Στην εικόνα 32 παρουσιάζονται ως παράδειγµα στο παράθυρο των αντικειµένων, τα αντικείµενα των κλάσεων υψηλού επιπέδου της getweighingcounterservice

82 Εικόνα 32: Παράθυρο αντικειµένων των κλάσεων service, profile, process και grounding της υπηρεσίας getweighingcounterservice. Οι λίστες 4 και 5 που ακολουθούν είναι το περιεχόµενο των εγγράφων σηµασιολογικής περιγραφής owl των υπηρεσιών του αυτόµατου ζυγού getweighingcounterservice και getweighingerrorservice: <?xml version="1.0"?> <rdf:rdf xmlns:profile=" xmlns:service=" xmlns:process=" xmlns:swrl=" xmlns:grounding=" xmlns:rdf=" xmlns:list=" xmlns:rdfs=" xmlns:owl=" xmlns:expression=" xmlns:daml="

83 xmlns=" xml:base=" <owl:ontology rdf:about=""> <owl:imports rdf:resource=" <owl:imports rdf:resource=" <owl:imports rdf:resource=" <owl:imports rdf:resource=" </owl:ontology> <service:service rdf:id="getweighingcounterservice"> <service:presents> <profile:profile rdf:id="getweighingcounterprofile"/> </service:presents> <service:describedby> <process:atomicprocess rdf:id="getweighingcounterprocess"/> </service:describedby> <service:supports> <grounding:wsdlgrounding rdf:id="getweighingcountergrounding"/> </service:supports> </service:service> <profile:profile rdf:about="#getweighingcounterprofile"> <service:presentedby rdf:resource="#getweighingcounterservice"/> <profile:servicename>getweighingcounter</profile:servicename> <profile:textdescription>auto generated from ice?wsdl</profile:textdescription> <profile:hasoutput> <process:output rdf:id="return"> <rdfs:label>return</rdfs:label> <process:parametertype > </process:output> </profile:hasoutput> </profile:profile> <process:atomicprocess rdf:about="#getweighingcounterprocess"> <rdfs:label>getweighingcounterprocess</rdfs:label> <service:describes rdf:resource="#getweighingcounterservice"/> <process:hasoutput rdf:resource="#return"/> </process:atomicprocess> <grounding:wsdlgrounding rdf:about="#getweighingcountergrounding"> <service:supportedby rdf:resource="#getweighingcounterservice"/> <grounding:hasatomicprocessgrounding> <grounding:wsdlatomicprocessgrounding rdf:id="getweighingcounteratomicprocessgrounding"/> </grounding:hasatomicprocessgrounding> </grounding:wsdlgrounding> <grounding:wsdlatomicprocessgrounding rdf:about="#getweighingcounteratomicprocessgrounding"> <grounding:owlsprocess rdf:resource="#getweighingcounterprocess"/> <grounding:wsdloperation> <grounding:wsdloperationref> <grounding:operation > vice?wsdl#getweighingcounter</grounding:operation>

84 <grounding:porttype > vice?wsdl#weighingmachinewserviceport</grounding:porttype> </grounding:wsdloperationref> </grounding:wsdloperation> <grounding:wsdldocument > vice?wsdl</grounding:wsdldocument> <grounding:wsdlinputmessage > Message> <grounding:wsdloutputmessage > sdloutputmessage> <grounding:wsdloutput> <grounding:wsdloutputmessagemap> <grounding:owlsparameter rdf:resource="#return"/> <grounding:wsdlmessagepart > vice?wsdl#return</grounding:wsdlmessagepart> </grounding:wsdloutputmessagemap> </grounding:wsdloutput> </grounding:wsdlatomicprocessgrounding> <owl:class rdf:about=" </rdf:rdf> Λίστα 4: Περιεχόµενο του εγγράφου owl της υπηρεσίας σηµασιολογικού ιστού getweighingcounterservice. <?xml version="1.0"?> <rdf:rdf xmlns:profile=" xmlns=" xmlns:service=" xmlns:process=" xmlns:swrl=" xmlns:grounding=" xmlns:rdf=" xmlns:list=" xmlns:rdfs=" xmlns:owl=" xmlns:expression=" xmlns:daml=" xml:base=" <owl:ontology rdf:about="">

85 <owl:imports rdf:resource=" <owl:imports rdf:resource=" <owl:imports rdf:resource=" <owl:imports rdf:resource=" </owl:ontology> <service:service rdf:id="getweighingerrorservice"> <service:presents> <profile:profile rdf:id="getweighingerrorprofile"/> </service:presents> <service:describedby> <process:atomicprocess rdf:id="getweighingerrorprocess"/> </service:describedby> <service:supports> <grounding:wsdlgrounding rdf:id="getweighingerrorgrounding"/> </service:supports> </service:service> <profile:profile rdf:about="#getweighingerrorprofile"> <service:presentedby rdf:resource="#getweighingerrorservice"/> <profile:servicename>getweighingerror</profile:servicename> <profile:textdescription>auto generated from ice?wsdl</profile:textdescription> <profile:hasinput> <process:input rdf:id="weighingnumbererror"> <rdfs:label>weighingnumbererror</rdfs:label> <process:parametertype > </process:input> </profile:hasinput> <profile:hasoutput> <process:output rdf:id="return"> <rdfs:label>return</rdfs:label> <process:parametertype > </process:output> </profile:hasoutput> </profile:profile> <process:atomicprocess rdf:about="#getweighingerrorprocess"> <rdfs:label>getweighingerrorprocess</rdfs:label> <service:describes rdf:resource="#getweighingerrorservice"/> <process:hasinput rdf:resource="#weighingnumbererror"/> <process:hasoutput rdf:resource="#return"/> </process:atomicprocess> <grounding:wsdlgrounding rdf:about="#getweighingerrorgrounding"> <service:supportedby rdf:resource="#getweighingerrorservice"/> <grounding:hasatomicprocessgrounding> <grounding:wsdlatomicprocessgrounding rdf:id="getweighingerroratomicprocessgrounding"/> </grounding:hasatomicprocessgrounding> </grounding:wsdlgrounding> <grounding:wsdlatomicprocessgrounding rdf:about="#getweighingerroratomicprocessgrounding"> <grounding:owlsprocess rdf:resource="#getweighingerrorprocess"/> <grounding:wsdloperation> <grounding:wsdloperationref>

86 <grounding:operation > vice?wsdl#getweighingerror</grounding:operation> <grounding:porttype > vice?wsdl#weighingmachinewserviceport</grounding:porttype> </grounding:wsdloperationref> </grounding:wsdloperation> <grounding:wsdldocument > vice?wsdl</grounding:wsdldocument> <grounding:wsdlinputmessage > ssage> <grounding:wsdloutputmessage > loutputmessage> <grounding:wsdlinput> <grounding:wsdlinputmessagemap> <grounding:owlsparameter rdf:resource="#weighingnumbererror"/> <grounding:wsdlmessagepart > vice?wsdl#weighingnumbererror</grounding:wsdlmessagepart> </grounding:wsdlinputmessagemap> </grounding:wsdlinput> <grounding:wsdloutput> <grounding:wsdloutputmessagemap> <grounding:owlsparameter rdf:resource="#return"/> <grounding:wsdlmessagepart > vice?wsdl#return</grounding:wsdlmessagepart> </grounding:wsdloutputmessagemap> </grounding:wsdloutput> </grounding:wsdlatomicprocessgrounding> <owl:class rdf:about=" </rdf:rdf> Λίστα 5: Περιεχόµενο του εγγράφου owl της υπηρεσίας σηµασιολογικού ιστού getweighingerrorservice. Με την ίδια διαδικασία, όλες οι µέθοδοι που περιλαµβάνονται στις υπηρεσίες της υλοποίησης της εφαρµογής εισάγονται στο συντάκτη OWL-S και περιγράφονται ως υπηρεσίες σηµασιολογικού ιστού, κάθε µία µε το δικό της αρχείο owl. Με την ολοκλήρωση της διαδικασίας το παράθυρο του έργου έχει τα περιεχόµενα που παρουσιάζονται στην ακόλουθη εικόνα:

87 Εικόνα 33: Παράθυρο του έργου της εφαρµογής Protégé που εµφανίζει τις απλές υπηρεσίες της γραµµής συσκευασίας. Τα υπόλοιπα έγγραφα OWL-S που αποτελούν τη σηµασιολογική περιγραφή των απλών υπηρεσιών της γραµµής, συνολικά 17, περιλαµβάνονται στο παράρτηµα της εργασίας

88 6.4 Σηµασιολογική περιγραφή των σύνθετων διεργασιών της εφαρµογής Στη συγκεκριµένη υλοποίηση θα περιγραφούν οι δύο πρώτες σύνθετες διεργασίες που σχεδιάζονται στις παραγράφους και µε ονόµατα των αντίστοιχων υπηρεσιών OperatingIndexesCalc και LineEfficiency. Για τη δηµιουργία τους θα χρησιµοποιηθεί ο συντάκτης OWL-S, ο οποίος δίνει τη δυνατότητα γραφικής απεικόνισης τόσο της ροής ελέγχου όσο και των ατοµικών διεργασιών που συνθέτουν µία σύνθετη διεργασία. Επίσης, δίνει τη δυνατότητα εφαρµογής όλων των δοµών ελέγχου της γλώσσας OWL-S. Για λόγους καλύτερης οργάνωσης δηµιουργείται ένα νέο έργο µε το όνοµα BaggingLineApplicationC.pprj στο οποίο εντάσσονται όλες οι ατοµικές διεργασίες της εφαρµογής οι οποίες χρησιµοποιούνται για τη δηµιουργία των σύνθετων διεργασιών. Στην ακόλουθη εικόνα (εικόνα 34) παρουσιάζεται το παράθυρο εργασίας του Protégé για την δηµιουργία των σύνθετων διεργασιών. Στην εικόνα φαίνονται οι ατοµικές διεργασίες που θα χρησιµοποιηθούν και το όνοµα της πρώτης σύνθετης διεργασίας

89 Εικόνα 34: Παράθυρο εργασίας µε τις ατοµικές διεργασίες του έργου και παράθυρο της γραφικής αναπαράστασης. Με τη βοήθεια του συντάκτη OWL-S και της γραφικής αναπαράστασης αναπτύσσονται οι σύνθετες διεργασίες στις οποίες δίνονται τα ονόµατα OperatingIndexesCalc και LineEfficiency. Η γραφική αναπαράστασή µετά την ανάπτυξή τους παρουσιάζεται στις εικόνες 35 και 36 που ακολουθούν:

90 Εικόνα 35: Γραφική αναπαράσταση της σύνθετης υπηρεσίας OperatingIndexesCalc

91 Εικόνα 36: Γραφική αναπαράσταση της σύνθετης υπηρεσίας LineEfficiency. Το έγγραφο OWL-S που αποτελεί τη σηµασιολογική περιγραφή των δύο σύνθετων υπηρεσιών της γραµµής περιλαµβάνεται στο παράρτηµα της εργασίας (Έγγραφο 18)

92 6.5 Υλοποίηση εφαρµογής πελάτη των υπηρεσιών για την επιτήρηση του αυτόµατου ζυγού της γραµµής συσκευασίας Για την πληρέστερη παρουσίαση των δυνατοτήτων που προσφέρονται από το σύστηµα υπηρεσιών που υλοποιήθηκε, αναπτύσσεται µία εφαρµογή πελάτης (client) µε αντικείµενο την επιτήρηση του αυτόµατου ζυγού της γραµµής συσκευασίας. Η εφαρµογή αυτή: Αξιοποιεί τη σηµασιολογική περιγραφή των υπηρεσιών σηµασιολογικού ιστού που περιέχεται στα αρχεία owl. Εκτελεί τις υπηρεσίες WSDL (grounding) που προσφέρονται από το σύστηµα για την παρουσίαση των δεδοµένων στο χρήστη. Για την ανάγνωση και επεξεργασία της σηµασιολογικής περιγραφής των υπηρεσιών χρησιµοποιούνται µέθοδοι του java OWL-S API που αναπτύχθηκε και συντηρείται στα πλαίσια του προγράµµατος OSIRIS Next του πανεπιστηµίου της Βασιλείας [43]. Για την εκτέλεση των υπηρεσιών χρησιµοποιείται η τεχνολογία JAX-WS. Για την επικοινωνία χειριστή και εφαρµογής αναπτύσσεται µε τη βοήθεια της βιβλιοθήκης java Swing µία διεπαφή GUI. Τα παράθυρα της διεπαφής παρουσιάζονται στην εικόνα 37 που ακολουθεί: Εικόνα 37: Παράθυρα της διεπαφής της εφαρµογής πελάτη για την επιτήρηση του αυτόµατου ζυγού της γραµµής συσκευασίας

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

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Χρήστος Ηλιούδης Πλεονεκτήματα των Υπηρεσιών Ιστού Διαλειτουργικότητα: Η χαλαρή σύζευξή τους οδηγεί στην ανάπτυξη ευέλικτου λογισμικού

Διαβάστε περισσότερα

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Ορισμός των Web Services

Διαβάστε περισσότερα

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

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ: ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: Υπολογιστικά Συστήµατα & Τεχνολογίες Πληροφορικής ΣΥΓΓΡΑΦΕΑΣ: Γιώργος Γιαννόπουλος, διδακτορικός φοιτητής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΟΝΤΟΛΟΓΙΕΣ, ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ ΣΩΤΗΡΙΟΣ ΓΟΥΔΟΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ Κ.ΤΑΡΑΜΠΑΝΗΣ ΕΞΕΤΑΣΤΗΣ

Διαβάστε περισσότερα

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

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

Διαβάστε περισσότερα

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

Σχεδιασµός Ανάπτυξη Οντολογίας Σχεδιασµός Ανάπτυξη Οντολογίας ΈλεναΜάντζαρη, Γλωσσολόγος, Ms.C. ΙΑΤΡΟΛΕΞΗ: Ανάπτυξη Υποδοµής Γλωσσικής Τεχνολογίας για το Βιοϊατρικό Τοµέα Τι είναι η οντολογία; Μιαοντολογίαείναιέναλεξικόόρωνπου διατυπώνονται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα με Java. Ενότητα # 18: Υπηρεσίες Ιστού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα με Java. Ενότητα # 18: Υπηρεσίες Ιστού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα με Java Ενότητα # 18: Υπηρεσίες Ιστού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

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

Μεταπτυχιακή Διατριβή Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Υπηρεσία Αυτόματης Ανάκτησης Συνδεδεμένης Δομής Θεματικών Επικεφαλίδων μέσω

Διαβάστε περισσότερα

* Enterprise Resource Planning ** Customer Relationship Management

* Enterprise Resource Planning ** Customer Relationship Management Υπηρεσιοστρεφείς Επιχειρησιακές ιαδικασίες ιαµοιρασµός και Επαναχρησιµοποίηση Αποτελούν βασικές απαιτήσειςκατά το σχεδιασµό και την ολοκλήρωση (integration) επιχειρησιακών διαδικασιών ιαµοιρασµός: πολλοί

Διαβάστε περισσότερα

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

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό Αλέξανδρος Βαλαράκος (alexv@iit.demokritos.gr) (alexv@aegean.gr) Υποψήφιος ιδάκτορας Τµήµα Μηχανικών Υπολογιστικών και Πληροφοριακών Συστηµάτων.

Διαβάστε περισσότερα

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

Τεχνικές Προδιαγραφές ιαλειτουργικότητας ΤΕΧΝΙΚΕΣ ΠΡΟ ΙΑΓΡΑΦΕΣ ΕΙΓΜΑ ΠΑΡΑΡΤΗΜΑΤΟΣ ΙΑΓΩΝΙΣΜΟΥ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «Κοινωνία της Πληροφορίας» http://www.infosociety.gr Μάιος 2003 Τεχνικές Προδιαγραφές ιαλειτουργικότητας

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη πληροφοριακών συστηµάτων οµή παρουσίασης Τεχνολογική-Ιστορική Επισκόπηση Φάσεις Ανάπτυξης Πληροφοριακού Συστήµατος

Διαβάστε περισσότερα

28 Πολυπρακτορικά Συστήµατα

28 Πολυπρακτορικά Συστήµατα ΚΕΦΑΛΑΙΟ 28 28 Πολυπρακτορικά Συστήµατα "There is no such thing as a single agent system". [Woodridge, 2002] Η παραπάνω ρήση από το βιβλίο του M.Wooldridge τονίζει, ίσως µε περισσή έµφαση, ότι είναι πλέον

Διαβάστε περισσότερα

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

Παραδοτέο Π.2.1. Υπερχώρος και διαχείριση μοντέλων Έργο: Τίτλος Υποέργου: «ΘΑΛΗΣ: Ενίσχυση της Διεπιστημονικής ή και Διιδρυματικής έρευνας και καινοτομίας με δυνατότητα προσέλκυσης ερευνητών υψηλού επιπέδου από το εξωτερικό μέσω της διενέργειας βασικής

Διαβάστε περισσότερα

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

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΣΠΟΥ ΑΣΤΗΣ: Γιαννόπουλος Γεώργιος ΕΠΙΒΛΕΠΩΝ: Καθ. Ι. Βασιλείου ΒΟΗΘΟΙ: Α. ηµητρίου, Θ. αλαµάγκας Γενικά Οι µηχανές αναζήτησης

Διαβάστε περισσότερα

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

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Ελένη Καλδούδη Τμήμα Ιατρικής Δημοκρίτειο Πανεπιστήμιο Θράκης 2003 θέματα το χθές, το σήμερα και το αύριο για τα PACS απαιτήσεις από

Διαβάστε περισσότερα

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

Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Υπηρεσίες Ιστού (Web Services) Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Περιεχόμενα Εισαγωγή στις Υπηρεσίες Ιστού Ορισμοί Παραδείγματα Σύγκριση με άλλες τεχνολογίες Πρωτόκολλα Υπηρεσιών Ιστού SOAP

Διαβάστε περισσότερα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

Διαβάστε περισσότερα

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol)

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol) Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας Κέρκυρα ίκτυα - Internet 2 Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) ΜηχανέςΑναζήτησηςστοWeb Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Υποδείγματα Ανάπτυξης

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

Διαβάστε περισσότερα

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 1: Σημασιολογία και Μεταδεδομένα Μ.Στεφανιδάκης 5-2-2016. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οπτική αντίληψη. Μετά?..

Οπτική αντίληψη. Μετά?.. Οπτική αντίληψη Πρωτογενής ερεθισµός (φυσικό φαινόµενο) Μεταφορά µηνύµατος στον εγκέφαλο (ψυχολογική αντίδραση) Μετατροπή ερεθίσµατος σε έννοια Μετά?.. ΓΙΑ ΝΑ ΚΑΤΑΝΟΗΣΟΥΜΕ ΤΗΝ ΟΡΑΣΗ ΠΡΕΠΕΙ ΝΑ ΑΝΑΛΟΓΙΣΤΟΥΜΕ

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

Διαβάστε περισσότερα

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

«Σημασιολογική Αναζήτηση Υπηρεσιών Ιστού βάση των δυνατοτήτων τους» Semantic Matching of Web Services Capabilities ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΣΠΟΥΔΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Σημασιολογική Αναζήτηση Υπηρεσιών Ιστού βάση των δυνατοτήτων τους»

Διαβάστε περισσότερα

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

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0 Καραμαούνας Πολύκαρπος 1 9.1 Ιστορικά Στοιχεία Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο και ήταν απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966

Διαβάστε περισσότερα

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 1: Σημασιολογία και Μεταδεδομένα Μ.Στεφανιδάκης 10-2-2017 Η αρχή: Το όραμα του Σημασιολογικού Ιστού Tim Berners-Lee, James Hendler and Ora Lassila, The Semantic

Διαβάστε περισσότερα

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

Διαβάστε περισσότερα

κώστας βεργίδης εισαγωγή στις βασικές έννοιες των επιχειρησιακών διεργασιών γραφείο 322 κτίριο Γ kvergidis@uom.gr 2310 891 637

κώστας βεργίδης εισαγωγή στις βασικές έννοιες των επιχειρησιακών διεργασιών γραφείο 322 κτίριο Γ kvergidis@uom.gr 2310 891 637 εισαγωγή στις βασικές έννοιες των επιχειρησιακών διεργασιών κώστας βεργίδης λέκτορας τμ. Εφαρμοσμένης Πληροφορικής γραφείο 322 κτίριο Γ kvergidis@uom.gr 2310 891 637 διαχείριση επιχειρηματικών διαδικασιών

Διαβάστε περισσότερα

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

Μεταδεδομένα στο Ψηφιακό περιβάλλον Μεταδεδομένα στο Ψηφιακό περιβάλλον Μονάδα Αριστείας Ανοικτού Λογισμικού - Χαροκόπειο Πανεπιστήμιο Ψηφιακό Τεκμήριο Οτιδήποτε υπάρχει σε ηλεκτρονική μορφή και μπορεί να προσπελαστεί μέσω υπολογιστή Μεταδεδομένα

Διαβάστε περισσότερα

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

Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών Λίνα Μπουντούρη - Μανόλης Γεργατσούλης Ιόνιο Πανεπιστήμιο 15ο Πανελλήνιο Συνέδριο Ακαδημαϊκών Βιβλιοθηκών Διαδίκτυο και Επίπεδα ετερογένειας δεδομένων

Διαβάστε περισσότερα

Σχεδιαστής Ιστοσελίδων

Σχεδιαστής Ιστοσελίδων Σχεδιαστής Ιστοσελίδων 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχεδιαστής Ιστοσελίδων Γνωστό και ως Συνοπτική Ένας σχεδιαστής ιστοσελίδων κατασκευάζει και ενημερώνει ιστοσελίδες ως προς τη σχεδίαση και τη διαμόρφωση

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001 ΥΠ.ΕΣ...Α Αριθµ.Πρωτ. / ΙΑ Π/A1/22123 Γ.Γ. ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ ΓΕΝ. /ΝΣΗ ΙΟΙΚΗΤΙΚΗΣ ΟΡΓΑΝΩΣΗΣ /ΝΣΗ ΑΠΛΟΥΣΤΕΥΣΗΣ ΙΑ ΙΚΑΣΙΩΝ ΚΑΙ ΠΑΡΑΓΩΓΙΚΟΤΗΤΑΣ ΤΜΗΜΑ ΜΕΘΟ ΩΝ ΕΡΓΑΣΙΩΝ

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Περιεχόµενα World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Εισαγωγή Ιστορική Αναδροµή Το ιαδίκτυο και το WWW Υπερκείµενο Εντοπισµός πληροφοριών στο WWW Search Engines Portals Unicode Java Plug-Ins 1 2

Διαβάστε περισσότερα

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Κωστής Αϊβαλής Μηχανικός Πληροφορικής TU-Berlin 2/5/2008 ΕΑΠ-ΓΤΠ61-Κωστής Αϊβαλής 1 Εισαγωγή Η ταχύτητα επεξεργασίας των εφαρµογών διαδικτυακών υπηρεσιών

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

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

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών Ουρανία Χατζή raniah@hua.gr Χαροκόπειο Πανεπιστήμιο 29 Νοεμβρίου 2007 Outline Web Service Overview Standards & Model Syntactic vs Semantic

Διαβάστε περισσότερα

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό, 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή 1. εδοµένα, Πληροφορίες και Υπολογιστές 2. Πώς φτάσαµε στους σηµερινούς υπολογιστές 3. Το υλικό ενός υπολογιστικού συστήµατος 4. Το λογισµικό ενός υπολογιστικού συστήµατος

Διαβάστε περισσότερα

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα Μαζική επεξεργασία ή επεξεργασία κατά δέσµες (batch processing) Χώρος χρήστη Εργασίες (Jobs): Πρόγραµµα, δεδοµένα και οδηγίες Αποτελέσµατα Χώρος

Διαβάστε περισσότερα

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

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Μεταπτυχιακό Δίπλωμα Ειδίκευσης Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές Δρ. Κακαρόντζας Γεώργιος Επίκουρος Καθηγητής Τμ. Μηχανικών Πληροφορικής Τ.Ε. Μηχανική Λογισμικού για Διαδικτυακές

Διαβάστε περισσότερα

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

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Επιμέλεια: Καρανικολάου Θεοδώρα Επιβλέπων καθηγητής: Δενδρινός Μάρκος Αθήνα, 2017 Σκοπός Στόχος της πτυχιακής

Διαβάστε περισσότερα

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

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

Διαβάστε περισσότερα

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή):

Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή): Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή): 1. Ο Παγκόσμιος Ιστός (world wide web): a. Ταυτίζεται με το Internet b. Είναι υπηρεσία διαχείρισης και πρόσβασης σε

Διαβάστε περισσότερα

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βελτιωμένη Εφαρμογή. Νέες δυνατότητες. Νέα Ιστοσελίδα

Βελτιωμένη Εφαρμογή. Νέες δυνατότητες. Νέα Ιστοσελίδα Βελτιωμένη Εφαρμογή Νέες δυνατότητες Νέα Ιστοσελίδα ΑΝΩΤΑΤΟ ΣΥΜΒΟΥΛΙΟ ΕΠΙΛΟΓΗΣ ΠΡΟΣΩΠΙΚΟΥ WWW.ASEP.GR 1 ΦΟΡΕΙΣ Α.Σ.Ε.Π. ΥΠΟΨΗΦΙΟΙ ΑΝΩΤΑΤΟ ΣΥΜΒΟΥΛΙΟ ΕΠΙΛΟΓΗΣ ΠΡΟΣΩΠΙΚΟΥ WWW.ASEP.GR 2 Φάση Α: Α: Μελέτη Εφαρμογής

Διαβάστε περισσότερα

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

Διαβάστε περισσότερα

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης Μάρα Νικολαϊδου Μοντελοποίηση Συστήµατος Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης είναι µια τεχνική

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... xiii

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων World Wide Web Παγκόσμιος Ιστός Internet - WWW Internet: παγκόσμιο δίκτυο υπολογιστών που βασίζεται στο πρωτόκολο επικοινωνίας TCP/IP και

Διαβάστε περισσότερα

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

Η συμβολή στην επιτυχία ενός οργανισμού, παρουσιάζοντας σχετικά δεδομένα με τη χρήση τεχνικών 2Δ ή 3Δ τεχνολογίας. Αρμοδιότητα Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχε Σχεδιαστής Ψηφιακών Κινούμενων Σχεδίων ή Digital Animator Γνωστό και ως Ειδικός Σχεδιασμού 2Δ- 3Δ γραφικών,

Διαβάστε περισσότερα

ΑΝΑΚΤΗΣΗ ΠΟΛΥΜΕΣΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΚΑΙ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Γ.Τ.Π

ΑΝΑΚΤΗΣΗ ΠΟΛΥΜΕΣΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΚΑΙ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Γ.Τ.Π ΑΝΑΚΤΗΣΗ ΠΟΛΥΜΕΣΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΚΑΙ ΣΗΜΑΣΙΟΛΟΓΙΚΟΣ ΙΣΤΟΣ Ε.Α.Π. Γ.Τ.Π. 61 2008 Τσιγώνιας Αντώνης 14/12/2008 Εισαγωγή Το ιαδίκτυο και ο Παγκόσµιος Ιστός ήταν µια επανάσταση για την τεχνολογία της πληροφόρησης

Διαβάστε περισσότερα

ΔΙΑΚΗΡΥΞΗ ΔΗΜΟΠΡΑΣΙΑΣ ΜΕ ΑΡΙΘΜΟ ΔΔ-...

ΔΙΑΚΗΡΥΞΗ ΔΗΜΟΠΡΑΣΙΑΣ ΜΕ ΑΡΙΘΜΟ ΔΔ-... ΙΑΧΕΙΡΙΣΤΗΣ ΕΛΛΗΝΙΚΟΥ ΙΚΤΥΟΥ ΙΑΝΟΜΗΣ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ Α.Ε. ΔΙΑΚΗΡΥΞΗ ΔΗΜΟΠΡΑΣΙΑΣ ΜΕ ΑΡΙΘΜΟ ΔΔ-... ΕΡΓΟ: «Πιλοτικό Σύστηµα Τηλεµέτρησης και ιαχείρισης της Ζήτησης Παροχών Ηλεκτρικής Ενέργειας Οικιακών

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Περιεχόµενο. ΕΠΛ 422: Συστήµατα Πολυµέσων. Σχεδίαση και Ανάπτυξη Πολυµεσικών Εφαρµογών. Βιβλιογραφία. Καγιάφας [2000]: Κεφάλαιο 9, [link]

Περιεχόµενο. ΕΠΛ 422: Συστήµατα Πολυµέσων. Σχεδίαση και Ανάπτυξη Πολυµεσικών Εφαρµογών. Βιβλιογραφία. Καγιάφας [2000]: Κεφάλαιο 9, [link] Περιεχόµενα ΕΠΛ 422: Συστήµατα Πολυµέσων Σχεδίαση και Ανάπτυξη Πολυµεσικών Εφαρµογών Βασικά ζητήµατα σχεδίασης Η διαδικασία ανάπτυξης πολυµεσικών εφαρµογών Η οµάδα ανάπτυξης πολυµεσικών εφαρµογών Σχεδίαση

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

Διαβάστε περισσότερα

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

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

Κεφάλαιο 29. Τεχνητή Νοημοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Κεφάλαιο 29 Σημασιολογικό Διαδίκτυο "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation."

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 5: Resource Description Framework (RDF) Μ.Στεφανιδάκης 16-3-2015. Τα επίπεδα του Σημασιολογικού Ιστού RDF: Το κύριο πρότυπο του Σημασιολογικού Ιστού, χρησιμοποιεί

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Eυφυή Πληροφοριακά Συστήματα. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Eυφυή Πληροφοριακά Συστήματα. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Eυφυή Πληροφοριακά Συστήματα Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Ανάγκη για Ευφυή Πληροφοριακά Συστήματα Η συσσώρευση ολοένα και μεγαλύτερου

Διαβάστε περισσότερα

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ανάδοχοι Φορέας Υλοποίησης Έργο ΛΑΕΡΤΗΣ Λογισμικό Δικτύων Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Ανάδοχος φορέας: CONCEPTUM A.E. 1 Προσομοίωση

Διαβάστε περισσότερα

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

Διαβάστε περισσότερα