Περίληψη
Οι συνεχείς τεχνολογικές εξελίξεις σε ενσωματωμένες πλατφόρμες και συστήματα ελέγχου έχουν καταστήσει τα μη επανδρωμένα εναέρια οχήματα (drones) αφενός πιο αυτόνομα στη λειτουργία τους, συνδυάζοντας υπολογιστικές δυνατότητες, προηγμένα συστήματα πλοήγησης και συστήματα αποφυγής εμποδίων, και αφετέρου πιο προσιτά από οικονομικής άποψης, διευρύνοντας το πεδίο χρήσης τους σε διάφορους τομείς εφαρμογών, όπως η επιτήρηση, η παρακολούθηση και η μεταφορά-παράδοση φορτίων/αγαθών. Αν και τα drones μπορούν πλέον να ελέγχονται προγραμματιστικά μέσω εντολών υψηλού επιπέδου, η ομαλή ενσωμάτωσή τους στην υπάρχουσα κυβερνο-φυσική υποδομή παρεμποδίζεται από διάφορους παράγοντες, όπως είναι οι εγγενείς ανησυχίες σχετικά με τους κινδύνους ασφαλείας και τη προστασία της ιδιωτικότητας καθώς και η έλλειψη αυτοματισμού στον (πλήρη) κύκλο λειτουργίας του drone. Για την αντιμετώπιση των ανωτέρω ζητημάτων, σε αυτή τη διατριβή παρουσιάζουμε μηχανισμούς σε επίπεδο συστήματος για την ενίσχυση της αξιοπιστίας/ευρω ...
Οι συνεχείς τεχνολογικές εξελίξεις σε ενσωματωμένες πλατφόρμες και συστήματα ελέγχου έχουν καταστήσει τα μη επανδρωμένα εναέρια οχήματα (drones) αφενός πιο αυτόνομα στη λειτουργία τους, συνδυάζοντας υπολογιστικές δυνατότητες, προηγμένα συστήματα πλοήγησης και συστήματα αποφυγής εμποδίων, και αφετέρου πιο προσιτά από οικονομικής άποψης, διευρύνοντας το πεδίο χρήσης τους σε διάφορους τομείς εφαρμογών, όπως η επιτήρηση, η παρακολούθηση και η μεταφορά-παράδοση φορτίων/αγαθών. Αν και τα drones μπορούν πλέον να ελέγχονται προγραμματιστικά μέσω εντολών υψηλού επιπέδου, η ομαλή ενσωμάτωσή τους στην υπάρχουσα κυβερνο-φυσική υποδομή παρεμποδίζεται από διάφορους παράγοντες, όπως είναι οι εγγενείς ανησυχίες σχετικά με τους κινδύνους ασφαλείας και τη προστασία της ιδιωτικότητας καθώς και η έλλειψη αυτοματισμού στον (πλήρη) κύκλο λειτουργίας του drone. Για την αντιμετώπιση των ανωτέρω ζητημάτων, σε αυτή τη διατριβή παρουσιάζουμε μηχανισμούς σε επίπεδο συστήματος για την ενίσχυση της αξιοπιστίας/ευρωστίας των εφαρμογών drone και την προώθηση μιας πιο δομημένης, ελεγχόμενης και αυτοματοποιημένης προσέγγισης ανάπτυξης και εγκατάστασης εφαρμογών, η οποία θα είναι αρμονικά συνδεδεμένη με τα υπολογιστικά πρότυπα που ακολουθούνται στο υπολογιστικό νέφος (cloud) και στα άκρα του δικτύου (edge). Στο πρώτο μέρος της διατριβής, εστιάζουμε στην ανοχή σφαλμάτων κρίσιμων για την πρόοδο της αποστολής σε σενάρια εφαρμογών όπου μια κεντρική υπολογιστική οντότητα ελεγκτή αποστολής είναι υπεύθυνη για την εκτέλεση της λογικής της εφαρμογής συντονίζοντας μια ομάδα drones μέσω εντολών υψηλού επιπέδου. Προτείνουμε ένα σχήμα ενεργού πλεονασμού (active replication) σε συνδυασμό με τεχνικές αποθήκευσης σημείων ελέγχου της κατάστασης του συστήματος (checkpointing) και καταγραφής πληροφοριών επικοινωνίας (logging), με σκοπό την ανοχή βλαβών αποτυχίας-σταματήματος (fail-stop failures), όπου ο ελεγκτής απλώς σταματά τη λειτουργία του. Δείχνουμε ότι σε περίπτωση ντετερμινιστικών προγραμμάτων εφαρμογής, η λύση μας εισάγει επιβάρυνση μόνο σε περίπτωση που παρουσιάσει βλάβη κάποιο drone και εξαρτάται από το μέγεθος των αρχείων καταγραφής που πρέπει να ανταλλαχθούν μεταξύ των αντιγράφων του ελεγκτή. Η λύση μας υποστηρίζει επίσης μη ντετερμινιστικές εφαρμογές μέσω μιας προσέγγισης ημι-ενεργού πλεονασμού, όπου το κόστος είναι ανάλογο με το μέγεθος της κατάστασης εκτέλεσης που παράγεται κατά τις μη ντετερμινιστικές λειτουργίες. Στη συνέχεια, χρησιμοποιούμε την ενεργή αναπαραγωγή με ένα πρωτόκολλο συμφωνίας για την αντιμετώπιση Βυζαντινών βλαβών (Byzantine failures), του πιο γενικού τύπου αστοχιών, όπου ο ελεγκτής μπορεί να συμπεριφέρεται αυθαίρετα λόγω κακόβουλων επιθέσεων ή σφαλμάτων υλικού και λογισμικού. Η προσέγγισή μας βασίζεται σε υποθέσεις σύγχρονης επικοινωνία με υπογεγραμμένα μηνύματα και απαιτεί N = 2f + 1 αντίγραφα για την ανοχή έως και f βλαβών. Δείχνουμε ότι το εισαγόμενο συνολικό κόστος προέρχεται κυρίως από το πρωτόκολλο συμφωνίας και μπορεί να μειωθεί σημαντικά χρησιμοποιώντας ένα ταχύτερο δίκτυο για την επικοινωνία μεταξύ των αντιγράφων του συντονιστή - κάτι το οποίο αποτελεί μια ρεαλιστική υπόθεση. Επίσης, ενώ το κόστος για τυπικές συνθήκες/ρυθμίσεις είναι σχετικά υψηλό, στο εύρος των δεκάδων χιλιοστών του δευτερολέπτου, δεν είναι απαγορευτικό δεδομένου ότι ο ελεγκτής αποστολής δεν εμπλέκεται σε χαμηλού επιπέδου βρόχους ελέγχου σχετιζόμενους με την πτητική λειτουργία του drone. Στο δεύτερο μέρος της διατριβής, εξετάζουμε τρόπους και τεχνικές που θα βοηθήσουν τους προγραμματιστές και τους χρήστες εφαρμογών για drone στις διαδικασίες ανάπτυξης, παρακολούθησης και δοκιμής των εφαρμογών, διασφαλίζοντας παράλληλα ότι δεν παραβιάζονται συγκεκριμένοι περιορισμοί ασφάλειας και ιδιωτικότητας. Για να αντιμετωπίσουμε αυτές τις ανάγκες με έναν οικονομικά αποδοτικό/βιώσιμο τρόπο, υιοθετούμε την προσέγγιση της πλατφόρμας ως υπηρεσία (PaaS) που χρησιμοποιείται στο cloud και αντιμετωπίζουμε τα drones ως άλλον έναν υπολογιστικό πόρο στον οποίο μπορεί κάποιος να έχει πρόσβαση μέσω μιας κοινόχρηστης υποδομής. Αρχικά, παρουσιάζουμε μια ολιστική προσέγγιση για την υποστήριξη της πιο αξιόπιστης και ελεγχόμενης λειτουργίας «μονοσυστατικών» εφαρμογών για drones μέσω μιας πλατφόρμας λογισμικού που φροντίζει για την αυτοματοποιημένη εγκατάσταση και την ελεγχόμενη εκτέλεσή τους, σε συνδυασμό με την παροχή κατάλληλης υποστήριξης προσομοίωσης και τεχνολογίας ψηφιακών διδύμων. Σε αντίθεση με άλλες προσπάθειες, οι μηχανισμοί παρακολούθησης δεν αφορούν μόνο το «πού» επιτρέπεται να λειτουργούν τα drones, αλλά λαμβάνουν επιπλέον υπόψη το «πώς» χρησιμοποιείται ο εξοπλισμός αισθητήρων και ενεργοποιητών που διαθέτουν. Επιδεικνύουμε την παρεχόμενη λειτουργικότητα μέσω αντιπροσωπευτικών παραδειγμάτων χρήσης χρησιμοποιώντας τόσο το περιβάλλον προσομοίωσης όπου εκτελούμε ένα εύρος δοκιμών πριν από την εγκατάσταση της εφαρμογής, όσο και των ψηφιακών διδύμων όπου μια εικονική αναπαράσταση του drone εκτελείται παράλληλα με την εφαρμογή στον πραγματικό κόσμο, παρέχοντας τη δυνατότητα αξιολόγησης, επαλήθευσης αλλά και πρόβλεψης της συμπεριφοράς του συστήματος. Στη συνέχεια, επεκτείνουμε διάφορες διαστάσεις αυτής της γενικής ιδέας σε κατανεμημένες εφαρμογές που αποτελούνται από πολλαπλά τμήματα τα οποία μπορούν να εγκατασταθούν σε ολόκληρο το συνεχές των υπολογιστικών συστημάτων, συμπεριλαμβανομένων drones, κόμβων στο edge και του cloud. Παρουσιάζουμε ένα πλαίσιο ενορχήστρωσης που επιτρέπει την περιγραφή υψηλού επιπέδου των απαιτήσεων της εφαρμογής μέσω κατάλληλων προδιαγραφών που συνοδεύουν τον κώδικα των τμημάτων της εφαρμογής, υποστηρίζει την εγκατάσταση των τμημάτων της εφαρμογής λαμβάνοντας υπόψη την αποστολή του drone, προάγει την αποτελεσματική επικοινωνία μεταξύ αλληλεπιδρώντων τμημάτων αξιοποιώντας τεχνολογίες ασύρματης δικτύωσης για άμεση επικοινωνία με διαφανή τρόπο και διασφαλίζει τη διατήρηση της ασφάλειας και την προστασία της ιδιωτικότητας μέσω της πρόσβασης των εφαρμογών σε υπηρεσίες κινητικότητας και αισθητήρων βάσει πολιτικών. Επιδεικνύουμε την παρεχόμενη λειτουργικότητα τόσο μέσω δοκιμών στο πεδίο όσο και μέσω του περιβάλλοντος προσομοίωσης. Επιπλέον, μέσω εκτεταμένης αξιολόγησης απόδοσης, δείχνουμε ότι η υλοποίησή μας έχει αποδεκτές υπολογιστικές απαιτήσεις, καθιστώντας την κατάλληλη ακόμη και για τις περιορισμένων δυνατοτήτων υπολογιστικές πλατφόρμες που συναντώνται σε drones και σε κόμβους στο edge.
περισσότερα
Περίληψη σε άλλη γλώσσα
The continuous technological advances in embedded platforms and control systems have made unmanned aerial vehicles (drones) on the one hand more autonomous in their operation, combining computing capabilities, advanced navigation systems and obstacle avoidance systems, and on the other hand more affordable, paving the way for their use in many application fields, such as surveillance, monitoring and cargo delivery. Although drones can now be programmatically controlled via high-level commands, their smooth integration in the existing cyber-physical infrastructure is hampered by several factors including inherent safety and privacy concerns and the lack of automation in the (complete) drone operation lifecycle. To address this issue, in this thesis we present system-level mechanisms for strengthening the robustness of drone applications and promoting a more structured, managed and automated application development and deployment approach, properly integrated with the cloud and edge comp ...
The continuous technological advances in embedded platforms and control systems have made unmanned aerial vehicles (drones) on the one hand more autonomous in their operation, combining computing capabilities, advanced navigation systems and obstacle avoidance systems, and on the other hand more affordable, paving the way for their use in many application fields, such as surveillance, monitoring and cargo delivery. Although drones can now be programmatically controlled via high-level commands, their smooth integration in the existing cyber-physical infrastructure is hampered by several factors including inherent safety and privacy concerns and the lack of automation in the (complete) drone operation lifecycle. To address this issue, in this thesis we present system-level mechanisms for strengthening the robustness of drone applications and promoting a more structured, managed and automated application development and deployment approach, properly integrated with the cloud and edge computing paradigms. In the first part of the thesis, we focus on tolerating failures critical to the target mission in application scenarios where a centralized mission controller entity is responsible for executing the application logic by coordinating a team of drones via high-level commands. We propose an active replication scheme combined with checkpointing and logging of communication and system status information for tolerating fail-stop failures, where the controller simply stops its operation. We show that in case of deterministic application programs the overhead introduced by our solution occurs only in case of drone failures and depends on the size of the logs that need to be exchanged between the controller replicas. Our solution also supports non-deterministic applications through a semi-active replication approach, in which case the overhead is analogous to the size of the execution state produced during the non-deterministic operations. Next, we use active replication with an agreement protocol to address Byzantine failures, the most general type of failures, where the controller behaves arbitrarily due to malicious attacks or hardware and software errors. Our approach relies on synchronous communication with signed messages and requires N = 2f + 1 replicas to tolerate up to f failures. We show that the introduced overhead comes mainly from the agreement protocol and can be greatly reduced by using a faster network for the communication between the replicas of the coordinator (a realistic assumption). Also, while the cost for typical setups is relatively high, at the range of tens of milliseconds, it is not prohibitive since the mission controller is not involved in tight control loops of the drones themselves. In the second part of the thesis, we look at how to assist drone application developers and users in the application deployment, monitoring and testing processes while ensuring that certain safety and privacy restrictions are not violated. To address these needs in a cost-effective manner, we adopt the platform as a service (PaaS) paradigm of cloud computing and view drones as a resource that can be accessed through a shared infrastructure. Firstly, we present a holistic approach towards supporting a more reliable managed operation of single-component drone applications through a software platform that takes care of the automated deployment and controlled execution, coupled with corresponding simulation and digital twin support. Differently to other efforts, the monitoring mechanisms do not concern only the "where" drones are allowed to operate, but also take account of the "how" their onboard sensing and actuation equipment is used. We also demonstrate the provided functionality through representative case studies using both the simulation environment where we perform a variety of tests before deployment, and the digital twin setup where a virtual representation runs in parallel with the application in the real world, providing the ability to evaluate, verify and even predict the behavior of the system. In the following, we expand various dimensions of the concept to distributed, component-based applications that span over the entire system continuum, including drones, edge nodes and the cloud. We present an orchestration framework that enables the high-level description of application requirements through suitable specifications that accompany the component code, supports the drone mission-aware deployment of the components, promotes the efficient communication between interacting components by transparently exploiting wireless networking technologies for direct communication and ensures safety- and privacy-preserving operations through the policy-based access to mobility and sensor services. We demonstrate the provided functionality via both field tests and the simulation environment. Further, through extensive performance evaluation, we show that our implementation has an acceptable resource footprint making it suitable even for the constrained computing platforms found on drones and edge nodes.
περισσότερα