Δευτέρα, 6 Οκτωβρίου 2008

Αναγόρευση Ι. Σηφάκη επίτιμου διδάκτορα ΕΚΠΑ

Όλοι έχουμε συνηθίσει να ακούμε ένα σωρό άσχετα και ανούσια πράγματα ως "ειδήσεις" στα ΜΜΕ. Τίποτα δεν μας κάνει πλέον εντύπωση γιατί απλά ξέρουμε ότι στην πραγματικότητα αυτά που ακούμε δεν είναι ειδήσεις (κάτι που ενδιαφέρει το "δημόσιο" κοινό) αλλά επιλογή σκηνών μεταξύ διαφημιστικού υλικού. Όμως με εξέπληξε (δυσάρεστα βέβαια) κάτι που ΔΕΝ άκουσα από κανέναν, σε κανένα κανάλι, εφημερίδα ή αλλού: την αναγόρευση του Ιωσήφ Σηφάκη ως επίτιμου διδάκτορα στο Τμήμα Πληροφορικής και Τηλεπικοινωνιών του Πανεπιστημίου Αθηνών (ΕΚΠΑ) πριν μερικές ημέρες. Μάλιστα, τι θέμα δεν "έπαιξε" ούτε καν στα blogs, κάτι που με στεναχώρησε ιδιαίτερα για τα χαμηλά αντανακλαστικά των ενημερωτικών blogs.

Την περασμένη Παρασκευή (3/10) το πρωί, ο Ι. Σηφάκης βρέθηκε για μία και μοναδική διάλεξη στο αμφιθέατρο του Τμ. Πληροφορικής (ΕΚΠΑ) και μίλησε για τους τομείς έρευνας στους οποίους αυτός και οι συνεργάτες του δραστηριοποιούνται τα τελευταία χρόνια. Για όσους δεν τον γνωρίζουν, ο κ. Σηφάκης τιμήθηκε πέρυσι με το βραβείο Turing της ACM, το οποίο θεωρείται ισοδύναμο του βραβείου Νόμπελ στον τομέα της Πληροφορικής. Το βραβείο απονεμήθηκε για τη συνεισφορά του στον τομέα του Model Checking, το οποίο αφορά σε τεχνικές αυτόματης επαλήθευσης δυναμικών συστημάτων ηλεκτρονικής ή πληροφορικής. Η επίσημη αναγόρευση έγινε το βράδυ της ίδιας μέρας στην αίθουσα εκδηλώσεων του Πανεπιστημίου Αθηνών.

Στην ομιλία που έδωσε το πρωί της Παρασκευής, ο κ. Σηφάκης αναφέρθηκε σε πολύ ενδιαφέροντα πράγματα σχετικά με την επιστήμη της Πληροφορικής, καθώς και τις προεκτάσεις τους σε πιο "φιλοσοφικό" επίπεδο. Πάντα είναι ιδιαίτερα χρήσιμο να ακούει κανείς τις απόψεις ενός τόσο σημαντικού επιστήμονα, έστω και αναφορικά με λίγο-πολύ γνωστά πράγματα, όπως για παράδειγμα τη διαπίστωση ότι δυστυχώς το software και το hardware βρίσκονται ακόμη αρκετά μακριά σε επίπεδο τεχνικών ανάπτυξης και ανάλυσης της συμπεριφοράς/λειτουργίας τους από κοινού. Ο κ. Σηφάκης επεσήμανε ιδιαίτερα το γεγονός ότι το υλικό (h/w), το οποίο κατά βάση αναπτύσσεται με μεθοδολογίες μηχανικής/ηλεκτρονικής τεχνολογίας, διαφέρει σημαντικά από το λογισμικό (s/w) στο ότι το δεύτερο δίνει τη δυνατότητα υλοποίησης πολλών εναλλακτικών "νόμων" περιγραφής του κόσμου (μοντέλου), κατά συνέπεια δεν υπάρχουν αντίστοιχα απλές και σαφείς μέθοδοι ελέγχου της λειτουργίας του σύμφωνα με συγκεκριμένες προδιαγραφές. Για παράδειγμα, ο νόμος του Νεύτωνα για τη βαρύτητα μπορεί να επιβεβαιωθεί πειραματικά και με απόλυτο τρόπο στο φυσικό κόσμο. Αντίθετα, ένα πρόγραμμα που υπολογίζει το αποτέλεσμα της διαίρεσης δύο οποιονδήποτε αριθμών δεν μπορεί να ελεγχθεί σε σχέση με κάποιο χειροπιαστό φαινόμενο στο φυσικό κόσμο, ούτε μπορεί να ελεγχθεί για κάθε πιθανή τιμή εισόδου παρά μόνο δειγματοληπτικά ή επιλεκτικά για συγκεκριμένα "επικίνδυνα" σημεία (π.χ. διαίρεση με το μηδέν).

