Successfully reported this slideshow.
Your SlideShare is downloading. ×

Domain specific language for controlling sensors and actuators in IoT devices, using model driven engineering approaches

Domain specific language for controlling sensors and actuators in IoT devices, using model driven engineering approaches

Download to read offline

The Internet of Things (IoT), has been growing at an exponential rate in the last couple of years. Every year new devices invade human daily life and waiting to be controlled. Controlling software must be developed to interact with these devices and new applications could be built on top of them. Many people can’t experience the true advantages of IoT as they are unable to build applications since they lack the required technological background. Model-Driven Engineering (MDE) can help these people as it solves software engine ering problems using models of the physical and virtual world. There aren’t many attempts, which try to use MDE in the world of IoT. There are even less attempts that try to help the technology illiterates to build IoT applications. This diploma thesis proposes some tools to model IoT devices and the connections between them. In addition it provides a textual grammar for the definition of those models. Further, it develops a library for driving IoT devices through a common API. Also, using automated code source generation it proposes a way of controlling these devices through a raspberry pi and communication endpoints.

The Internet of Things (IoT), has been growing at an exponential rate in the last couple of years. Every year new devices invade human daily life and waiting to be controlled. Controlling software must be developed to interact with these devices and new applications could be built on top of them. Many people can’t experience the true advantages of IoT as they are unable to build applications since they lack the required technological background. Model-Driven Engineering (MDE) can help these people as it solves software engine ering problems using models of the physical and virtual world. There aren’t many attempts, which try to use MDE in the world of IoT. There are even less attempts that try to help the technology illiterates to build IoT applications. This diploma thesis proposes some tools to model IoT devices and the connections between them. In addition it provides a textual grammar for the definition of those models. Further, it develops a library for driving IoT devices through a common API. Also, using automated code source generation it proposes a way of controlling these devices through a raspberry pi and communication endpoints.

More Related Content

More from ISSEL

Related Books

Free with a 30 day trial from Scribd

See all

