Τεχνολογία συστημάτων λογισμικού και γεωπληροφορική: σύγκλιση, ολοκλήρωση και τάσεις Βασίλειος Βεσκούκης Διπλωματούχος Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ Διδάκτωρ Μηχανικός ΕΜΠ http://www.softlab.ece.ntua.gr/~bxb
Ανάπτυξη λογισμικού ...Στόχευση κινούμενου στόχου από κινούμενο όχημα και με όπλο που μεταβάλλει συνεχώς τη συμπεριφορά του... Β.Βεσκούκης, "Τεχνολογία Λογισμικού Ι", Βιβλίο Ελληνικού Ανοιχτού Πανεπιστημίου
Ενα "μόνιμο" πρόβλημα... "Κρίση λογισμικού" (1968) Δομημένος προγραμματισμός (’70) Αντικειμενοστρεφής προγραμματισμός (’80-’90-σήμερα) Η "κρίση λογισμικού" εντοπίστηκε το 1968 και σήμερα είναι ακόμη εδώ... Αυτά δεν είναι νέα στην κοινότητα του λογισμικού Διάφορα κατά περιόδους επίκαιρα ακρωνύμια και τίτλοι τα οποία χαρακτηρίστηκαν ως "ασημένιες σφαίρες" που όμως ποτέ δεν βρήκαν το στόχο τους. Πρόβλημα του 2000 και πολλά άλλα γνωστά σε μας...
Λογισμικό: ένα τεχνικό έργο Αντιληπτό μόνο από τα αποτελέσματά του και όχι πάντα με έναν μοναδικό τρόπο Ανάπτυξη λογισμικού: Ανάγκες Συστατικά Λογισμικού Η ανάπτυξη λογισμικού συγχέεται / ταυτίζεται συχνά με τον προγραμματισμό... Κατά την ανάπτυξη παράγονται προϊόντα λογισμικού = τεκμηρίωση, πηγαίος και εκτελέσιμος κώδικας Το "συνεχώς μεταβάλλονται" δικαιολογεί την αρχική διατύπωση
Τεχνολογία Λογισμικού ΔΙΚΤΥΑ ΑΛΓΟΡΙΘΜΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Μ-Μ INTERFACES ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΔΙΟΙΚΗΣΗ ΕΡΓΩΝ (...κ.α.)
Τεχνολογία λογισμικού Ασχολείται με τον καθορισμό Ενεργειών που γίνονται Προϊόντων που παράγονται Προτύπων περιγραφής των προϊόντων Μεθόδων ελέγχου, επαλήθευσης και διασφάλισης ποιότητας ...ώστε να παράγεται λογισμικό "καλής ποιότητας"
Τεχνολογία Λογισμικού #2 #1 ... #Κ #Ν Απαιτήσεις Ανάλυση Σχεδίαση Υλοποίηση Έλεγχος Σύλληψη της ιδέας Επεξεργασία της λύσης Κατασκευή Μετάβαση ΚΥΚΛΟΙ ΑΝΑΠΤΥΞΗΣ ΧΡΟΝΟΣ ΓΕΝΙΚΕΣ ΦΑΣΕΙΣ ΕΡΓΑΣΙΕΣ #Ν-1
Σύγχρονα συστήματα λογισμικού Πώς περιγράφεται με λίγες λέξεις ένα σύγχρονο σύστημα λογισμικού; The network is the computer Sun Microsystems Η όποια υπηρεσία παρέχεται στους χρήστες, παρέχεται πάνω από ένα δίκτυο το οποίο βρίσκει εκείνο τον καταλληλότερο τρόπο προσφοράς της υπηρεσίας στις εκάστοτε συνθήκες. Με αυτή την έννοια ο χρήστης στην πραγματικότητα αλληλεπιδρά με ένα δίκτυο και όχι με "τον δικό του" συγκεκριμένο υπολογιστή.
Σύγχρονα συστήματα λογισμικού Τεχνικά χαρακτηριστικά Δικτυακά Κατανεμημένα Ετερογενή Λειτουργικά χαρακτηριστικά Ολοκληρώσιμα Πλήθος νέων πεδίων εφαρμογής Αυτά είναι τα γενικά χαρακτηριστικά των ΣΛ που επαληθεύουν την προαναφερθείσα ρήση. Τα ΣΛ Επιτελούν ολοένα και περισσότερο κρίσιμες αποστολές Λίγο εστίαση στα παραπάνω
Σύγχρονα συστήματα λογισμικού Δικτυακά Σήμερα δεν υπάρχουν αυτόνομα συστήματα Δίκτυα υψηλών ταχυτήτων πάνω από οποιοδήποτε μέσο, διαθέσιμα σχεδόν παντού "Πόλεμος" προτύπων και τεχνολογιών σε επίπεδο τεχνικό (και όχι μόνο...) Γρήγορα!
Σύγχρονα συστήματα λογισμικού Κατανεμημένα Ένα σύστημα λογισμικού υλοποιείται ως ένα σύνολο από υπηρεσίες οι οποίες στεγάζονται σε πολλά διαφορετικά υπολογιστικά συστήματα που επικοινωνούν με πραγματικές ή εικονικές δικτυακές συνδέσεις ... Με ή χωρίς χρέωση, γεγονός που έχει άλλες προεκτάσεις
Σύγχρονα συστήματα λογισμικού Ετερογενή Οι κόμβοι των συστημάτων λογισμικού είναι ετερογενείς συσκευές (υλικό) Πολλά διαφορετικά λειτουργικά περιβάλλοντα και "πλατφόρμες" λογισμικού Οι συσκευές αυτές μπορούν με την ευρεία έννοια να χαρακτηριστούν ως ΗΥ Μπορεί να μην είναι καν διακριτές Ενα σύστημα λογισμικού λειτουργεί πάνω από πολλές διαφορετικές πλατφόρμες και γίνεται πλέον αντιληπτό ως μια συμπεριφορά και όχι ως "αυτό που τρέχει στην οθόνη" Τα λειτουργικά περιβάλλοντα ήταν μεχρι χτες ανταγωνιστικά και κλειστά, σήμερα αυτό δεν ισχύει
Λειτουργικά χαρακτηριστικά Ολοκληρώσιμα Μια εφαρμογή λογισμικού είναι ένα σύνολο από υπηρεσίες που προσφέρουν διάφοροι παροχείς, σε ανομοιογενή περιβάλλοντα Μια σύγχρονη εφαρμογή λογισμικού προσθέτει αξία σε άλλες υπάρχουσες υπηρεσίες ή/και δεδομένα Δηλαδή ΔΕΝ δημιουργείται πάντα εκ του μηδενός και δεν διαχειρίζεται η ίδια το σύνολο των δεδομένων που την αφορούν
Λειτουργικά χαρακτηριστικά Πλήθος πεδίων εφαρμογής Στην οικονομία, αλλά και Στην εκπαίδευση Στην ψυχαγωγία Νέα πεδία εφαρμογής Με αφορμή νέες τεχνολογίες που δημιουργούν νέες δυνατότητες (enabling technologies) Πολλά από αυτά τα νέα πεδία είναι σχετικά με το γεωγραφικό χώρο και με τη θέση του χρήστη Γρήγορα Πριν περάσουμε σε συγκεκριμένα πεδία θα δούμε κάποιες τάσεις
Ανάπτυξη λογισμικού: τάσεις Στην υποδομή Στις επικοινωνίες Στη συνεργασία συστημάτων λογισμικού Στην ασφάλεια …για να κατασκευαστούν και να λειτουργήσουν συστήματα λογισμικού που αποτελούνται από κατάλληλα διατεταγμένα στοιχεία και ικανοποιούν απαιτήσεις χρηστών
Κυρίαρχες τάσεις Υποδομή Internet (IPv4, IPv6, QoS, ενσύρματα και ασύρματα δίκτυα υψηλών ταχυτήτων) Λειτουργικές πλατφόρμες λογισμικού Windows: .net μη-Windows: Java, Linux, Open source Συσκευές Κλασικοί ΗΥ, συσκευές χειρός κάθε είδους Συστήματα οικιακής ενημέρωσης και ψυχαγωγίας Οχήματα Ο πόλεμος συνεχίζεται Παντού υπάρχει ένας υπολογιστής Παντού, δηλαδή σε κάθε δυνατή γεωγραφική θέση: η θέση θα αποτελεί αξιοποιήσιμο γνώρισμα για την υποδομή
Κυρίαρχες τάσεις Επικοινωνίες μεταξύ συστημάτων Σειριακές επικοινωνίες: RS232, USB, Firewire Ασύρματες επικοινωνίες (bluetooth, wifi) Διασύνδεση οποιωνδήποτε συσκευών Αξιοποίηση δορυφορικών υπηρεσιών Συνεργασία σε επίπεδο εφαρμογής Ανοιχτά πρωτόκολλα ανταλλαγής δεδομένων: XML και συναφή πρότυπα Δυνατότητα περιγραφής υπηρεσιών πάνω από ανομοιογενή περιβάλλοντα: web services Με δύο λόγια: σήμερα η διασύνδεση μεταξύ οποιωνδήποτε συσκευών με χαρακτηριστικά ΗΥ είναι εφικτή, τόσο σε επίπεδο τεχνικό, όσο και σε επίπεδο ανταλλαγής δεδομένων και υπηρεσιών. Αυτό δημιουργεί σημαντικές ευκαιρίες!
Κυρίαρχες τάσεις Ασφάλεια Κρυπτογραφία Αρχές πιστοποίησης Υποδομές δημοσίων κλειδιών (PKI) Βιομετρικά Ολοκλήρωση με λειτουργικά συστήματα και δικτυακές υποδομές (IPv6) Στο ζήτημα της ασφάλειας, το οποίο αναφέρεται μόνο για λόγους πληρότητας, υπάρχει πλήθος ανοιχτών ζητημάτων κοινωνικού προβληματισμού και ευαισθησίας, εκτός θέματος της παρούσης. Γρήγορα!
The network is the computer Σήμερα ένα σύστημα λογισμικού μπορεί Να αποτελείται από επιμέρους ανομοιογενή και κατανεμημένα υπο-συστήματα Να συνεργάζεται με άλλα ανομοιογενή και κατανεμημένα συστήματα Να λαμβάνει και να παρέχει υπηρεσίες μέσω ανοιχτών πρωτοκόλλων / προτύπων Κλείνει ο κύκλος Να τρέχει σε πολλά διαφορετικά ανομοιογενή κατανεμημένα περιβάλλοντα Και να γίνεται αντιληπτό ως υπηρεσίες και όχι ως "πρόγραμμα" Υποδομή Δίκτυα υπερυψηλής ταχύτητας, Internet 2 Παράλληλη και κατανεμημένη επεξεργασία (grid computing) Ανοιχτές αρχιτεκτονικές και πρότυπα παντού Εφαρμογές: νέα πεδία, νέες προκλήσεις Οικονομία Ενημέρωση Εκπαίδευση Ψυχαγωγία Καθημερινότητα
Εφαρμογές: κατάσταση και τάσεις ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΑΝΟΜΟΙΟΓΕΝΕΙΣ ΑΣΦΑΛΕΙΑ ΟΙΚΟΝΟΜΙΑ ΕΠΙΧΕΙΡΕΙΝ ΕΝΗΜΕΡΩΣΗ ΕΚΠΑΙΔΕΥΣΗ ΨΥΧΑΓΩΓΙΑ
Εφαρμογές: κατάσταση και τάσεις ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΑΝΟΜΟΙΟΓΕΝΕΙΣ ΑΣΦΑΛΕΙΑ ΧΡΗΣΗ ΓΕΩΓΡΑΦΙΚΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΑΞΙΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΣ ΘΕΣΗΣ ΟΙΚΟΝΟΜΙΑ ΕΠΙΧΕΙΡΕΙΝ ΕΝΗΜΕΡΩΣΗ ΕΚΠΑΙΔΕΥΣΗ ΨΥΧΑΓΩΓΙΑ
Συστήματα λογισμικού και γεωγραφική πληροφορία Ορατή και επίκαιρη η σημερινή δυναμική επικαιροποίησης και σύγκλισης Της σύγχρονης επιστήμης του Τοπογράφου και ειδικότερα της γεωπληροφορικής Της πληροφορικής και της Τεχνολογίας Λογισμικού ειδικότερα Αρκετά ανοιχτά ζητήματα σχετικά με το λογισμικό που υλοποιεί / ενσωματώνει τέτοια χαρακτηριστικά και υπηρεσίες Αρχιτεκτονικής, ασφάλειας, προτύπων, υπηρεσιών, κ.ά. Ας πάρουμε τις περιοχές που θα εστιάσουμε, με τη σειρά
Περιοχές εφαρμογών: επιχειρείν Γεωγραφική πληροφορία ( ) Ενοποίηση GIS και κλασικών οικονομικών εφαρμογών Πρόσθεση γεωγραφικής πληροφορίας σε νέα δεδομένα από τη γέννησή τους Διάθεση οικονομικών / επιχειρηματικών γεωγραφικών δεδομένων με ανοιχτά πρότυπα Νέες εφαρμογές: διαχείρισης, ανάλυσης, πρόβλεψης και υποστήριξης επιχειρηματικών αποφάσεων, με αναφορά στη χωρική διάσταση
Περιοχές εφαρμογών : επιχειρείν Πληροφορία θέσης ( ) Επίκαιρες εφαρμογές: δρομολόγησης, χωροθέτησης, επίλυσης προβλημάτων βελτιστοποίησης στο χώρο Ολοκλήρωση (integration) με υπάρχοντα συστήματα, ενσωμάτωση υπαρχουσών βάσεων χωρικών δεδομένων Σε πραγματικό χρόνο και με δυνατότητες επιχειρησιακής χρήσης
Περιοχές εφαρμογών: ενημέρωση Γεωγραφική πληροφορία ( ) Προσαρμόσιμο (adaptive) περιεχόμενο Πληροφορία θέσης ( ) Δυναμικά καθοριζόμενο περιεχόμενο Location-Based Services Επιλεγόμενο περιεχόμενο Ειδικές εφαρμογές διαχείρισης κινδύνων κ.ά.
Περιοχές εφαρμογών: εκπαίδευση Γεωγραφική πληροφορία ( ) Ισχυρό εργαλείο αναφοράς Ενσωμάτωση ολοκληρωμένων εκπαιδευτικών πλαισίων και GIS Πληροφορία θέσης ( ) Νέα περιοχή: Location-Based Training Εκπαίδευση πεδίου με δυναμικά προσαρμοζόμενο εκπαιδευτικό περιεχόμενο και υπηρεσίες, με βάση την τρέχουσα θέση και το μοτίβο κίνησης του εκπαιδευόμενου Εχοντας αναφερθεί σε κάποιες επίκαιρες θεματικές περιοχές, θα δούμε πού εντοπίζονται τα προβλήματα σύγκλισης, δηλαδή τα χαρακτηριστικά της ανάπτυξης λογισμικού τα οποία είναι πιο έντονα με τη χωρική διάσταση
Συστήματα λογισμικού και γεωγραφική πληροφορία Κλασικά πεδία σύγκλισης Γεωγραφικές Δομές Δεδομένων Χωρικές Βάσεις Δεδομένων, GIS Σύγχρονα πεδία σύγκλισης Ολοκλήρωση ανομοιογενών συστημάτων Διαλειτουργικότητα ανεξάρτητων εφαρμογών Ανοιχτά πρότυπα ανταλλαγής δεδομένων Πρότυπα και μοντέλα παροχής υπηρεσιών προστιθέμενης αξίας
Συστήματα λογισμικού και γεωγραφική πληροφορία Ολοκλήρωση ανομοιογενών συστημάτων Επικοινωνία Διαφορετικών συσκευών Πάνω από σύγχρονα πρωτόκολλα χαμηλού επιπέδου (φυσικού, δικτύου) Ικανοποιώντας απαιτήσεις αξιοπιστίας, ταχύτητας και ασφάλειας
Παραδείγματα Επικοινωνία Πάνω από Υπολογιστή Υπολογιστή παλάμης Κινητού τηλεφώνου GPS Κόμβου δημόσιου ασύρματου δικτύου Δικτύου GSM Πάνω από Bluetooth, wifi, firewire, usb, ethernet, κλπ
Συστήματα λογισμικού και γεωγραφική πληροφορία Διαλειτουργικότητα ανεξάρτητων εφαρμογών Παροχή (+λήψη) υπηρεσιών σε (+από) τρίτα μέρη: web services Σχεδίαση και χρήση τεχνικών συμβολαίων Εγκαθίδρυση μοντέλων χρέωσης
Παραδείγματα 1. Αγορά δεδομένων Παροχή δεδομένων πολεοδομίας σε τρίτο φορέα που τα χρησιμοποιεί για να λειτουργήσει εφαρμογή υπολογισμού κοινοχρήστων χωρίς ο ίδιος να διατηρεί ΒΔ με τα στοιχεία των διαμερισμάτων
Παραδείγματα 2. Σύνθεση υπηρεσιών Αγορά δεδομένων οδικού δικτύου Αγορά υπηρεσιών υπολογισμού δρομολόγησης Παροχή ειδικών υπηρεσιών δρομολόγησης
Συστήματα λογισμικού και γεωγραφική πληροφορία Ανοιχτά πρότυπα ανταλλαγής δεδομένων Από την ιδιόκτητη αποθηκευμένη πληροφορία σε ανοιχτά πρότυπα GML, SVG, AgXML, XSLT Αλλα πρότυπα κοινοτήτων ενδιαφέροντος Δημιουργία προϋποθέσεων για λειτουργία νέων μοντέλων συνεργασίας πάνω από το web
Παράδειγμα Σύστημα λογισμικού πραγματικού χρόνου για ενημέρωση οδηγών σχετικά με τη διαθεσιμότητα χώρων στάθμευσης Αξιοποίηση χαρτογραφικών δεδομένων σε ανοιχτή μορφή Ενημέρωση κατάστασης χώρων στάθμευσης σε πραγματικό χρόνο, από τρίτα μέρη και κατάλληλες διατάξεις αισθητήρων Παροχή υπηρεσίας στην ομάδα-στόχο μέσω κατάλληλου λογισμικού
Παράδειγμα
Συστήματα λογισμικού και γεωγραφική πληροφορία Πρότυπα και μοντέλα παροχής υπηρεσιών προστιθέμενης αξίας σε κατανεμημένα ετερογενή περιβάλλοντα Φυσική σύνδεση Αρχιτεκτονική εφαρμογής
Φυσική σύνδεση Web service provider Web service provider Clients Open data provider Open data provider Value added integrator
Αρχιτεκτονική λογισμικού Web service provider Web service provider Clients Open data provider Open data provider Value added integrator
Παραδείγματα - εμπειρία Επιχειρησιακό σύστημα αντιμετώπισης τεχνολογικών ατυχημάτων μεγάλης έκτασης (ΣΑΤΑΜΕ) Θριασίου πεδίου Σύστημα αντιμετώπισης κινδύνων σύμφωνα με την οδηγία SEVESO Εμπειρία Σχεδίαση Βάσης Δεδομένων του GIS Διασφάλιση ποιότητας λογισμικού
Παραδείγματα - εμπειρία Επιχειρησιακό κέντρο πρόβλεψης και αντιμετώπισης ατμοσφαιρικής ρύπανσης και λήψης εκτάκτων μέτρων λεκανοπεδίου Αττικης (ΠΕΡΠΑ, ΥΠΕΧΩΔΕ) Σύστημα πρόβλεψης ρύπων στη γεωγραφική περιοχή του λεκανοπεδίου με χρήση στατιστικών και αναλυτικών μοντέλων Εμπειρία Προδιαγραφή λογισμικού Σχεδίαση Βάσης Δεδομένων του GIS Διασφάλιση ποιότητας λογισμικού
Παραδείγματα - εμπειρία Επιχειρησιακό σύστημα σχεδιασμού και λήψης αποφάσεων για διαχείριση δασικών πυρκαγιών (ΕΠΑΝ, σε εξέλιξη) Προσομοίωση δασικών πυρκαγιών, χωροθέτηση και δρομολόγηση μέσων καταστολής, αποτίμηση ρίσκου εκκένωσης Εμπειρία Προδιαγραφή λογισμικού Σχεδίαση Βάσης Δεδομένων του GIS Διασφάλιση ποιότητας λογισμικού
Παραδείγματα - εμπειρία Πρότυπο πλαίσιο εκπαίδευσης ναυτικών επαγγελμάτων με βασισμένες-στη-θέση υπηρεσίες - LBT: Location-Based Training (Πρόταση σε ΠΕΠ καινοτομίας) Αλλες περιοχές εφαρμογής Γεωλογία Αρχαιολογία Περιβάλλον
Παραδείγματα - εμπειρία Επίβλεψη διπλωματικής εργασίας "Πλαίσιο εργασίας ανάπτυξης κατανεμημένων ετερογενών συστημάτων προσφοράς βασισμένων-στην-τοποθεσία υπηρεσιών και χρήση του για την δημιουργία ενός ολοκληρωμένου συστήματος" Εργασία στο International Journal of E-Business Research, sp.issue on Web Services-Based E-Business Systems (Jan 2006)
Παραδείγματα - εμπειρία Routing web service Image processing Web service Clients GIS data provider LBS
Σύγκλιση τεχνολογίας λογισμικού και γεωπληροφορικής Σύγκλιση τεχνολογίας λογισμικού και γεωπληροφορικής Επίκαιρα πεδία εκπαιδευτικής και ερευνητικής δραστηριότητας Ολοκλήρωση και διαλειτουργικότητα ανομοιογενών συστημάτων και εφαρμογών Ανοιχτά πρότυπα γεωγραφικών δεδομένων Αρχιτεκτονικές λογισμικού, πρότυπα και μοντέλα παροχής υπηρεσιών προστιθέμενης αξίας σε κατανεμημένα και ετερογενή περιβάλλοντα ... Η οποία απαιτεί ολιστική αντιμετώπιση του θέματος "πληροφορική - λογισμικό"
Τεχνολογία συστημάτων λογισμικού και γεωπληροφορική: σύγκλιση, ολοκλήρωση και τάσεις Βασίλειος Βεσκούκης Διπλωματούχος Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ Διδάκτωρ Μηχανικός ΕΜΠ http://www.softlab.ece.ntua.gr/~bxb