Ο κ. Σηφάκης αναφέρθηκε επίσης στη βασική διαφορά μεταξύ των κλασικών Μαθηματικών μεθόδων και της Πληροφορικής εν γένει ως επιστήμης. Είπε χαρακτηριστικά ότι παλαιότερα η συζήτηση του αν η Πληροφορική είναι αυτόνομη επιστήμη ήταν πολύ πιο έντονη, καθώς αρκετοί υποστήριζαν ότι δεν είναι τίποτα άλλο παρά εφαρμογή επιλεγμένων πεδίων έρευνας από άλλες επιστήμες, όπως Φυσικής (ηλεκτρονικά), Μαθηματικών (λογική), κτλ. Ανέφερε χαρακτηριστικά το ότι στην Πληροφορική είμαστε αναγκασμένοι να δουλεύουμε με Διακριτά Μαθηματικά και όχι με συνεχή σύνολα όπως στον φυσικό κόσμο, κάτι που εν μέρει διευκολύνει την ανάλυση ορισμένων προβλημάτων αλλά ταυτόχρονα δημιουργεί ένα νέο επίπεδο "αφαίρεσης" από τον πραγματικό κόσμο, δηλαδή ένα εντελώς νέο πεδίο μελέτης με τους δικούς του κανόνες και φαινόμενα συμπεριφοράς. Μάλιστα ανέφερε ως παράδειγμα τη δυσκολία σχεδίασης ενός συστήματος αυτόματου ελέγχου σε αεροσκάφη, το οποίο υλοποιείται ως υλικό/λογισμικό διακριτής λειτουργίας που όμως προορίζεται να λειτουργήσει σε ένα "συνεχές" περιβάλλον στον πραγματικό κόσμο.

Η προσέγγιση που έχει εφαρμοστεί τα τελευταία χρόνια τόσο στο υλικό όσο και στο λογισμικό είναι αυτή που βασίζεται σε αποσύνθεση του συνολικού προβλήματος σε μικρότερα και τη συναρμολόγηση σύνθετων συστημάτων από απλούστερα δομικά κομμάτια. Η προσέγγιση αυτή, η οποία ονομάζεται γενικά component-based approach, βασίζεται στην υπόθεση ότι αν τα μεμονωμένα κομμάτι έχουν σχεδιαστεί σωστά και έχουν ελεγχθεί ξεχωριστά, τότε αναμένουμε ότι και το σύνθετο σύστημα θα λειτουργεί σύμφωνα με τα αναμενόμενα. Σε ένα αυτοκίνητο για παράδειγμα, θεωρούμε ότι αν όλα τα επιμέρους εξαρτήματα λειτουργούν όπως πρέπει, τότε και ολόκληρο το αυτοκίνητο θα λειτουργεί κανονικά και σύμφωνα με τις προδιαγραφές του εργοστασίου. Στην πραγματικότητα, δεν υπάρχει καμία αδιάψευστη εξασφάλιση για αυτό παρά μόνο η πρακτική/πειραματική επιβεβαίωση: κανένας μηχανικός δεν είναι 100% σίγουρος ότι η μηχανή θα πάρει μπρος μέχρι να βάλει το κλειδί στη μίζα, ακόμα και αν όλα τα εξαρτήματά της είναι ολοκαίνουργια.

Στους υπολογιστές, μια αντίστοιχη ιδιότητα είναι αυτή του αμοιβαίου αποκλεισμού (deadlock) διεργασιών: παρόλο που όλα τα προγράμματα μπορεί από μόνα τους να λειτουργούν κανονικά χωρίς πρόβλημα, εντούτοις η "συνύπαρξή" τους σε ένα Η/Υ ταυτόχρονα μπορεί να προκαλέσει το "κόλλημα" κάποιων ή όλων, όσο καλό και αν είναι το λειτουργικό σύστημα. Γενικά, η μελέτη και ο έλεγχος διαδικασιών που λειτουργούν παράλληλα και αλληλεπιδρούν άμεσα ή έμμεσα μεταξύ τους αποτελεί ένα ζήτημα τόσο δύσκολο και πολύπλοκο που ακόμη και σήμερα δεν υπάρχουν σαφείς τρόποι και μεθοδολογίες σχεδίασης που να αποκλείουν 100% την πιθανότητα να εμφανιστούν τέτοια προβλήματα. Η δυσκολία αυτή αποτελεί ιδιαίτερο γνώρισμα των πληροφοριακών συστημάτων, καθώς η επιστήμη είναι ακόμη σχετικά νέα (μόλις μερικών δεκαετιών), ο "κόσμος" τον οποίο πραγματεύεται υλοποιείται με άπειρες παραλλαγές σύμφωνα με το εκάστοτε λογισμικό (δεν έχει σαφείς μονοσήμαντους φυσικούς "νόμους" λειτουργίας) και επιπλέον τα εργαλεία που χρησιμοποιούμε σήμερα (γλώσσες προγραμματισμού) έχουν εν γένει ασαφείς ορισμούς για πολλές από τις ιδιότητες των συστατικών ενός προγράμματος, ιδιαίτερα σε ότι αφορά την αλληλεπίδραση μεταξύ h/w και s/w.