Domain specific language for controlling sensors and actuators in IoT devices, using model driven engineering approaches

  1. 1. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εκπόνηση Παρασκευόπουλος Ιάσων Α.Ε.Μ: 8410 Επιβλέποντες Αν. Καθ. Συμεωνίδης Ανδρέας Υπ. Δρ. Παναγιώτου Κωνσταντίνος Δρ. Τσαρδούλιας Εμμανουήλ Πέμπτη 11 Μαρτίου 2021 1
  2. 2. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 2 Συνδεδεμένες συσκευές στο IoT IoT number of connected devices worldwide, https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/
  3. 3. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 3 Γνώση διασύνδεσης υλικού και των πρωτοκόλλων επικοινωνίας τους Προγραμματισμός ενσωματωμένων συστημάτων Προγραμματισμός της λογικής μιας εφαρμογής Γνώση τεχνολογιών δικτύωσης Απαιτούμενες γνώσεις
  4. 4. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 4 1) Ανάπτυξη μιας βιβλιοθήκης για τον έλεγχο αισθητήρων και ενεργοποιητών, μέσω κοινών διεπαφών 1) Σχεδίαση και ανάπτυξη μίας μηχανής λογισμικού μοντελοστρεφούς λογικής a) Μοντελοποίηση συσκευών και του τρόπου διασύνδεσης συσκευών a) Ορισμός τερματικών για έλεγχο και πρόσβαση στα δεδομένα των συσκευών a) Σχεδίαση γλώσσας ειδικού σκοπού για την περιγραφή συσκευών και συνδέσεων a) Παραγωγή σχημάτων περιγραφής των καλωδιώσεων του υλικού a) Αυτόματη παραγωγή κώδικα για έλεγχο των περιφερειακών συσκευών a) Εργαλείο γραμμής εντολών ενοποίησης των επιμέρους συστημάτων
  5. 5. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 5 MDE Μοντέλο: Απλουστευμένη αναπαράσταση ενός συστήμας ή αντικειμένου διατηρώντας τις ιδιότητες του. Μέτα-Μοντέλο: Οι προδιαγραφές με βάση τις οποίες ορίζονται νέα μοντέλα. M2M: Ένα σύνολο κανόνων βάση των οποίων κάθε στοιχείο και έννοια ενός μοντέλου μετατρέπεται σε στοιχεία και έννοιες ενός άλλου μοντέλου. M2T: Δέχονται ως είσοδο ένα ή περισσότερα μοντελα και έχουν ως έξοδο κείμενο
  6. 6. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 6 Πρωτόκολλα επικοινωνίας υλικού UART I2C SPI PIN
  7. 7. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 7 Λογισμικό ελέγχου περιφερειακών συσκευών ● Device: start, stop, restart ● Sensor: read ● Actuator: write Initialize, read, write και close
  8. 8. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 8 Αισθητήρας απόστασης hc-sr04 Αισθητήρας απόστασης vl53l1x IMU Αισθητήρας περιβάλλοντος Ελεγκτής κινητήρων Ελεγκτής LED Κουμπί GPIO I2C SPI HPWM Περιφερειακά Διεπαφές υλικού
  9. 9. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 9 Μετά-μοντέλο συσκευών Μετά-μοντέλο συνδέσεων Μετά-μοντέλο επικοινωνίας Μετά-μοντέλο συσκευών και συνδέσεων
  10. 10. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 10 Ορισμός μετά-μοντέλου συσκευών
  11. 11. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 11 Ορισμός μετά-μοντέλου συνδέσεων
  12. 12. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 12 Ορισμός μετά-μοντέλου επικοινωνίας
  13. 13. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 13 Γλώσσα για την περιγραφή συσκευών και συνδέσεων ● “:” ανάθεση τιμής ● “-” στοιχείο λίστας
  14. 14. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 14 Συντακτικό συσκευών Συντακτικό συνδέσεων συσκευών
  15. 15. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 15 Συντακτικό συσκευών
  16. 16. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 16 Συντακτικό συνδέσεων
  17. 17. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 17 Εργαλείο γραμμής εντολών
  18. 18. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 18
  19. 19. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 19 ● Παραγωγή κώδικα πολλαπλών συνδέσεων από ένα αρχείο ορισμού ● Επιλογή συγκεκριμένης σύνδεσης από ένα αρχείο που ορίζει περισσότερες από μία ● Παραγωγή εικόνας που περιγράφει τις συνδέσεις των συσκευών σε επίπεδο pin ● Έλεγχος αν η υλοποίηση του περιφερειακού υπάρχει στην βιβλιοθήκη ελέγχου που αναπτύχθηκε και πρόταση υλοποιήσεων σε περίπτωση που δεν υπάρχει ● Παροχή ήδη ορισμένων συσκευών έτοιμων για χρήση
  20. 20. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 20 Βάση Οδηγός κινητήρων Sonar Κουμπί
  21. 21. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 21 Διάγραμμα ροής εφαρμογής
  22. 22. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 22 Σύνδεση sonar Σύνδεση οδηγητή Σύνδεση κουμπιού
  23. 23. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 23 sonar_right.distance sonar_left.distance sonar_front.distance button_start button_stop motor_controller
  24. 24. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 24 Υλοποίηση λογικής σε nodered
  25. 25. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 25 Αποφυγή εμποδίων
  26. 26. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 26 Εκκίνηση και σταματημός
  27. 27. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 27 Ο έλεγχος περιφερειακών συσκευών γίνεται με αφαιρετικό τρόπο Ταχύτερος χρόνος υλοποίησης και πρωτοτυποποίησης Δυνατότητα πειραματισμού με τον IoT κόσμο χωρίς την προϋπόθεση τεχνολογικού υπόβαθρου Προστασία συσκευών από καταστροφικά λάθη
  28. 28. Γλώσσα περιγραφής πεδίου για τον έλεγχο αισθητήρων και ενεργοποιητών σε ΙοΤ συσκευές, χρησιμοποιώντας τεχνικές μοντελο-στρεφούς ανάπτυξης λογισμικού ΚΙΝΗΤΡΟ ΣΚΟΠΟΣ ΜΕΘΟΔΟΛΟΓΙΑ ΠΑΡΑΔΕΙΓΜΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ 28 Μοντελοποίηση της επικοινωνίας των συσκευών σε βάθος Επέκταση των μετά-μοντέλων σε μικροελεγκτές (π.χ. RIOT, Zephyr ) Γραφικό περιβάλλον για την περιγραφή μοντέλων Σύστημα αυτόματης μετατροπής μιας υλοποίησης οδηγητή σε υλοποίηση pidevices Επέκταση των μετά-μοντέλων για την περιγραφή περαιτέρω λειτουργιών των περιφερειακών συσκευών
  29. 29. Ευχαριστίες 29
  30. 30. THANKS Does anyone have any questions? 30

×