Ηλεκτρονική Διάθεση Μαθήματος
Μαθησιακά Αποτελέσματα
Σήμερα, η πλειονότητα των υπολογιστικών συστημάτων δεν επικεντρώνεται στην επεξεργασία της πληροφορίας. Υπολογιστές χρησιμοποιούνται στον έλεγχο της λειτουργίας της μηχανής του αυτοκινήτου σας, των φρένων, των ζωνών ασφαλείας, του αερόσακου και του ηχοσυστήματος. Άλλοι υπολογιστές κωδικοποιούν ψηφιακά τη φωνή σας και δημιουργούν ένα ραδιο-σήμα που αποστέλλεται από το κινητό σας σε σταθμό βάσης. Υπολογιστές επίσης ελέγχουν το φούρνο μικροκυμάτων, το ψυγείο και το πλυντήριο πιάτων. Κάποιοι υπολογιστές ελέγχουν robots εργαστασίων, την παραγωγή ενέργειας, τις διεργασίες σε εγκαταστάσεις χημικής επεξεργασίας και τους φωτεινούς σηματοδότες των πόλεων. Υπάρχουν ακόμη υπολογιστές που "διαισθάνονται" ερεθίσματα και άρα δίνουν δυνατότητες αντίδρασης στο άγγιγμα του ανθρώπου και σε ήχους. Υπάρχουν όμως και υπολογιστές που ελέγχουν αεροσκάφη και τρένα. Όλοι αυτοί οι υπολογιστές ονομάζονται ενσωματωμένα συστήματα (embedded systems) και το λογισμικό, που εκτελούν λέγεται ενσωματωμένο λογισμικό. Το βασικό πρόβλημα στη σχεδίαση ενσωματωμένων συστημάτων ήταν τα προηγούμενα χρόνια η λειτουργία τους με περιορισμένους πόρους (περιορισμένη επεξεργαστική ισχύ, περιορισμένες πηγές ενέργειας, περιορισμένη χωρητικότητα μνήμης κ.α.). Έτσι λοιπόν, η μεγάλη πρόκληση ήταν η βελτιστοποίηση της σχεδίασης. Πρόσφατα, στην επιστημονική κοινότητα έγινε κατανοητό ότι οι βασικές προκλήσεις στα ενσωματωμένα συστήματα προέρχονται από την αλληλεπίδρασή τους με φυσικές διεργασίες και όχι από τους περιορισμένους τους πόρους. Ο όρος κυβερνοφυσικά συστήματα (cyber-physical systems - CPS) αναφέρεται στην ενσωμάτωση και ολοκλήρωση των υπολογισμών με φυσικές διεργασίες. Στα συστήματα CPS, οι ενσωματωμένοι υπολογιστές και τα δίκτυα επιτηρούν και ελέγχουν την εξέλιξη των φυσικών διεργασιών συνήθως με βρόχους ανάδρασης μέσω των οποίων οι φυσικές διεργασίες επηρεάζουν τους υπολογισμούς και αντίστροφα. Γι' αυτό, η σχεδίαση τέτοιων συστημάτων προϋποθέτει την κατανόηση της δυναμικής της εξέλιξης των υπολογισμών, του λογισμικού, της δικτύωσης και των φυσικών διεργασιών. Υπάρχουν πολυάριθμες εφαρμορμογές συστημάτων CPS. Θεωρήστε λόγου χάρη τα διάφορα συστήματα ασφαλείας στην αυτοκίνηση, που έχουν ήδη ενσωματωθεί στα οχήματα ή που βρίσκονται σε προχωρημένα στάδια έρευνας και ανάπτυξης. Για παράδειγμα, πολλά αυτοκίνητα σήμερα έχουν τη δυνατότητα ανίχνευσης ακούσιας αλλαγής λωρίδας (φυσική διεργασία) και προειδοποιήσης του οδηγού (υπολογισμός). Μπορούμε επίσης να αναφερθούμε και σε πολλές άλλες εφαρμογές, όπως τα διάφορα συστήματα υποβοήθησης ατόμων μεγάλης ηλικίας, τα συστήματα τηλεχειρουργικής και τις οικιακές συσκευές που συνεργάζονται μεταξύ τους για να εξομαλύνουν τις απαιτήσεις κατανάλωσης ενέργειας από τον πάροχο του ηλεκτρικού δικτύου. Επιπλέον, μπορεί κανείς να φανταστεί ότι συστήματα CPS χρησιμοποιούνται για τη βελτίωση ήδη εγκατεστημένων συστημάτων, όπως ρομποτικά συστήματα παραγωγής, συστήματα παραγωγής και κατανομής ενέργειας, συστήματα ελέγχου διεργασιών σε χημικές βιομηχανίες, κατανεμημένα computer games, συστήματα μεταφοράς αγαθών, συστήματα θέρμανσης, κλιματισμού και φωτισμού κτιρίων, ανελκυστήρες και γέφυρες που εκτελούν αυτοέλεγχο της κατάστασής τους. Η επίδραση τέτοιων βελτιώσεων στην ασφάλεια, την κατανάλωση ενέργειας και τελικά στην οικονομία είναι δυνητικά τεράστια.
Κατά την μελέτη συστημάτων CPS αναδύονται κάποια θεμελιώδη προβλήματα, που σε υπολογιστικά συστήματα γενικού σκοπού εμφανίζονται σπανίως. Για παράδειγμα, σε λογισμικό γενικού σκοπού ο χρόνος που καταλαμβάνει η εκτέλση μιας εργασίας είναι ένα ζήτημα απόδοσης και όχι ένα ζήτημα ορθής λειτουργίας. Αν η εργασία εκτελεστεί σε περισσότερο χρόνο, δεν τίθεται θέμα ορθότητας, αν και αυτό γίνεται προσπάθεια να αποφευχθεί. Σε συστήματα CPS, ο χρόνος που καταλαμβάνει η εκτέλεση μιας εργασίας μπορεί να έχει κρίσιμη σημασία για τη λειτουργία τους. Σε συστήματα CPS επίσης συμβαίνουν πολλά γεγονότα ταυτόχρονα. Οι φυσικές διεργασίες είναι σύνθεση πολλών ταυτόχρονων μεταβολών, σε αντίθεση με τις διεργασίες λογισμικού, που βασικά εξελίσσονται με ακολουθιακά βήματα. Στο φυσικό κόσμο σπανίως συναντούμε διεργασίες που εξελίσσονται ως μία διαδικασία. Ο βασικός σκοπός των ενσωματωμένων συστημάτων είναι η μέτρηση και ο έλεγχος της δυναμικής της εξέλιξης των φυσικών διεργασιών ενορχηστρώνοντας τις ενέργειες, που τις επηρεάζουν. Συνεπώς, ο ταυτοχρονισμός είναι εγγενής σε συστήματα CPS. Πολλές από τις τεχνικές προκλήσεις στη σχεδίαση και στην ανάλυση ενσωματωμένου λογισμικού προέρχονται από την αναγκαιότητα σύνδεσης της ακολουθιακής σημασίας των υπολογισμών σε έναν εγγενώς ταυτοχρονισμένο φυσικό κόσμο.
Οι φοιτητές αναμένεται ότι στα πλαίσια του μαθήματος θα
- κατανοήσουν τις αλληλεπιδράσεις του λογισμικού και του υλικού με το φυσικό περιβάλλον μέσα στο οποίο λειτουργούν
- κατανοήσουν τη χρήση μοντέλων σχετικά με την εξέλιξη της κατάστασης ενός συστήματος (δυναμικής) και το πώς σχετίζονται με την υλοποιήση των συστημάτων
- κατανοήσουν τα ενσωματωμένα συστήματα ως απαραίτητα βήματα προς την κατεύθυνση μιας ορθής πρακτικής σχεδιασμού συστημάτων
- κατανοήσουν πώς η τεχνολογία σήμερα μπορεί να εμποδίσει αλλά και μέσω αυτής να επιτευχθεί μία ορθή πρακτική σχεδιασμού
- εξοικειωθούν με τη δυναμική των διαφορετικών σχεδιάσεων συστημάτων CPS στο χρόνο και με τα ζητήματα ταυτοχρονισμού που αντιμετωπίζουν
- αποκτήσουν μία κρίσιμης σημασίας κατανόηση των εννοιών των νημάτων εκτέλεσης, της επικοινωνίας με μηνύματα, της αποφυγής αδιεξόδου, των συνθηκών ανταγωνισμού και της προσδιοριστικότητας των δεδομένων
Περιεχόμενο Μαθήματος
Εισαγωγή στα Κυβερνο-φυσικά συστήματα, Συνεχή δυναμικά συστήματα, Διακριτά δυναμικά συστήματα, Υβριδικά συστήματα, Σύνθεση Μηχανών Πεπερασμένων Καταστάσεων, Μοντέλα Υπολογισμού για Ταυτοχρονισμό, Αισθητήρες και Συσκευές Δράσης, Ενσωματωμένοι επεξεργαστές, Αρχιτεκτονικές μνήμης, Είσοδος & έξοδος, Πολυδιεργασία, Χρονοπρογραμματισμός, Ανάλυση προσεγγισιμότητας και έλεγχος μοντέλων, Ποσοτική ανάλυση, Ασφάλεια και ιδιωτικότητα
Λέξεις Κλειδιά
ενσωματωμένα συστήματα, δυναμικά συστήματα, υβριδικά συστήματα, ταυτοχρονισμός, πολυδιεργασία, χρονισμένα συστήματα, αρχιτεκτονική συστημάτων, επαλήθευση, ασφάλεια
Επιπρόσθετη βιβλιογραφία για μελέτη
1. E. Ashford Lee, S. A. Seshia, Introduction to Embedded Systems - a Cyber-physical Systems Approach, 2nd ed., MIT Press, 2017
2. D. Lacamera, Embedded Systems Architecture, PACKT Publishing, 2018
3. R. Alur, Principles of Cyber-physical Systems, MIT Press, 2015
4. Ι. Μυριτζής, Δυναμικά συστήματα με εφαρμογές στη φυσική και στην οικολογία, Ελληνικά Ακαδημαϊκά Ηλεκτρονικά Συγγράμματα και Βοηθήματα (www.kallipos.gr), 2015
5. M. Wolf, Computers as Components - Principles of Embedded Computing System Design, 4th ed., Morgan Kaufmann, 2016