Στην ομιλία του ο κ. Σηφάκης κατέληξε στο ότι αυτό που χρειάζεται η Πληροφορική ως επιστήμη τα επόμενα χρόνια είναι μια γενικότερη προσπάθεια για νέα εργαλεία, συστήματα, προδιαγραφές, μεθοδολογίες, που να επιτρέπουν σε πολύ μεγαλύτερο βαθμό την εφαρμογή διαδικασιών επικύρωσης (verifiability) - όχι μόνο πειραματικά και "εκ του αποτελέσματος" αλλά ως μέρος των ίδιων των αρχών στις οποίες βασίζονται. Η προσέγγιση των formal systems έδωσε μέχρι τώρα κάποιες τέτοιες βασικές κατευθύνσεις, οι οποίες όμως είναι ανεφάρμοστες πρακτικά σε πολύ πολύπλοκα συστήματα με ασάφειες στις προδιαγραφές και στα δεδομένα που χρησιμοποιούν. Κατά συνέπεια, αυτό που προτείνει είναι ο "περιορισμός" του πεδίου μελέτης και εφαρμογής (scope) των μεθόδων αυτών σύμφωνα με τις εκάστοτε απαιτήσεις, όπως γίνεται για παράδειγμα με τη χρήση διακριτών αντί συνεχών μαθηματικών μορφών στη σχεδίαση h/w. Με αυτό τον τρόπο, ο κ. Σηφάκης θεωρεί ότι στο μέλλον θα είναι ευκολότερη και ουσιαστικότερη η διατύπωση νέων θεωριών και μεθοδολογιών, των οποίων τα "προϊόντα" θα είναι εν γένει επαληθεύσιμα σε θεωρητικό και όχι μόνο σε πειραματικό επίπεδο (model checking = έλεγχος του ίδιου του μοντέλο, όχι των αποτελεσμάτων ή της απόδοσής του).

Σε κάποιες ερωτήσεις αναφέρθηκε το ζήτημα του open-software και αν αυτό διευκολύνει ή δυσκολεύει αυτή την κατεύθυνση, δηλαδή τη διατύπωση νέων μοντέλων, αρχών και μεθοδολογιών προγραμματισμού. Ο κ. Σηφάκης ανέφερε ότι το open/free software είναι πάρα πολύ σημαντικό σε πρακτικό επίπεδο, καθώς διευκολύνει τη συμμετοχή περισσότερων ανθρώπων στη διαδικασία σχεδίασης και υλοποίησης (όχι μόνο χρήσης), καθώς επίσης και σε επίπεδο ανάπτυξης της εγχώριας οικονομίας υψηλής τεχνολογίας. Όμως, όπως ανέφερε, ελάχιστες χώρες είναι διατεθειμένες να αναλάβουν το ρίσκο της υιοθέτησης s/w χωρίς έναν τεράστιο κολοσσό να το υποστηρίζει σε επίπεδο support/upgrades.

Θα ήθελα πολύ να τον ρωτήσω ποια είναι η γνώμη του για νέες μεθοδολογίες ανάπτυξης λογισμικού όπως το agile s/w development ή το extreme programming, αλλά δυστυχώς δεν υπήρχε χρόνος για πολλές ερωτήσεις. Το πιο πιθανό είναι πως θα έλεγε ότι αυτές οι πρακτικές είναι καλές για το budget αλλά κακές για την ποιότητα του τελικού "προϊόντος" (s/w), παρόλο που όλο και περισσότερες μεγάλες εταιρίες αρχίζουν να τις υιοθετούν (Microsoft, Symantec, ...).

Όπως ότι φαίνεται τίποτα από τα παραπάνω δεν απασχολεί κανέναν πέρα από ένα μικρό κύκλο "τρελών επιστημόνων". Δεν ξέρω αν στην επίσημη αναγόρευση το βράδυ παραβρέθηκε κάποιος, οποιοσδήποτε, από το ΥΠΕΠΘ για να δείξει το ενδιαφέρον της πολιτείας. Πάντως αρκεί να αναφέρω ότι ακόμα και στην ομιλία του στο αμφιθέατρο του Τμ. Πληροφορικής, πολλοί καθηγητές που ήταν στα γραφεία τους δεν έκαναν ούτε καν τον κόπο να κατέβουν κάτω και να ακούσουν έναν άνθρωπο -Έλληνα- με την ανώτερη ίσως διάκριση στο χώρο να μιλά για την επιστήμη τους. Κατά τα άλλα τα Πανεπιστήμιά μας θέλουμε να είναι αυτόνομα, υψηλού επιπέδου, αμιγώς ακαδημαϊκού χαρακτήρα και όλα αυτά τα ωραία. Δυστυχώς οι πρώτοι που τα απαξιώνουν είμαστε εμείς οι ίδιοι.
.

Δεν υπάρχουν σχόλια: