Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης,
υλοποίησης και ανάπτυξης λογισμικού Κυβερνοφυσικών
Συστημάτων με τεχνικές Μηχανικής Λογισμικού Οδηγούμενης
από Μοντέλα​
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών &
Μηχανικών Υπολογιστών
Τομέας Ηλεκτρονικής και Υπολογιστών
Διδακτορική Διατριβή
Εκπόνηση:
Παναγιώτου Κωνσταντίνος
Επιβλέπων:
Καθ. Ανδρέας Συμεωνίδης
Κωνσταντίνος Παναγιώτου
Το Κίνητρο
2
Πρόβλημα:
Πολυπλοκότητα σχεδίασης και ανάπτυξης εφαρμογών σε
Κυβερνοφυσικά συστήματα
Κίνητρο:
Ταχεία σχεδίαση και ανάπτυξη εφαρμογών για Κυβερνοφυσικά
συστήματα που διαχειρίζονται συσκευές και ρομποτικά συστήματα σε
Edge και Cloud
Κωνσταντίνος Παναγιώτου
Στόχος της Διατριβής
3
Βασικοί Στόχοι:
1. Προσδιορισμός διαδικασιών ταχείας ανάπτυξης λογισμικού για ΚΦΣ
2. Μείωση της πολυπλοκότητας σχεδίασης και ανάπτυξης εφαρμογών ΚΦΣ
3. Αύξηση της παραγωγικότητας στην ανάπτυξη εφαρμογών ΚΦΣ
4. Πρόσβαση στην ανάπτυξη εφαρμογών ΚΦΣ από μη ειδικούς (Citizen Developers)
5. Αξιολόγηση των μεθόδων ανάπτυξης με τη χρήση κειμενικών Γλωσσών Ειδικού Πεδίου
Κωνσταντίνος Παναγιώτου
Συνεισφορά της Διατριβής
4
1. Μεθοδολογία ανάπτυξης κειμενικών Γλωσσών Ειδικού Πεδίου
2. Μέτα-μοντελοποίηση διαφόρων πτυχών των σύγχρονων Κυβερνοφυσικών Συστημάτων
3. Υλοποίηση ενιαίου μεσολογισμικού διασύνδεσης και επικοινωνίας για ΚΦΣ
4. Ενσωμάτωση ρομποτικών συστημάτων σε συστήματα στο Edge και στο Cloud
5. Ανάπτυξη Γλωσσών Ειδικού Πεδίου για την υποστήριξη της ταχείας ανάπτυξης εφαρμογών
από “Citizen Developers”
4
Journal Articles
2
Conference Papers
3
Workshops
Κωνσταντίνος Παναγιώτου
Συνεισφορά της Διατριβής
5
Συνεισφορά σε εργαλεία λογισμικού ανοιχτού κώδικα
● 13 Γλώσσες Ειδικού Πεδίου (9 εσωτερικές & 4 εξωτερικές)
● Μεσολογισμικό συσκευών σε ΚΦΣ
● Μεσολογισμικό επικοινωνίας σε ΚΦΣ
● Σύστημα διαχείρισης εφαρμογών σε συσκευές
Κωνσταντίνος Παναγιώτου 6
• ΜΕΡΟΣ Α •
ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ
Theory - Background
Κωνσταντίνος Παναγιώτου 7
• ΜΕΡΟΣ Α •
1. ΚΥΒΕΡΝΟΦΥΣΙΚΑ ΣΥΣΤΗΜΑΤΑ
Cyber-Physical Systems
Κωνσταντίνος Παναγιώτου
Ορισμός των ΚΦΣ
8
Κυβερνοφυσικά Συστήματα: Συστήματα
που ενσωματώνουν φυσικές και ψηφιακές
οντότητες, με ικανότητα:
● Διασύνδεσης και επικοινωνίας
● Απομακρυσμένης παρακολούθησης
και ελέγχου
● Αυτοματοποίησης διεργασιών
● Ενσωμάτωσης με τεχνολογίες Edge,
Cloud και Web
Κωνσταντίνος Παναγιώτου
Οντότητες που συναντάμε σε ΚΦΣ
9
Φυσικές Οντότητες
● Αισθητήρες & Ενεργοποιητές
● Ρομπότ & Ενσωματωμένες Συσκευές
● Υπολογιστικές μονάδες και Διακομιστές
Ψηφιακές Οντότητες
● Υπηρεσίες αποθήκευσης δεδομένων
● Υπηρεσίες επεξεργασίας και ανάλυσης
δεδομένων
● Υπηρεσίες λήψης αποφάσεων
● Πλατφόρμες και περιβάλλοντα ανάπτυξης
● Εφαρμογές παρακολούθησης και ελέγχου
συσκευών/συστημάτων
Κωνσταντίνος Παναγιώτου
Παραδείγματα Σύγχρονων ΚΦΣ
10
Ρομποτικά Συστήματα με δυνατότητα απομακρυσμένου ελέγχου
Έξυπνες Υποδομές (Smart Infrastructure)
● Smart Grid
● Smart Agriculture
● Smart Home
● Smart Industry
● Smart Cities
Αυτόνομα οχήματα
Ψηφιακά Δίδυμα (Digital Twins)
Κωνσταντίνος Παναγιώτου 11
• ΜΕΡΟΣ Α •
2. ΓΛΩΣΣΕΣ ΕΙΔΙΚΟΥ ΠΕΔΙΟΥ
Domain Specific Languages
Κωνσταντίνος Παναγιώτου
Γλώσσες Ειδικού Πεδίου
12
Μια Γλώσσα Ειδικού Πεδίου (ΓΕΠ) είναι μία γλώσσα προγραμματισμού με
υψηλότερο επίπεδο αφαίρεσης, βελτιστοποιημένη για ένα συγκεκριμένο πεδίο.
Χρησιμοποιεί τις έννοιες και τους κανόνες από το πεδίο ή τον τομέα εφαρμογής.
Βασικά χαρακτηριστικά:
● Λιγότερο πολύπλοκη από τις General Purpose Languages (GPL)
● Αναπτύσσονται σε στενό συντονισμό με τους ειδικούς του πεδίου
● Προορίζονται να χρησιμοποιηθούν από μη προγραμματιστές που γνωρίζουν
καλά το πεδίο
Κωνσταντίνος Παναγιώτου
Γλώσσες Ειδικού Πεδίου - Κατηγοριοποίηση
13
Κωνσταντίνος Παναγιώτου
Δομή μιας ΓΕΠ
14
Κάθε ΓΕΠ έχει τη δική της
εσωτερική δομή.
● Metamodel(s) / Abstract Metamodel(s)
● Grammar(s) / Concrete Metamodel(s)
● Model Parser
● M2T Transformation(s)
● (Optional) Internal M2M(s)
● (Optional) CLI
● (Optional) REST API
Κωνσταντίνος Παναγιώτου
Ορισμοί - Μέτα-Μοντέλο
15
Metamodel:
Ορίζει τις έννοιες
του υπό μελέτη
πεδίου και τις
συσχετίσεις τους
Κωνσταντίνος Παναγιώτου
Ορισμοί - Γραμματική
16
Grammar:
Ορίζει τη γραμματική της
ΓΕΠ
Ακολουθεί το Metamodel
Κωνσταντίνος Παναγιώτου
Ορισμοί - Μοντέλο
17
Model:
An instance of a
Metamodel
Κωνσταντίνος Παναγιώτου
Γλώσσες Ειδικού Πεδίου - Μέγεθος Μέτα-Μοντέλων
18
{C}: Σύνολο εννοιών υποπεδίου Ζ
{Α}: Σύνολο συσχετίσεων εννοιών υποπεδίου
{R}: Σύνολο αναφορών σε όρους άλλων υποπεδίων
{E}: Σύνολο αναφερόμενων όρων άλλων υποπεδίων
Single metamodel
Μέγεθος Μέτα-μοντέλου:
Metamodel that references
another metamodel
Metamodel that references
several metamodels
*Διδακτορική Διατριβή του Δρ. Χριστόφορου Ζολώτα
http://ikee.lib.auth.gr/record/322055/files/GRI-2020-28762.pdf
Κωνσταντίνος Παναγιώτου 19
• ΜΕΡΟΣ B •
ΜΕΘΟΔΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ
ΓΛΩΣΣΩΝ ΕΙΔΙΚΟΥ ΠΕΔΙΟΥ
DSL Development Methodology
Συνεισφορά #1
Μεθοδολογία ανάπτυξης κειμενικών Γλωσσών Ειδικού Πεδίου
Κωνσταντίνος Παναγιώτου
Concept-driven Μεθοδολογία Ανάπτυξης ΓΕΠ
Στόχοι:
1. Η απεξάρτηση του επιπέδου
εφαρμογής από τα επίπεδα
Συσκευής και Συστήματος
2. Μείωση της πολυπλοκότητας
ανάπτυξης εφαρμογής
3. Αύξηση της παραγωγικότητας των
Citizen developers
Ύπαρξη πολλαπλών επιπέδων
ανάπτυξης
20
Κωνσταντίνος Παναγιώτου
Concept-driven Μεθοδολογία Ανάπτυξης ΓΕΠ
Στόχοι:
1. Η απεξάρτηση του επιπέδου
εφαρμογής από τα επίπεδα
Συσκευής και Συστήματος
2. Μείωση της πολυπλοκότητας
ανάπτυξης εφαρμογής
3. Αύξηση της παραγωγικότητας των
Citizen developers
Ύπαρξη πολλαπλών επιπέδων
ανάπτυξης
21
Κωνσταντίνος Παναγιώτου
Concept-driven Μεθοδολογία - Ανταγωνισμός
Στόχοι:
1. Η απεξάρτηση του επιπέδου
εφαρμογής από τα επίπεδα
Συσκευής και Συστήματος
2. Μείωση της πολυπλοκότητας
ανάπτυξης εφαρμογής
3. Αύξηση της παραγωγικότητας των
Citizen developers
Ύπαρξη πολλαπλών επιπέδων
ανάπτυξης
22
Κωνσταντίνος Παναγιώτου
Concept-driven Μεθοδολογία - Repositories
Επαναχρησιμοποίηση Μέτα-
μοντέλων και Μετασχηματισμών για
τη σύνθεση ΓΕΠ
● Metamodel Repository
● M2M Repository
● M2T Repository
Πρόβλημα:
Οι ΓΕΠ συνήθως επαναμοντελοποιούν
τις ίδιες έννοιες ξανά και ξανά!
23
Κωνσταντίνος Παναγιώτου
Μετρικές Γλωσσών
24
Μετρική Επεξήγηση
S Μέγεθος μετα-μοντέλου
L Μέγεθος της ΓΕΠ
TS Μέγεθος μετασχηματισμών Μ2Τ σε αναφερόμενες έννοιες εισόδου
TSC Μέγεθος μετασχηματισμών Μ2Τ σε LoC
MS Μέγεθος μετασχηματισμού M2M σε αναφερόμενες έννοιες εισόδου-εξόδου
MSC Μέγεθος μετασχηματισμού M2M σε LoC
LS Μέγεθος μετασχηματισμού L2L σε αναφερόμενες έννοιες εισόδου-εξόδου
LSC Μέγεθος μετασχηματισμού L2L σε LoC
Προτεινόμενες Μετρικές
Κωνσταντίνος Παναγιώτου
Concept-driven Μεθοδολογία - High Reusability
Ανάλυση δομής μιας ΓΕΠ:
Όπου:
{W}: Σύνολο των Μέτα-μοντέλων
{Z}: Σύνολο των μετασχηματισμών Μ2Μ
{P}: Σύνολο των μετασχηματισμών Μ2Τ
Σύνολο όρων της ΓΕΠ:
Ιδανικά θέλουμε:
Μη επικαλυπτόμενοι όροι στο
Metamodel Repository
25
Κωνσταντίνος Παναγιώτου
Concept-driven Ανάπτυξη ΓΕΠ - Metrics
Μέγεθος της ΓΕΠ:
Όπου:
S: Μέγεθος Μέτα-μοντέλου
ΜS: Μέγεθος M2M σε αναφερόμενες έννοιες
TS: Μέγεθος M2T σε αναφερόμενες έννοιες
|L|: Μέγεθος της ΓΕΠ
α: Συντελεστής πολυπλοκότητας μέτα-μοντέλου
του υπό-πεδίου
β: Συντελεστής πολυπλοκότητας
μετασχηματισμού Μ2Μ
γ: Συντελεστής πολυπλοκότητας
μετασχηματισμού Μ2Τ
Πολυπλοκότητα της ΓΕΠ:
α = β = 1
γ: Εξαρτάται από την
πολυπλοκότητα
υλοποίησης σε GPL
26
Κωνσταντίνος Παναγιώτου
Μετασχηματισμοί L2L - From MM to L
Μετασχηματισμός ΓΕΠ σε ΓΕΠ:
Υποθέσεις:
● Η ΓΕΠ είναι textual
● Η ΓΕΠ ορίζει το δικό της ΜΜ (Root MM)
● Το Root MM “πρέπει” να περιλαμβάνει
ΜΜ από το repository
Άρα:
● Ορίζουμε την έννοια L2L
● Ο L2L μετασχηματισμός είναι M2M
● Μπορεί να αναπτυχθεί όπως οι M2T
● Χρησιμοποιείται η έννοια Import για
μοντέλα μεταξύ διαφορετικών ΓΕΠ
27
Import model A to model B:
Use/Attach the information of model
A, so that B makes sense
Κωνσταντίνος Παναγιώτου
Μετασχηματισμοί L2L - From MM to L
Η διαδικασία μετασχηματισμού θα
πρέπει να εφαρμόζει επικύρωση
στις 2 ΓΕΠ:
● Εκτελείται επικύρωση του μοντέλου
της ΓΕΠ Α
● Εκτελείται ο μετασχηματισμός Μ2Τ
● Εκτελείται επικύρωση του
παραγόμενου μοντέλου της ΓΕΠ Β
28
Μετασχηματισμός σε επίπεδο
Γραμματικής!!
Κωνσταντίνος Παναγιώτου
Μείωση πολυπλοκότητας ανάπτυξης Μ2Τ
Στόχος: Μείωση της πολυπλοκότητας
στην ανάπτυξη μετασχηματισμών Μ2Τ
Μείωση του συντελεστή “γ”
Ανάπτυξη Εσωτερικής ΓΕΠ (με το ίδιο ΜΜ)
29
Κωνσταντίνος Παναγιώτου
Μείωση πολυπλοκότητας ανάπτυξης Μ2Τ
30
GoalDSL
LoC παραγόμενου κώδικα
Χρήση εσωτερικής ΓΕΠ:
● Μείωση του όγκου του παραγόμενου κώδικα
● Αύξηση της παραγωγικότητας στην
ανάπτυξη M2T
SmAuto
LoC παραγόμενου κώδικα
Μειονεκτήματα:
● Συντήρηση εξωτερικής και εσωτερικής
ΓΕΠ
Κωνσταντίνος Παναγιώτου
Επικύρωση Προτεινόμενης Μεθοδολογίας
Birth and death of a commercial modeling tool: lessons learned
by Jordi Cabot | Oct 17, 2023 | AI, article, empirical studies
Moving to an Internal DSL to avoid
reinventing the wheel
31
Κωνσταντίνος Παναγιώτου 32
• ΜΕΡΟΣ Γ •
ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ
ΔΟΜΙΚΩΝ ΣΤΟΙΧΕΙΩΝ
Design and Implementation of Core Elements
Κωνσταντίνος Παναγιώτου
Μοντελοστρεφής Ανάπτυξη ΚΦΣ
Διάσπαση του πεδίου και Μετα-
Μοντελοποίηση διαφόρων πτυχών των
ΚΦΣ:
● Device
● System
● Application
● Communication
Συνεισφορά #2
Μέτα-μοντελοποίηση διαφόρων πτυχών των
Κυβερνοφυσικών Συστημάτων
33
Κωνσταντίνος Παναγιώτου
Μοντελοστρεφής Ανάπτυξη ΚΦΣ
34
Συνεισφορά:
32 Μέτα-μοντέλα σε 4 Επίπεδα
4 εσωτερικές ΓΕΠ
9 εξωτερικές ΓΕΠ
10 μετασχηματισμοί M2M
15 μετασχηματισμοί Μ2Τ
6 μετασχηματισμοί L2L
Κωνσταντίνος Παναγιώτου 35
• ΜΕΡΟΣ Γ •
1. ΕΠΙΠΕΔΟ ΕΠΙΚΟΙΝΩΝΙΑΣ
Communication Layer
Συνεισφορά #3
Ενιαίο μεσολογισμικό διασύνδεσης και επικοινωνίας για ΚΦΣ
Κωνσταντίνος Παναγιώτου
Commlib
36
● Τοπική επικοινωνία σε επίπεδο συσκευής
● Επικοινωνία συσκευής με Edge και Cloud
● Διασύνδεση Edge και Cloud
● Protocol-agnostic
○ MQTT
○ AMQP
○ Kafka
○ Redis
● Γέφυρες μεταξύ πρωτοκόλλων
● Επικοινωνία με REST υπηρεσίες
● Επικοινωνία με δομές αποθήκευσης
Κωνσταντίνος Παναγιώτου
Commlib-py
37
*https://www.pepy.tech/projects/commlib-py
*https://pypistats.org/packages/commlib-py
*https://github.com/conda-forge/commlib-py-feedstock
Κωνσταντίνος Παναγιώτου 38
• ΜΕΡΟΣ Γ •
2. ΕΠΙΠΕΔΟ ΣΥΣΚΕΥΗΣ
Device Layer
Συνεισφορά #4
Ενσωμάτωση ρομποτικών συστημάτων σε συστήματα στο Edge
και στο Cloud
Κωνσταντίνος Παναγιώτου
Η Γλώσσα GeneROS
39
Μοντελοποίηση ρομποτικών συστημάτων
Αφορά την:
● Μοντελοποίηση τοπολογίας Συστήματος
● Γεφύρωση με το μεσολογισμικό επικοινωνίας
● Επικοινωνία ρομποτικών συστημάτων με το Edge και
το Cloud
● Αυτόματη παραγωγή αρχείων τεκμηρίωσης
συστήματος
● Παραγωγή λογισμικού για ROS και ROS2 συστήματα
● Ενσωμάτωση με πλατφόρμες low-code
Κωνσταντίνος Παναγιώτου
Η Γλώσσα GeneROS
40
● Turtlebot3 Platform
● 3 Sonar (Range Finder) Sensors
● Uses ROS2 packages
Κωνσταντίνος Παναγιώτου
Η Γλώσσα DeMoL
41
Γλώσσα μοντελοποίησης και αυτόματης
παραγωγής λογισμικού για συσκευές χαμηλής
κατανάλωσης
● Μοντελοποίηση περιφερειακών συσκευών
(αισθητήρες & ενεργοποιητές)
● Σύνθεση ενσωματωμένων συσκευών (π.χ. Raspberry
και ESP32 boards)
● Αυτοματοποίηση της διαδικασίας ανάπτυξης του
λογισμικού ελέγχου (Drivers)
● Peripherals-as-a-Service
Ανάπτυξη ξεχωριστών
αρχείων template για κάθε
περιφερειακή συσκευή
Κωνσταντίνος Παναγιώτου 42
• ΜΕΡΟΣ Γ •
3. ΕΠΙΠΕΔΟ ΣΥΣΤΗΜΑΤΟΣ
System Layer
Κωνσταντίνος Παναγιώτου
H ΓΕΠ CPS-ML
43
Γλώσσα Μοντελοποίησης
Κυβερνοφυσικών Συστημάτων
Έννοιες:
● Smart Environment
● System
● Communication
● Networking
● Smart Things
● Messaging
● Geometry
Κωνσταντίνος Παναγιώτου
H ΓΕΠ ROSBridgeML
44
Γλώσσα Γεφύρωσης Ρομποτικών Συστημάτων
με Edge και Cloud
Έννοιες:
● Topic Bridge
● Service Bridge
● Action Bridge
● TF Bridge
● Communication
Μετασχηματισμός σε λογισμικό γεφύρωσης για συστήματα ROS & ROS2
Κωνσταντίνος Παναγιώτου 45
• ΜΕΡΟΣ Γ •
4. ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ
Application Layer
Συνεισφορά #5
Ανάπτυξη Γλωσσών Ειδικού Πεδίου για την υποστήριξη της ταχείας
ανάπτυξης εφαρμογών από “Citizen Developers”
Κωνσταντίνος Παναγιώτου
H ΓΕΠ SmAuto
46
Ανάπτυξη εφαρμογών αυτοματισμού βάσει εργασιών
(Task-driven Applications)
Μετασχηματισμός σε λογισμικό αυτοματισμών
Μετασχηματισμός σε λογισμικό εικονικών οντοτήτων
Μετασχηματισμός σε μοντέλο της γλώσσας CodinTxt
Έννοιες:
● Entity
● Automation
● Condition
● Communication
Κωνσταντίνος Παναγιώτου
H ΓΕΠ SmAuto - Entities
47
Μία Οντότητα:
● Φυσικοί ή Εικονικοί αισθητήρες (sensors)
● Φυσικοί ή Εικονικοί ενεργοποιητές (actuators)
● Ένας πόρος μίας Συσκευής/Ρομπότ
● Εξωτερικές Υπηρεσίες (π.χ. REST Services)
Λειτουργικότητα:
● Automation M2T
● Virtual Entity M2T
● Μ2Μ από μοντέλα System/Environment
● Αρχιτεκτονική πολλαπλών διαμεσολαβητών
Entity temperature_sensor
type: sensor
topic: "home.temperature"
broker: home_mqtt_broker
attributes:
- temperature: float
end
Κωνσταντίνος Παναγιώτου
H ΓΕΠ SmAuto - Virtual Entities
48
Ορίζονται
value και noise generators για
κάθε Attribute
Entity weather_station
type: sensor
freq: 5
topic: "smauto.bme"
broker: home_mqtt_broker
attributes:
- temperature: float -> gaussian(10, 20, 5) with noise gaussian(1,1)
- humidity: float -> linear(1, 0.2) with noise uniform (0, 1)
- pressure: float -> constant(0.5)
end
<ValueGenerator> with noise <NoiseGenerator>
Entity State @ t
-
temperature: 11.5
- humidity:
65
- pressure:
0.5
Κωνσταντίνος Παναγιώτου
H ΓΕΠ SmAuto - Automation
49
Τα Automations επιτρέπουν την εκτέλεση μιας σειράς από Actions όταν ικανοποιείται
μια προκαθορισμένη συνθήκη (Condition)
Τα Actions αποστέλλουν εντολές (messages) αλλαγής της κατάστασης (state change)
των ενεργοποιητών (actuators).
Τα Actions εφαρμόζονται στα Attributes των Entities.
Automation start_humidifier
condition:
bedroom_humidity_sensor.humidity >
0.6
continuous: false
actions:
- bedroom_humidifier.power: true
- bedroom_humidifier.timer: -1
starts:
- stop_humidifier
end
Automation stop_humidifier
condition:
bedroom_humidity_sensor.humidity <
0.3
enabled: false
continuous: false
actions:
- bedroom_humidifier.power: false
starts:
- start_humidifier
end
start_humidifier stop_humidifier
Start -> disabled
Stop -> enabled
Start -> enabled
Stop -> disabled
Κωνσταντίνος Παναγιώτου
H ΓΕΠ GoalDSL
50
Επαλήθευση συμπεριφοράς εφαρμογών με
γνώμονα τον στόχο (Goal-driven Behaviour
Verification of Applications)
Μετασχηματισμός σε λογισμικό επαλήθευσης συμπεριφοράς
Μετασχηματισμός σε εικονικές οντότητες
Κωνσταντίνος Παναγιώτου
H ΓΕΠ dFlow
51
Γλώσσα μοντελοποίησης και
αυτόματης παραγωγής λογισμικού
Ψηφιακών Βοηθών (Virtual Assistants /
VAs) ανοιχτού κώδικα
Μετασχηματισμός σε λογισμικό VA
Κωνσταντίνος Παναγιώτου
H ΓΕΠ CodinTxt
52
Περιγραφή γραφικών περιβαλλόντων τύπου
Dashboards
Κωνσταντίνος Παναγιώτου
Reusability στην Concept-driven Μεθοδολογία
54
Κωνσταντίνος Παναγιώτου 55
• ΜΕΡΟΣ Γ •
5. ΠΛΑΤΦΟΡΜΑ ΑΝΑΠΤΥΞΗΣ ΣΕ ΚΦΣ
Low-code Platform for CPS
Κωνσταντίνος Παναγιώτου
H Πλατφόρμα LocSys
56
Πλατφόρμα low-code ανάπτυξης ΚΦΣ:
● Υλοποιεί την Concept-driven
Μεθοδολογία
● Ενσωμάτωση ΓΕΠ σε Περιβάλλοντα στο
Web
● Ενσωμάτωση μετασχηματισμών M2M και
M2T
● Ανάπτυξη Σύνθετων ΓΕΠ (Pipelines)
Κωνσταντίνος Παναγιώτου
H Πλατφόρμα LocSys - Α use case
57
Κωνσταντίνος Παναγιώτου 58
• ΜΕΡΟΣ Δ •
ΑΞΙΟΛΟΓΗΣΗ
Evaluation
Κωνσταντίνος Παναγιώτου 59
• ΜΕΡΟΣ Δ •
1. ΜΕΤΡΙΚΕΣ ΤΩΝ ΓΕΠ
Evaluation: DSL metrics
Κωνσταντίνος Παναγιώτου
Μετρικές Μέτα-Μοντέλων
60
S < 60
(Με βάση τη βιβλιογραφία)
S < 20: Υπο-πεδία που
επαναχρησιμοποιούνται σε ΓΕΠ
Do NOT reinvent the wheel
Reuse instead!!!
32 Μέτα-μοντέλα
Κωνσταντίνος Παναγιώτου
Μετρικές Μετασχηματισμών M2T
61
DeMoL: Ανάπτυξη ξεχωριστών αρχείων
template για κάθε περιφερειακή συσκευή
M2T TSC TS
ExtendedEntityToPython 309 11
ExtendedEntityToPythonMerged 509 11
SmAutoToPython 544 14
GoalDSLToPython 118 14
DeMoLToDiagram 92 4
DeMoLToRiot 162 40
DeMoLToRaspi 174 40
GenerosToROS2 634 63
RosbridgeToROS 172 9
RosbridgeToROS2 180 9
CodinTxtToCodin 217 17
CPSSystem2Diagram 121 8
CPSSystem2Markdown 82 27
CommIDLToPython 203 4
dFlow2Code 557 37
Επίπεδο Εφαρμογής
Επίπεδο Συσκευής
Κωνσταντίνος Παναγιώτου
Μετρικές Μετασχηματισμών M2T
62
M2T TSC TS
ExtendedEntityToPython 309 11
ExtendedEntityToPythonMerged 509 11
SmAutoToPython 544 14
GoalDSLToPython 118 14
DeMoLToDiagram 92 4
DeMoLToRiot 162 40
DeMoLToRaspi 174 40
GenerosToROS2 634 63
RosbridgeToROS 172 9
RosbridgeToROS2 180 9
CodinTxtToCodin 117 17
CPSSystem2Diagram 121 8
CPSSystem2Markdown 82 27
CommIDLToPython 203 4
dFlow2Code 557 37
Χρήση Εσωτερικής ΓΕΠ
Μείωση μεγέθους του Μ2Τ
Κωνσταντίνος Παναγιώτου
Μετρικές Μετασχηματισμών M2M
63
M2M MSC MS In MS Out MS
CPSMLSystemToEntity 68 11 4 15
CPSMLEnvironmentToEntity 52 7 4 11
CPSMLSystemToExtendedEntity 225 11 11 22
CPSMLEnvironmentToExtendedEntity 207 7 11 18
CPSMLResourceToApi 55 8 6 14
CPSMLSystemToResources 71 11 8 19
CPSMLEnvironmentToResources 63 7 8 15
ExtendedEntityToSmAuto 163 11 4 15
ExtendedEntityToGoalDSL 163 11 4 15
ExtendedEntityToCodinTxt 100 11 10 21
Μέτρο της δυσκολίας ανάπτυξης
Κωνσταντίνος Παναγιώτου
L2L LSC LS
CPSMLToSmAuto 39 7
CPSMLToGoalDSL 39 7
RosbridgeMLToCommlibIDL 64 8
SmAutoToCodinTxt 100 12
GoalDSLToCodinTxt 100 12
GeneROSToRosbridgeML 174 15
Μετρικές Μετασχηματισμών L2L
64
Επαναχρησιμοποίηση μοντέλων
μεταξύ των ΓΕΠ (IMPORT)
Διαφορετικά θα έπρεπε:
CPSML.System
Model
ExtendedEntity
Model
Μ2Μ
SmAuto
Model
GoalDSL
Model
Μ2Μ
Μ2Μ
M2M MS
CPSMLSystemToExtendedEntity 225
ExtendedEntityToSmAuto 163
ExtendedEntityToGoalDSL 145
ExtendedEntityToCodinTxt 100
225
163
145
Κωνσταντίνος Παναγιώτου
Μετρικές Μεγέθους ΓΕΠ
65
Metric DeMoL GeneROS CPSML Smauto GoalDSL dFlow CodinTxt ROSBridgeML CommIDL
S 100 164 235 104 84 78 54 49 39
MS 0 0 165 0 0 0 0 0 0
TS 84 63 57 36 36 37 17 18 4
LS 0 15 14 12 12 0 0 8 0
|L| 184 242 471 152 132 115 71 75 43
Όπου:
S: Μέγεθος Μέτα-μοντέλου
ΜS: Μέγεθος M2M σε αναφερόμενους
όρους
TS: Μέγεθος M2T σε αναφερόμενους
όρους
ΜS: Μέγεθος L2L σε αναφερόμενους
όρους
|L|: Μέγεθος της ΓΕΠ
Concept-driven DSL Development
Κωνσταντίνος Παναγιώτου 66
• ΜΕΡΟΣ Δ •
2. ΕΡΓΑΣΤΗΡΙΑ ΑΞΙΟΛΟΓΗΣΗΣ
Evaluation: Workshops
SmAuto
Workshop
LocSys
Workshop
dFlow
Workshop
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - SUS
67
Εργαλείο Ευχρηστίας SUS*
Εργαλείο για την αξιολόγηση της ευχρηστίας ενός συγκεκριμένου
εργαλείου, συστήματος ή υπηρεσίας
Ερωτηματολόγιο με 10 Ερωτήσεις
Χ: Αφορά τη βαθμολογία για όλες τις ερωτήσεις με μονό αριθμό
Υ: Αφορά τη βαθμολογία για όλες τις ερωτήσεις με ζυγό αριθμό
SUS: Βαθμολογία SUS για κάθε συμμετέχοντα
*https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο dFlow
Συμμετέχοντες: 219 Φοιτητές
3 Tasks: 2 hours
Submitted 842 Models
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο dFlow
69
Οικειότητα με το πεδίο
Χαμηλή
Programming: 2.4
NLU: 1.36
Κλίμακα: 1-5 (Low-High)
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο dFlow
70
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο SmAuto
71
Συμμετέχοντες: 22 Φοιτητές
3 Tasks: 15’, 15’ και 30’
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο SmAuto
72
Οικειότητα με το πεδίο
Επιτυχία: 22 / 22 = 100%
Μέτρια
IoT: 2.63
Smart Home: 2.36
Programming: 3.54
Κλίμακα: 1-5 (Low-High)
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο SmAuto
73
Συμμετέχοντες: 22 Φοιτητές
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο LocSys
74
4 Tasks: 5’, 10’, 30’ και 10’
T1: Create an environment of size 4x4 using
EnvMaker
T2: Import this environment in an EnvPop model
and add sensors/actuators
T3: Transform to an SmAuto model and add
Automations
T4: Transform to CodinTxt and deploy the
dashboard
Συμμετέχοντες: 86 (Open Call)
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο LocSys
75
Επιτυχία: 81 / 84 = 96.42%
Model Validations: 943 (σε 55’)
Total Models: 86
Οικειότητα με το πεδίο
Χαμηλή/Μέτρια
CPS: 2.16
Smart Home: 2.49
Programming: 3.23
Κλίμακα: 1-5 (Low-High)
Κωνσταντίνος Παναγιώτου
Αξιολόγηση - Εργαστήριο LocSys
76
Συμμετέχοντες: 86
Ερωτηματολόγιο: 44 συμμετέχοντες
Κωνσταντίνος Παναγιώτου 77
• ΜΕΡΟΣ E •
ΣΥΜΠΕΡΑΣΜΑΤΑ &
ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ
Conclusion & Future Work
Κωνσταντίνος Παναγιώτου
Συμπεράσματα Διατριβής
78
Με βάση τους στόχους της διατριβής:
● Μέτα-Μοντελοποιήσαμε διάφορες πτυχές των ΚΦΣ
● Προτείναμε μεθοδολογία Concept-driven στη μέτα-μοντελοποίηση και στην ανάπτυξη ΓΕΠ για
σύνθετα πολυ-επίπεδα πεδία
● Διασπάσαμε τις ΓΕΠ σε υπό-πεδία εξειδίκευσης και ανάπτυξης
● Ενσωματώσαμε ρομποτικά συστήματα στο φάσμα των σύγχρονων ΚΦΣ, σε Edge και Cloud
συστήματα και πλατφόρμες
● Αξιολογήσαμε την προτεινόμενη μεθοδολογία μέσα από Workshops με σημαντικό αριθμό
χρηστών
Τι πετύχαμε:
● Επιτάχυνση της διαδικασίας σχεδίασης και ανάπτυξης ΚΦΣ
● Αύξηση της παραγωγικότητας ανάπτυξης εφαρμογών
● Δημιουργία ΓΕΠ υψηλού επιπέδου (εφαρμογής), ιδανικές για την ανάπτυξη από μη ειδικούς
● Αποδόμηση του προβλήματος σε ΓΕΠ μικρής πολυπλοκότητας
Κωνσταντίνος Παναγιώτου
Μελλοντικές Επεκτάσεις
79
● Επέκταση της πλατφόρμας LocSys για πλήρη αυτοματοποίηση σε όλο το φάσμα των
ΚΦΣ
● Μελέτη αυτοματοποίησης από αφαιρετικά μοντέλα προδιαγραφών (user requirements,
user stories)
● Εκπαίδευση μοντέλων LLM σε κειμενικές ΓΕΠ για τον μετασχηματισμό λεκτικών
περιγραφών σε μοντέλα με ικανότητες αυτοματοποίησης
● Διοργάνωση Εργαστηρίων Αξιολόγησης των γλωσσών DeMoL και GeneROS με
ειδικούς των πεδίων
● Υλοποίηση ΓΕΠ ανάπτυξης εξειδικευμένης λειτουργικότητας σε ρομπότ
● Αυτόματη εγκατάσταση μηχανισμού ελέγχου πρόσβασης σε επίπεδο μεσολογισμικού
επικοινωνίας, από μοντέλα περιγραφής Συστήματος/Περιβάλλοντος
Κωνσταντίνος Παναγιώτου
Επιστημονικές Δημοσιεύσεις
80
Εργασίες σε Περιοδικά με κριτές
1. Panayiotou, Konstantinos, Emmanouil Tsardoulias, Christoforos Zolotas, Andreas L. Symeonidis, and
Loukas Petrou. ”A Framework for Rapid Robotic Application Development for Citizen Developers.” Software
1, no. 1 (2022): 53-79.
2. Panayiotou, Konstantinos, Emmanouil Tsardoulias, and Andreas L. Symeonidis. ”Commlib: An easy-to-
use communication library for Cyber–Physical Systems.” SoftwareX 19 (2022): 101180
3. Brouzos, R., Panayiotou, K., Tsardoulias, E. et al. A Low-Code Approach for Connected Robots. J Intell
Robot Syst 108, 28 (2023)
4. Panayiotou Konstantinos, Emmanouil Tsardoulias, and Andreas L. Symeonidis. SmAuto: A Domain-
specific-Language for Application Development in Smart Environments. Journal of Pervasive and Mobile
Computing, Accepted (2023).
5. Konstantinos Panayiotou, Emmanouil Tsardoulias, Andreas L. Symeonidis, Defining a Domain-specific
Language for verifying the validity of Cyber-Physical Systems (Under review)
6. Nikolaos Malamas, Konstantinos Panayiotou, Andreas L. Symeonidis, dFlow: A Domain Specific
Language for the Rapid Development of open-source Virtual Assistants (Under review)
Κωνσταντίνος Παναγιώτου
Επιστημονικές Δημοσιεύσεις
81
Δημοσιεύσεις σε Πρακτικά Συνεδρίων με Σύστημα Κριτών
1. Panayiotou Konstantinos, Emmanouil Tsardoulias, Christopher Zolotas, Andreas L. Symeonidis et al. "Ms
Pacman and the Robotic Ghost: A Modern Cyber-Physical Remake of the Famous Pacman Game." In 2019
Sixth International Conference on Internet of Things: Systems, Management and Security (IOTSMS), pp.
147-154. IEEE, 2019.
2. Mousouliotis, Panagiotis G., Konstantinos L. Panayiotou, Emmanouil G. Tsardoulias, Loukas P. Petrou,
and Andreas L. Symeonidis. ”Expanding a robot’s life: Low power object recognition via FPGA-based DCNN
deployment.” In 2018 7th International Conference on Modern Circuits and Systems Technologies
(MOCAST), pp. 1-4. IEEE, 2018
Κωνσταντίνος Παναγιώτου 82
Thank you for your Patience!!
Feeling ready for Q&As
Contact: klpanagi@ece.auth.gr

Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λογισμικού Κυβερνοφυσικών Συστημάτων με τεχνικές Μηχανικής Λογισμικού Οδηγούμενης από Μοντέλα

  • 1.
    Μηχανισμοί αυτοματοποίησης διαδικασιώνσχεδίασης, υλοποίησης και ανάπτυξης λογισμικού Κυβερνοφυσικών Συστημάτων με τεχνικές Μηχανικής Λογισμικού Οδηγούμενης από Μοντέλα​ Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Διδακτορική Διατριβή Εκπόνηση: Παναγιώτου Κωνσταντίνος Επιβλέπων: Καθ. Ανδρέας Συμεωνίδης
  • 2.
    Κωνσταντίνος Παναγιώτου Το Κίνητρο 2 Πρόβλημα: Πολυπλοκότητασχεδίασης και ανάπτυξης εφαρμογών σε Κυβερνοφυσικά συστήματα Κίνητρο: Ταχεία σχεδίαση και ανάπτυξη εφαρμογών για Κυβερνοφυσικά συστήματα που διαχειρίζονται συσκευές και ρομποτικά συστήματα σε Edge και Cloud
  • 3.
    Κωνσταντίνος Παναγιώτου Στόχος τηςΔιατριβής 3 Βασικοί Στόχοι: 1. Προσδιορισμός διαδικασιών ταχείας ανάπτυξης λογισμικού για ΚΦΣ 2. Μείωση της πολυπλοκότητας σχεδίασης και ανάπτυξης εφαρμογών ΚΦΣ 3. Αύξηση της παραγωγικότητας στην ανάπτυξη εφαρμογών ΚΦΣ 4. Πρόσβαση στην ανάπτυξη εφαρμογών ΚΦΣ από μη ειδικούς (Citizen Developers) 5. Αξιολόγηση των μεθόδων ανάπτυξης με τη χρήση κειμενικών Γλωσσών Ειδικού Πεδίου
  • 4.
    Κωνσταντίνος Παναγιώτου Συνεισφορά τηςΔιατριβής 4 1. Μεθοδολογία ανάπτυξης κειμενικών Γλωσσών Ειδικού Πεδίου 2. Μέτα-μοντελοποίηση διαφόρων πτυχών των σύγχρονων Κυβερνοφυσικών Συστημάτων 3. Υλοποίηση ενιαίου μεσολογισμικού διασύνδεσης και επικοινωνίας για ΚΦΣ 4. Ενσωμάτωση ρομποτικών συστημάτων σε συστήματα στο Edge και στο Cloud 5. Ανάπτυξη Γλωσσών Ειδικού Πεδίου για την υποστήριξη της ταχείας ανάπτυξης εφαρμογών από “Citizen Developers” 4 Journal Articles 2 Conference Papers 3 Workshops
  • 5.
    Κωνσταντίνος Παναγιώτου Συνεισφορά τηςΔιατριβής 5 Συνεισφορά σε εργαλεία λογισμικού ανοιχτού κώδικα ● 13 Γλώσσες Ειδικού Πεδίου (9 εσωτερικές & 4 εξωτερικές) ● Μεσολογισμικό συσκευών σε ΚΦΣ ● Μεσολογισμικό επικοινωνίας σε ΚΦΣ ● Σύστημα διαχείρισης εφαρμογών σε συσκευές
  • 6.
    Κωνσταντίνος Παναγιώτου 6 •ΜΕΡΟΣ Α • ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Theory - Background
  • 7.
    Κωνσταντίνος Παναγιώτου 7 •ΜΕΡΟΣ Α • 1. ΚΥΒΕΡΝΟΦΥΣΙΚΑ ΣΥΣΤΗΜΑΤΑ Cyber-Physical Systems
  • 8.
    Κωνσταντίνος Παναγιώτου Ορισμός τωνΚΦΣ 8 Κυβερνοφυσικά Συστήματα: Συστήματα που ενσωματώνουν φυσικές και ψηφιακές οντότητες, με ικανότητα: ● Διασύνδεσης και επικοινωνίας ● Απομακρυσμένης παρακολούθησης και ελέγχου ● Αυτοματοποίησης διεργασιών ● Ενσωμάτωσης με τεχνολογίες Edge, Cloud και Web
  • 9.
    Κωνσταντίνος Παναγιώτου Οντότητες πουσυναντάμε σε ΚΦΣ 9 Φυσικές Οντότητες ● Αισθητήρες & Ενεργοποιητές ● Ρομπότ & Ενσωματωμένες Συσκευές ● Υπολογιστικές μονάδες και Διακομιστές Ψηφιακές Οντότητες ● Υπηρεσίες αποθήκευσης δεδομένων ● Υπηρεσίες επεξεργασίας και ανάλυσης δεδομένων ● Υπηρεσίες λήψης αποφάσεων ● Πλατφόρμες και περιβάλλοντα ανάπτυξης ● Εφαρμογές παρακολούθησης και ελέγχου συσκευών/συστημάτων
  • 10.
    Κωνσταντίνος Παναγιώτου Παραδείγματα ΣύγχρονωνΚΦΣ 10 Ρομποτικά Συστήματα με δυνατότητα απομακρυσμένου ελέγχου Έξυπνες Υποδομές (Smart Infrastructure) ● Smart Grid ● Smart Agriculture ● Smart Home ● Smart Industry ● Smart Cities Αυτόνομα οχήματα Ψηφιακά Δίδυμα (Digital Twins)
  • 11.
    Κωνσταντίνος Παναγιώτου 11 •ΜΕΡΟΣ Α • 2. ΓΛΩΣΣΕΣ ΕΙΔΙΚΟΥ ΠΕΔΙΟΥ Domain Specific Languages
  • 12.
    Κωνσταντίνος Παναγιώτου Γλώσσες ΕιδικούΠεδίου 12 Μια Γλώσσα Ειδικού Πεδίου (ΓΕΠ) είναι μία γλώσσα προγραμματισμού με υψηλότερο επίπεδο αφαίρεσης, βελτιστοποιημένη για ένα συγκεκριμένο πεδίο. Χρησιμοποιεί τις έννοιες και τους κανόνες από το πεδίο ή τον τομέα εφαρμογής. Βασικά χαρακτηριστικά: ● Λιγότερο πολύπλοκη από τις General Purpose Languages (GPL) ● Αναπτύσσονται σε στενό συντονισμό με τους ειδικούς του πεδίου ● Προορίζονται να χρησιμοποιηθούν από μη προγραμματιστές που γνωρίζουν καλά το πεδίο
  • 13.
  • 14.
    Κωνσταντίνος Παναγιώτου Δομή μιαςΓΕΠ 14 Κάθε ΓΕΠ έχει τη δική της εσωτερική δομή. ● Metamodel(s) / Abstract Metamodel(s) ● Grammar(s) / Concrete Metamodel(s) ● Model Parser ● M2T Transformation(s) ● (Optional) Internal M2M(s) ● (Optional) CLI ● (Optional) REST API
  • 15.
    Κωνσταντίνος Παναγιώτου Ορισμοί -Μέτα-Μοντέλο 15 Metamodel: Ορίζει τις έννοιες του υπό μελέτη πεδίου και τις συσχετίσεις τους
  • 16.
    Κωνσταντίνος Παναγιώτου Ορισμοί -Γραμματική 16 Grammar: Ορίζει τη γραμματική της ΓΕΠ Ακολουθεί το Metamodel
  • 17.
    Κωνσταντίνος Παναγιώτου Ορισμοί -Μοντέλο 17 Model: An instance of a Metamodel
  • 18.
    Κωνσταντίνος Παναγιώτου Γλώσσες ΕιδικούΠεδίου - Μέγεθος Μέτα-Μοντέλων 18 {C}: Σύνολο εννοιών υποπεδίου Ζ {Α}: Σύνολο συσχετίσεων εννοιών υποπεδίου {R}: Σύνολο αναφορών σε όρους άλλων υποπεδίων {E}: Σύνολο αναφερόμενων όρων άλλων υποπεδίων Single metamodel Μέγεθος Μέτα-μοντέλου: Metamodel that references another metamodel Metamodel that references several metamodels *Διδακτορική Διατριβή του Δρ. Χριστόφορου Ζολώτα http://ikee.lib.auth.gr/record/322055/files/GRI-2020-28762.pdf
  • 19.
    Κωνσταντίνος Παναγιώτου 19 •ΜΕΡΟΣ B • ΜΕΘΟΔΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΓΛΩΣΣΩΝ ΕΙΔΙΚΟΥ ΠΕΔΙΟΥ DSL Development Methodology Συνεισφορά #1 Μεθοδολογία ανάπτυξης κειμενικών Γλωσσών Ειδικού Πεδίου
  • 20.
    Κωνσταντίνος Παναγιώτου Concept-driven ΜεθοδολογίαΑνάπτυξης ΓΕΠ Στόχοι: 1. Η απεξάρτηση του επιπέδου εφαρμογής από τα επίπεδα Συσκευής και Συστήματος 2. Μείωση της πολυπλοκότητας ανάπτυξης εφαρμογής 3. Αύξηση της παραγωγικότητας των Citizen developers Ύπαρξη πολλαπλών επιπέδων ανάπτυξης 20
  • 21.
    Κωνσταντίνος Παναγιώτου Concept-driven ΜεθοδολογίαΑνάπτυξης ΓΕΠ Στόχοι: 1. Η απεξάρτηση του επιπέδου εφαρμογής από τα επίπεδα Συσκευής και Συστήματος 2. Μείωση της πολυπλοκότητας ανάπτυξης εφαρμογής 3. Αύξηση της παραγωγικότητας των Citizen developers Ύπαρξη πολλαπλών επιπέδων ανάπτυξης 21
  • 22.
    Κωνσταντίνος Παναγιώτου Concept-driven Μεθοδολογία- Ανταγωνισμός Στόχοι: 1. Η απεξάρτηση του επιπέδου εφαρμογής από τα επίπεδα Συσκευής και Συστήματος 2. Μείωση της πολυπλοκότητας ανάπτυξης εφαρμογής 3. Αύξηση της παραγωγικότητας των Citizen developers Ύπαρξη πολλαπλών επιπέδων ανάπτυξης 22
  • 23.
    Κωνσταντίνος Παναγιώτου Concept-driven Μεθοδολογία- Repositories Επαναχρησιμοποίηση Μέτα- μοντέλων και Μετασχηματισμών για τη σύνθεση ΓΕΠ ● Metamodel Repository ● M2M Repository ● M2T Repository Πρόβλημα: Οι ΓΕΠ συνήθως επαναμοντελοποιούν τις ίδιες έννοιες ξανά και ξανά! 23
  • 24.
    Κωνσταντίνος Παναγιώτου Μετρικές Γλωσσών 24 ΜετρικήΕπεξήγηση S Μέγεθος μετα-μοντέλου L Μέγεθος της ΓΕΠ TS Μέγεθος μετασχηματισμών Μ2Τ σε αναφερόμενες έννοιες εισόδου TSC Μέγεθος μετασχηματισμών Μ2Τ σε LoC MS Μέγεθος μετασχηματισμού M2M σε αναφερόμενες έννοιες εισόδου-εξόδου MSC Μέγεθος μετασχηματισμού M2M σε LoC LS Μέγεθος μετασχηματισμού L2L σε αναφερόμενες έννοιες εισόδου-εξόδου LSC Μέγεθος μετασχηματισμού L2L σε LoC Προτεινόμενες Μετρικές
  • 25.
    Κωνσταντίνος Παναγιώτου Concept-driven Μεθοδολογία- High Reusability Ανάλυση δομής μιας ΓΕΠ: Όπου: {W}: Σύνολο των Μέτα-μοντέλων {Z}: Σύνολο των μετασχηματισμών Μ2Μ {P}: Σύνολο των μετασχηματισμών Μ2Τ Σύνολο όρων της ΓΕΠ: Ιδανικά θέλουμε: Μη επικαλυπτόμενοι όροι στο Metamodel Repository 25
  • 26.
    Κωνσταντίνος Παναγιώτου Concept-driven ΑνάπτυξηΓΕΠ - Metrics Μέγεθος της ΓΕΠ: Όπου: S: Μέγεθος Μέτα-μοντέλου ΜS: Μέγεθος M2M σε αναφερόμενες έννοιες TS: Μέγεθος M2T σε αναφερόμενες έννοιες |L|: Μέγεθος της ΓΕΠ α: Συντελεστής πολυπλοκότητας μέτα-μοντέλου του υπό-πεδίου β: Συντελεστής πολυπλοκότητας μετασχηματισμού Μ2Μ γ: Συντελεστής πολυπλοκότητας μετασχηματισμού Μ2Τ Πολυπλοκότητα της ΓΕΠ: α = β = 1 γ: Εξαρτάται από την πολυπλοκότητα υλοποίησης σε GPL 26
  • 27.
    Κωνσταντίνος Παναγιώτου Μετασχηματισμοί L2L- From MM to L Μετασχηματισμός ΓΕΠ σε ΓΕΠ: Υποθέσεις: ● Η ΓΕΠ είναι textual ● Η ΓΕΠ ορίζει το δικό της ΜΜ (Root MM) ● Το Root MM “πρέπει” να περιλαμβάνει ΜΜ από το repository Άρα: ● Ορίζουμε την έννοια L2L ● Ο L2L μετασχηματισμός είναι M2M ● Μπορεί να αναπτυχθεί όπως οι M2T ● Χρησιμοποιείται η έννοια Import για μοντέλα μεταξύ διαφορετικών ΓΕΠ 27 Import model A to model B: Use/Attach the information of model A, so that B makes sense
  • 28.
    Κωνσταντίνος Παναγιώτου Μετασχηματισμοί L2L- From MM to L Η διαδικασία μετασχηματισμού θα πρέπει να εφαρμόζει επικύρωση στις 2 ΓΕΠ: ● Εκτελείται επικύρωση του μοντέλου της ΓΕΠ Α ● Εκτελείται ο μετασχηματισμός Μ2Τ ● Εκτελείται επικύρωση του παραγόμενου μοντέλου της ΓΕΠ Β 28 Μετασχηματισμός σε επίπεδο Γραμματικής!!
  • 29.
    Κωνσταντίνος Παναγιώτου Μείωση πολυπλοκότηταςανάπτυξης Μ2Τ Στόχος: Μείωση της πολυπλοκότητας στην ανάπτυξη μετασχηματισμών Μ2Τ Μείωση του συντελεστή “γ” Ανάπτυξη Εσωτερικής ΓΕΠ (με το ίδιο ΜΜ) 29
  • 30.
    Κωνσταντίνος Παναγιώτου Μείωση πολυπλοκότηταςανάπτυξης Μ2Τ 30 GoalDSL LoC παραγόμενου κώδικα Χρήση εσωτερικής ΓΕΠ: ● Μείωση του όγκου του παραγόμενου κώδικα ● Αύξηση της παραγωγικότητας στην ανάπτυξη M2T SmAuto LoC παραγόμενου κώδικα Μειονεκτήματα: ● Συντήρηση εξωτερικής και εσωτερικής ΓΕΠ
  • 31.
    Κωνσταντίνος Παναγιώτου Επικύρωση ΠροτεινόμενηςΜεθοδολογίας Birth and death of a commercial modeling tool: lessons learned by Jordi Cabot | Oct 17, 2023 | AI, article, empirical studies Moving to an Internal DSL to avoid reinventing the wheel 31
  • 32.
    Κωνσταντίνος Παναγιώτου 32 •ΜΕΡΟΣ Γ • ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΔΟΜΙΚΩΝ ΣΤΟΙΧΕΙΩΝ Design and Implementation of Core Elements
  • 33.
    Κωνσταντίνος Παναγιώτου Μοντελοστρεφής ΑνάπτυξηΚΦΣ Διάσπαση του πεδίου και Μετα- Μοντελοποίηση διαφόρων πτυχών των ΚΦΣ: ● Device ● System ● Application ● Communication Συνεισφορά #2 Μέτα-μοντελοποίηση διαφόρων πτυχών των Κυβερνοφυσικών Συστημάτων 33
  • 34.
    Κωνσταντίνος Παναγιώτου Μοντελοστρεφής ΑνάπτυξηΚΦΣ 34 Συνεισφορά: 32 Μέτα-μοντέλα σε 4 Επίπεδα 4 εσωτερικές ΓΕΠ 9 εξωτερικές ΓΕΠ 10 μετασχηματισμοί M2M 15 μετασχηματισμοί Μ2Τ 6 μετασχηματισμοί L2L
  • 35.
    Κωνσταντίνος Παναγιώτου 35 •ΜΕΡΟΣ Γ • 1. ΕΠΙΠΕΔΟ ΕΠΙΚΟΙΝΩΝΙΑΣ Communication Layer Συνεισφορά #3 Ενιαίο μεσολογισμικό διασύνδεσης και επικοινωνίας για ΚΦΣ
  • 36.
    Κωνσταντίνος Παναγιώτου Commlib 36 ● Τοπικήεπικοινωνία σε επίπεδο συσκευής ● Επικοινωνία συσκευής με Edge και Cloud ● Διασύνδεση Edge και Cloud ● Protocol-agnostic ○ MQTT ○ AMQP ○ Kafka ○ Redis ● Γέφυρες μεταξύ πρωτοκόλλων ● Επικοινωνία με REST υπηρεσίες ● Επικοινωνία με δομές αποθήκευσης
  • 37.
  • 38.
    Κωνσταντίνος Παναγιώτου 38 •ΜΕΡΟΣ Γ • 2. ΕΠΙΠΕΔΟ ΣΥΣΚΕΥΗΣ Device Layer Συνεισφορά #4 Ενσωμάτωση ρομποτικών συστημάτων σε συστήματα στο Edge και στο Cloud
  • 39.
    Κωνσταντίνος Παναγιώτου Η ΓλώσσαGeneROS 39 Μοντελοποίηση ρομποτικών συστημάτων Αφορά την: ● Μοντελοποίηση τοπολογίας Συστήματος ● Γεφύρωση με το μεσολογισμικό επικοινωνίας ● Επικοινωνία ρομποτικών συστημάτων με το Edge και το Cloud ● Αυτόματη παραγωγή αρχείων τεκμηρίωσης συστήματος ● Παραγωγή λογισμικού για ROS και ROS2 συστήματα ● Ενσωμάτωση με πλατφόρμες low-code
  • 40.
    Κωνσταντίνος Παναγιώτου Η ΓλώσσαGeneROS 40 ● Turtlebot3 Platform ● 3 Sonar (Range Finder) Sensors ● Uses ROS2 packages
  • 41.
    Κωνσταντίνος Παναγιώτου Η ΓλώσσαDeMoL 41 Γλώσσα μοντελοποίησης και αυτόματης παραγωγής λογισμικού για συσκευές χαμηλής κατανάλωσης ● Μοντελοποίηση περιφερειακών συσκευών (αισθητήρες & ενεργοποιητές) ● Σύνθεση ενσωματωμένων συσκευών (π.χ. Raspberry και ESP32 boards) ● Αυτοματοποίηση της διαδικασίας ανάπτυξης του λογισμικού ελέγχου (Drivers) ● Peripherals-as-a-Service Ανάπτυξη ξεχωριστών αρχείων template για κάθε περιφερειακή συσκευή
  • 42.
    Κωνσταντίνος Παναγιώτου 42 •ΜΕΡΟΣ Γ • 3. ΕΠΙΠΕΔΟ ΣΥΣΤΗΜΑΤΟΣ System Layer
  • 43.
    Κωνσταντίνος Παναγιώτου H ΓΕΠCPS-ML 43 Γλώσσα Μοντελοποίησης Κυβερνοφυσικών Συστημάτων Έννοιες: ● Smart Environment ● System ● Communication ● Networking ● Smart Things ● Messaging ● Geometry
  • 44.
    Κωνσταντίνος Παναγιώτου H ΓΕΠROSBridgeML 44 Γλώσσα Γεφύρωσης Ρομποτικών Συστημάτων με Edge και Cloud Έννοιες: ● Topic Bridge ● Service Bridge ● Action Bridge ● TF Bridge ● Communication Μετασχηματισμός σε λογισμικό γεφύρωσης για συστήματα ROS & ROS2
  • 45.
    Κωνσταντίνος Παναγιώτου 45 •ΜΕΡΟΣ Γ • 4. ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ Application Layer Συνεισφορά #5 Ανάπτυξη Γλωσσών Ειδικού Πεδίου για την υποστήριξη της ταχείας ανάπτυξης εφαρμογών από “Citizen Developers”
  • 46.
    Κωνσταντίνος Παναγιώτου H ΓΕΠSmAuto 46 Ανάπτυξη εφαρμογών αυτοματισμού βάσει εργασιών (Task-driven Applications) Μετασχηματισμός σε λογισμικό αυτοματισμών Μετασχηματισμός σε λογισμικό εικονικών οντοτήτων Μετασχηματισμός σε μοντέλο της γλώσσας CodinTxt Έννοιες: ● Entity ● Automation ● Condition ● Communication
  • 47.
    Κωνσταντίνος Παναγιώτου H ΓΕΠSmAuto - Entities 47 Μία Οντότητα: ● Φυσικοί ή Εικονικοί αισθητήρες (sensors) ● Φυσικοί ή Εικονικοί ενεργοποιητές (actuators) ● Ένας πόρος μίας Συσκευής/Ρομπότ ● Εξωτερικές Υπηρεσίες (π.χ. REST Services) Λειτουργικότητα: ● Automation M2T ● Virtual Entity M2T ● Μ2Μ από μοντέλα System/Environment ● Αρχιτεκτονική πολλαπλών διαμεσολαβητών Entity temperature_sensor type: sensor topic: "home.temperature" broker: home_mqtt_broker attributes: - temperature: float end
  • 48.
    Κωνσταντίνος Παναγιώτου H ΓΕΠSmAuto - Virtual Entities 48 Ορίζονται value και noise generators για κάθε Attribute Entity weather_station type: sensor freq: 5 topic: "smauto.bme" broker: home_mqtt_broker attributes: - temperature: float -> gaussian(10, 20, 5) with noise gaussian(1,1) - humidity: float -> linear(1, 0.2) with noise uniform (0, 1) - pressure: float -> constant(0.5) end <ValueGenerator> with noise <NoiseGenerator> Entity State @ t - temperature: 11.5 - humidity: 65 - pressure: 0.5
  • 49.
    Κωνσταντίνος Παναγιώτου H ΓΕΠSmAuto - Automation 49 Τα Automations επιτρέπουν την εκτέλεση μιας σειράς από Actions όταν ικανοποιείται μια προκαθορισμένη συνθήκη (Condition) Τα Actions αποστέλλουν εντολές (messages) αλλαγής της κατάστασης (state change) των ενεργοποιητών (actuators). Τα Actions εφαρμόζονται στα Attributes των Entities. Automation start_humidifier condition: bedroom_humidity_sensor.humidity > 0.6 continuous: false actions: - bedroom_humidifier.power: true - bedroom_humidifier.timer: -1 starts: - stop_humidifier end Automation stop_humidifier condition: bedroom_humidity_sensor.humidity < 0.3 enabled: false continuous: false actions: - bedroom_humidifier.power: false starts: - start_humidifier end start_humidifier stop_humidifier Start -> disabled Stop -> enabled Start -> enabled Stop -> disabled
  • 50.
    Κωνσταντίνος Παναγιώτου H ΓΕΠGoalDSL 50 Επαλήθευση συμπεριφοράς εφαρμογών με γνώμονα τον στόχο (Goal-driven Behaviour Verification of Applications) Μετασχηματισμός σε λογισμικό επαλήθευσης συμπεριφοράς Μετασχηματισμός σε εικονικές οντότητες
  • 51.
    Κωνσταντίνος Παναγιώτου H ΓΕΠdFlow 51 Γλώσσα μοντελοποίησης και αυτόματης παραγωγής λογισμικού Ψηφιακών Βοηθών (Virtual Assistants / VAs) ανοιχτού κώδικα Μετασχηματισμός σε λογισμικό VA
  • 52.
    Κωνσταντίνος Παναγιώτου H ΓΕΠCodinTxt 52 Περιγραφή γραφικών περιβαλλόντων τύπου Dashboards
  • 53.
  • 54.
    Κωνσταντίνος Παναγιώτου 55 •ΜΕΡΟΣ Γ • 5. ΠΛΑΤΦΟΡΜΑ ΑΝΑΠΤΥΞΗΣ ΣΕ ΚΦΣ Low-code Platform for CPS
  • 55.
    Κωνσταντίνος Παναγιώτου H ΠλατφόρμαLocSys 56 Πλατφόρμα low-code ανάπτυξης ΚΦΣ: ● Υλοποιεί την Concept-driven Μεθοδολογία ● Ενσωμάτωση ΓΕΠ σε Περιβάλλοντα στο Web ● Ενσωμάτωση μετασχηματισμών M2M και M2T ● Ανάπτυξη Σύνθετων ΓΕΠ (Pipelines)
  • 56.
  • 57.
    Κωνσταντίνος Παναγιώτου 58 •ΜΕΡΟΣ Δ • ΑΞΙΟΛΟΓΗΣΗ Evaluation
  • 58.
    Κωνσταντίνος Παναγιώτου 59 •ΜΕΡΟΣ Δ • 1. ΜΕΤΡΙΚΕΣ ΤΩΝ ΓΕΠ Evaluation: DSL metrics
  • 59.
    Κωνσταντίνος Παναγιώτου Μετρικές Μέτα-Μοντέλων 60 S< 60 (Με βάση τη βιβλιογραφία) S < 20: Υπο-πεδία που επαναχρησιμοποιούνται σε ΓΕΠ Do NOT reinvent the wheel Reuse instead!!! 32 Μέτα-μοντέλα
  • 60.
    Κωνσταντίνος Παναγιώτου Μετρικές ΜετασχηματισμώνM2T 61 DeMoL: Ανάπτυξη ξεχωριστών αρχείων template για κάθε περιφερειακή συσκευή M2T TSC TS ExtendedEntityToPython 309 11 ExtendedEntityToPythonMerged 509 11 SmAutoToPython 544 14 GoalDSLToPython 118 14 DeMoLToDiagram 92 4 DeMoLToRiot 162 40 DeMoLToRaspi 174 40 GenerosToROS2 634 63 RosbridgeToROS 172 9 RosbridgeToROS2 180 9 CodinTxtToCodin 217 17 CPSSystem2Diagram 121 8 CPSSystem2Markdown 82 27 CommIDLToPython 203 4 dFlow2Code 557 37 Επίπεδο Εφαρμογής Επίπεδο Συσκευής
  • 61.
    Κωνσταντίνος Παναγιώτου Μετρικές ΜετασχηματισμώνM2T 62 M2T TSC TS ExtendedEntityToPython 309 11 ExtendedEntityToPythonMerged 509 11 SmAutoToPython 544 14 GoalDSLToPython 118 14 DeMoLToDiagram 92 4 DeMoLToRiot 162 40 DeMoLToRaspi 174 40 GenerosToROS2 634 63 RosbridgeToROS 172 9 RosbridgeToROS2 180 9 CodinTxtToCodin 117 17 CPSSystem2Diagram 121 8 CPSSystem2Markdown 82 27 CommIDLToPython 203 4 dFlow2Code 557 37 Χρήση Εσωτερικής ΓΕΠ Μείωση μεγέθους του Μ2Τ
  • 62.
    Κωνσταντίνος Παναγιώτου Μετρικές ΜετασχηματισμώνM2M 63 M2M MSC MS In MS Out MS CPSMLSystemToEntity 68 11 4 15 CPSMLEnvironmentToEntity 52 7 4 11 CPSMLSystemToExtendedEntity 225 11 11 22 CPSMLEnvironmentToExtendedEntity 207 7 11 18 CPSMLResourceToApi 55 8 6 14 CPSMLSystemToResources 71 11 8 19 CPSMLEnvironmentToResources 63 7 8 15 ExtendedEntityToSmAuto 163 11 4 15 ExtendedEntityToGoalDSL 163 11 4 15 ExtendedEntityToCodinTxt 100 11 10 21 Μέτρο της δυσκολίας ανάπτυξης
  • 63.
    Κωνσταντίνος Παναγιώτου L2L LSCLS CPSMLToSmAuto 39 7 CPSMLToGoalDSL 39 7 RosbridgeMLToCommlibIDL 64 8 SmAutoToCodinTxt 100 12 GoalDSLToCodinTxt 100 12 GeneROSToRosbridgeML 174 15 Μετρικές Μετασχηματισμών L2L 64 Επαναχρησιμοποίηση μοντέλων μεταξύ των ΓΕΠ (IMPORT) Διαφορετικά θα έπρεπε: CPSML.System Model ExtendedEntity Model Μ2Μ SmAuto Model GoalDSL Model Μ2Μ Μ2Μ M2M MS CPSMLSystemToExtendedEntity 225 ExtendedEntityToSmAuto 163 ExtendedEntityToGoalDSL 145 ExtendedEntityToCodinTxt 100 225 163 145
  • 64.
    Κωνσταντίνος Παναγιώτου Μετρικές ΜεγέθουςΓΕΠ 65 Metric DeMoL GeneROS CPSML Smauto GoalDSL dFlow CodinTxt ROSBridgeML CommIDL S 100 164 235 104 84 78 54 49 39 MS 0 0 165 0 0 0 0 0 0 TS 84 63 57 36 36 37 17 18 4 LS 0 15 14 12 12 0 0 8 0 |L| 184 242 471 152 132 115 71 75 43 Όπου: S: Μέγεθος Μέτα-μοντέλου ΜS: Μέγεθος M2M σε αναφερόμενους όρους TS: Μέγεθος M2T σε αναφερόμενους όρους ΜS: Μέγεθος L2L σε αναφερόμενους όρους |L|: Μέγεθος της ΓΕΠ Concept-driven DSL Development
  • 65.
    Κωνσταντίνος Παναγιώτου 66 •ΜΕΡΟΣ Δ • 2. ΕΡΓΑΣΤΗΡΙΑ ΑΞΙΟΛΟΓΗΣΗΣ Evaluation: Workshops SmAuto Workshop LocSys Workshop dFlow Workshop
  • 66.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -SUS 67 Εργαλείο Ευχρηστίας SUS* Εργαλείο για την αξιολόγηση της ευχρηστίας ενός συγκεκριμένου εργαλείου, συστήματος ή υπηρεσίας Ερωτηματολόγιο με 10 Ερωτήσεις Χ: Αφορά τη βαθμολογία για όλες τις ερωτήσεις με μονό αριθμό Υ: Αφορά τη βαθμολογία για όλες τις ερωτήσεις με ζυγό αριθμό SUS: Βαθμολογία SUS για κάθε συμμετέχοντα *https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html
  • 67.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο dFlow Συμμετέχοντες: 219 Φοιτητές 3 Tasks: 2 hours Submitted 842 Models
  • 68.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο dFlow 69 Οικειότητα με το πεδίο Χαμηλή Programming: 2.4 NLU: 1.36 Κλίμακα: 1-5 (Low-High)
  • 69.
  • 70.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο SmAuto 71 Συμμετέχοντες: 22 Φοιτητές 3 Tasks: 15’, 15’ και 30’
  • 71.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο SmAuto 72 Οικειότητα με το πεδίο Επιτυχία: 22 / 22 = 100% Μέτρια IoT: 2.63 Smart Home: 2.36 Programming: 3.54 Κλίμακα: 1-5 (Low-High)
  • 72.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο SmAuto 73 Συμμετέχοντες: 22 Φοιτητές
  • 73.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο LocSys 74 4 Tasks: 5’, 10’, 30’ και 10’ T1: Create an environment of size 4x4 using EnvMaker T2: Import this environment in an EnvPop model and add sensors/actuators T3: Transform to an SmAuto model and add Automations T4: Transform to CodinTxt and deploy the dashboard Συμμετέχοντες: 86 (Open Call)
  • 74.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο LocSys 75 Επιτυχία: 81 / 84 = 96.42% Model Validations: 943 (σε 55’) Total Models: 86 Οικειότητα με το πεδίο Χαμηλή/Μέτρια CPS: 2.16 Smart Home: 2.49 Programming: 3.23 Κλίμακα: 1-5 (Low-High)
  • 75.
    Κωνσταντίνος Παναγιώτου Αξιολόγηση -Εργαστήριο LocSys 76 Συμμετέχοντες: 86 Ερωτηματολόγιο: 44 συμμετέχοντες
  • 76.
    Κωνσταντίνος Παναγιώτου 77 •ΜΕΡΟΣ E • ΣΥΜΠΕΡΑΣΜΑΤΑ & ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ Conclusion & Future Work
  • 77.
    Κωνσταντίνος Παναγιώτου Συμπεράσματα Διατριβής 78 Μεβάση τους στόχους της διατριβής: ● Μέτα-Μοντελοποιήσαμε διάφορες πτυχές των ΚΦΣ ● Προτείναμε μεθοδολογία Concept-driven στη μέτα-μοντελοποίηση και στην ανάπτυξη ΓΕΠ για σύνθετα πολυ-επίπεδα πεδία ● Διασπάσαμε τις ΓΕΠ σε υπό-πεδία εξειδίκευσης και ανάπτυξης ● Ενσωματώσαμε ρομποτικά συστήματα στο φάσμα των σύγχρονων ΚΦΣ, σε Edge και Cloud συστήματα και πλατφόρμες ● Αξιολογήσαμε την προτεινόμενη μεθοδολογία μέσα από Workshops με σημαντικό αριθμό χρηστών Τι πετύχαμε: ● Επιτάχυνση της διαδικασίας σχεδίασης και ανάπτυξης ΚΦΣ ● Αύξηση της παραγωγικότητας ανάπτυξης εφαρμογών ● Δημιουργία ΓΕΠ υψηλού επιπέδου (εφαρμογής), ιδανικές για την ανάπτυξη από μη ειδικούς ● Αποδόμηση του προβλήματος σε ΓΕΠ μικρής πολυπλοκότητας
  • 78.
    Κωνσταντίνος Παναγιώτου Μελλοντικές Επεκτάσεις 79 ●Επέκταση της πλατφόρμας LocSys για πλήρη αυτοματοποίηση σε όλο το φάσμα των ΚΦΣ ● Μελέτη αυτοματοποίησης από αφαιρετικά μοντέλα προδιαγραφών (user requirements, user stories) ● Εκπαίδευση μοντέλων LLM σε κειμενικές ΓΕΠ για τον μετασχηματισμό λεκτικών περιγραφών σε μοντέλα με ικανότητες αυτοματοποίησης ● Διοργάνωση Εργαστηρίων Αξιολόγησης των γλωσσών DeMoL και GeneROS με ειδικούς των πεδίων ● Υλοποίηση ΓΕΠ ανάπτυξης εξειδικευμένης λειτουργικότητας σε ρομπότ ● Αυτόματη εγκατάσταση μηχανισμού ελέγχου πρόσβασης σε επίπεδο μεσολογισμικού επικοινωνίας, από μοντέλα περιγραφής Συστήματος/Περιβάλλοντος
  • 79.
    Κωνσταντίνος Παναγιώτου Επιστημονικές Δημοσιεύσεις 80 Εργασίεςσε Περιοδικά με κριτές 1. Panayiotou, Konstantinos, Emmanouil Tsardoulias, Christoforos Zolotas, Andreas L. Symeonidis, and Loukas Petrou. ”A Framework for Rapid Robotic Application Development for Citizen Developers.” Software 1, no. 1 (2022): 53-79. 2. Panayiotou, Konstantinos, Emmanouil Tsardoulias, and Andreas L. Symeonidis. ”Commlib: An easy-to- use communication library for Cyber–Physical Systems.” SoftwareX 19 (2022): 101180 3. Brouzos, R., Panayiotou, K., Tsardoulias, E. et al. A Low-Code Approach for Connected Robots. J Intell Robot Syst 108, 28 (2023) 4. Panayiotou Konstantinos, Emmanouil Tsardoulias, and Andreas L. Symeonidis. SmAuto: A Domain- specific-Language for Application Development in Smart Environments. Journal of Pervasive and Mobile Computing, Accepted (2023). 5. Konstantinos Panayiotou, Emmanouil Tsardoulias, Andreas L. Symeonidis, Defining a Domain-specific Language for verifying the validity of Cyber-Physical Systems (Under review) 6. Nikolaos Malamas, Konstantinos Panayiotou, Andreas L. Symeonidis, dFlow: A Domain Specific Language for the Rapid Development of open-source Virtual Assistants (Under review)
  • 80.
    Κωνσταντίνος Παναγιώτου Επιστημονικές Δημοσιεύσεις 81 Δημοσιεύσειςσε Πρακτικά Συνεδρίων με Σύστημα Κριτών 1. Panayiotou Konstantinos, Emmanouil Tsardoulias, Christopher Zolotas, Andreas L. Symeonidis et al. "Ms Pacman and the Robotic Ghost: A Modern Cyber-Physical Remake of the Famous Pacman Game." In 2019 Sixth International Conference on Internet of Things: Systems, Management and Security (IOTSMS), pp. 147-154. IEEE, 2019. 2. Mousouliotis, Panagiotis G., Konstantinos L. Panayiotou, Emmanouil G. Tsardoulias, Loukas P. Petrou, and Andreas L. Symeonidis. ”Expanding a robot’s life: Low power object recognition via FPGA-based DCNN deployment.” In 2018 7th International Conference on Modern Circuits and Systems Technologies (MOCAST), pp. 1-4. IEEE, 2018
  • 81.
    Κωνσταντίνος Παναγιώτου 82 Thankyou for your Patience!! Feeling ready for Q&As Contact: klpanagi@ece.auth.gr

Editor's Notes

  • #3 Το κίνητρο της διατριβής ήταν η ανάγκη για ταχεία
  • #5 Σε 7 άξονες
  • #9 Ως ΚΦΣ ορίζουμε τα συστήματα αυτά που ενσωματώνουν
  • #17 Δύο ΓΕΠ μπορεί να ακολουθούν το ίδιο Αφαιρετικό μέτα-μοντέλο αλλά να υλοποιούν διαφορετική γραμματική!!
  • #18 Δύο ΓΕΠ μπορεί να ακολουθούν το ίδιο Αφαιρετικό μέτα-μοντέλο αλλά να υλοποιούν διαφορετική γραμματική!!
  • #19 Βασισμένοι στη Διδακτορική Διατριβή του Δρ. Χριστόφορου Ζολώτα, για σύνθετα πεδία με αναφορές σε άλλα υποπεδία, το μέγεθος της ενός Μέτα-μοντέλου ορίζεται από το σύνολο των εννοιών
  • #21 Το βασικό πρόβλημα στα ΚΦΣ είναι η ύπαρξη διαφόρων επιπέδων ανάπτυξης, τα οποία συνεργάζονται μεταξύ τους για την υλοποίηση της επιθυμητής λειτουργικότητας. Για να μπορέσουμε να ανταπεξέλθουμε στη διεπιστημονικότητα και την πολυπλοκότητα του πεδίου των ΚΦΣ και να καταλήξουμε στην μείωση της πολυπλοκότητας ανάπτυξης εφαρμογών, προχωρήσαμε στον προσδιορισμό της Concept-driven μεθοδολογίας που φαίνεται στο σχήμα. Βασικός στόχος είναι ο διαχωρισμός των επιπέδων ανάπτυξης, με βάση το πεδίο εξειδίκευσης της ομάδας υλοποίησης, δίνοντας έμφαση στο επίπεδο εφαρμογής και στην αύξηση της παραγωγικότητας από μη ειδικούς, όπως είναι η περίπτωση των citizen developers. Έτσι, πετυχαίνουμε την απεξάρτηση των τεχνικών και των τεχνολογικών λεπτομερειών χαμηλού επιπέδου και οι τελικοί χρήστες μπορούν εύκολα να αναπτύξουν εφαρμογές χρησιμοποιώντας έννοιες και ΓΕΠ υψηλού επιπέδου.
  • #22 Έτσι, αναπτύξαμε μια σειρά από ΓΕΠ, τις οποίες θα συζητήσουμε στη συνέχεια, στα διαφορετικά επίπεδα ανάπτυξης, εστιάζοντας στην ταχεία ανάπτυξη εφαρμογών από μη ειδικούς. Η κάθε ΓΕΠ παράγει το δικό της εκτελέσιμο στο αντίστοιχο επίπεδο και η επικοινωνία μεταξύ των εκτελέσιμων διαφορετικών επιπέδων επιτυγχάνεται μέσω ενός ενιαίου μεσολογισμικού επικοινωνίας, της Commlib, χωρίς να χρειάζεται να μετασχηματισουμε τα μοντέλα από επίπεδο σε επίπεδο. Έτσι, καταφέρνουμε η ανάπτυξη των εφαρμογών να είναι ανεξάρτητη από τις λεπτομέρειες υλοποίησης των επιπέδων συστήματος και συσκευής.
  • #23 Για να κατανοήσουμε καλύτερα την προσέγγιση της Concept-driven μεθοδολογίας ανάπτυξης ΓΕΠ, στο παράδειγμα εδώ βλέπουμε τον τρόπο με τον οποίο αναπτύχθηκαν άλλες ΓΕΠ στο πεδίο. Δηλαδή, επικεντρώνονται στην ανάπτυξη από κοινού των 3 επιπέδων, οπότε και καταλήγουν να είναι πολύπλοκες, δυσχρηστες και ακατάλληλες για άτομα με χαμηλό τεχνικό υπόβαθρο, όπως είναι η περίπτωση των Citizen Developers που μελετάμε.
  • #24 Στην Concept-driven μεθοδολογία, αντί να ξεκινάμε τον κύκλο μέτα-μοντελοποίησης και ανάπτυξης της γραμματικής μιας ΓΕΠ, γενικεύουμε ορίζοντας 3 Repositories, από τα οποία επαναχρησιμοποιούνται μέτα-μοντέλα και μετασχηματισμοί για την τελική σύνθεση μιας ΓΕΠ
  • #25 Ορίζουμε μια σειρά από μετρικές (8) που αφορούν το μέγεθος των ΓΕΠ, όπως τα μεγέθη των μετασχηματισμών Μ2Μ, L2L και Μ2Τ σε αναφερόμενες έννοιες εισόδου-εξόδου και LoC
  • #26 Μια ΓΕΠ κατά την Concept-driven Μεθοδολογία ορίζεται από το σύνολο των μέτα-μοντέλων και των μετασχηματισμών που χρησιμοποιεί από τα 3 Repositories που αναφέραμε προηγουμένως. Επίσης, ιδανικά θέλουμε η τομή του συνόλου των όρων (έννοιες, συσχετίσεις και αναφορές) των Μέτα-μοντέλων του MM Repository να ειναι το κενό σύνολο, δηλαδή να μην υπάρχουν επικαλυπτόμενοι όροι.
  • #27 Το μέγεθος της ΓΕΠ ορίζεται ως το άθροισμα του μεγέθους των επιμέρους ΜΜ, Μ2Μ και M2T Επίσης, μπορούμε να ορίσουμε την πολυπλοκότητα της ΓΕΠ, η οποία αποτελείται από 3 όρους. Τον μέσο όρο της πολυπλοκότητας ανάπτυξης των ΜΜ και των Μετασχηματισμών Μ2Μ και Μ2Τ
  • #28 Επίσης, ορίζουμε την έννοια L2L, η οποία αναφέρεται στον μετασχηματισμό μεταξύ των γλωσσών, σε επίπεδο γραμματικής. Ο L2L είναι Μ2Μ, αφού αναφερόμαστε σε διαφορετικά Μέτα-μοντέλα γραμματικής, ωστόσο στην περίπτωση των ΚΕΙΜΕΝΙΚΩΝ ΓΕΠ μπορεί να αναπτυχθεί και ως Μ2Τ. Επίσης για ΓΕΠ που χρησιμοποιούν ίδια μέτα-μοντέλα, χρησιμοποιτείται η έννοια IMPORT και δεν χρειάζεται να μετασχηματίσουμε τα συγκεκριμένα μοντέλα.
  • #29 Αριστερά βλέπουμε την κλασσική περίπτωση μετασχηματισμού μεταξύ των μέτα-μοντέλων Περιβάλλοντος και Εφαρμογής, όπου τα μοντέλα Entity και Communication είναι bound στα μοντέλα εφαρμογής. Ενώ δεξιά βλέπουμε την χρήση της concept-driven μεθοδολογίας και των L2L για τον μετασχηματισμό μεταξύ των ΓΕΠ. Το μέτα-μοντέλο Communication χρησιμοποιείται από τα Repositories και είναι κοινό μεταξύ των ΓΕΠ. Σε αυτή την περίπτωση, θα πρέπει να εκτελείται επικύρωση στα μοντέλα εισόδου και εξόδου από τις αντίστοιχες ΓΕΠ.
  • #30 Κατά τη διάρκεια ανάπτυξης της ΓΕΠ GoalDSL που θα δούμε στη συνέχεια, παρατηρήσαμε ότι η ανάπτυξη εσωτερικών ΓΕΠ, οι οποίες ακολουθούν το ίδιο μετα-μοντέλο με την αντίστοιχη εξωτερική. Έτσι η αντιστοίχηση των εννοιών γίνεται ένα-προς-ένα και πρακτικά εφαρμόζεται μετασχηματισμός σε επίπεδο γραμματικής των 2 ΓΕΠ
  • #31 Συγκεκριμένα
  • #32 Η προσέγγισή μας επικυρώνεται και από ένα άρθρο που δημοσιεύτηκε πολύ πρόσφατα, τον περασμένο Οκτώβρη, από τον Jordi Cabot, ο οποίος είναι από τους κορυφαίους επιστήμονες στον χώρο της Μηχανικής Λογισμικκού Οδηγούμενης από Μοντέλα και της Μοντελοστρεφής ανάπτυξης, όπου παρουσιάζει τα προβλήματα και την πολυπλοκότητα ανάπτυξης και συντήρησης εξωτερικών ΓΕΠ και Μ2Τ και προτείνει την χρήση εσωτερικών ΓΕΠ, οι οποίες θα πρέπει να ακολουθούν το ΜΜ του πεδίου εφαρμογής.
  • #33 Το 3ο μέρος συνοψίζει τις υλοποιήσεις που αφορούν τη βασική συνεισφορά της διατριβής σε 4 άξονες, τους οποίους ορίσαμε στην αρχή. Κατά την παρουσίαση θα αναφερόμαστε συγκεκριμένα στα σημεία συνεισφοράς.
  • #38 H Commlib διανέμεται ως λογισμικό ανοιχτού κώδικα και βρίσκεται στα αποθετήρια PyPi και Conda και όπως δείχνουν τα στατιστικά στοιχεία, έχει σύνολο 26.566 downloads
  • #42 Currently υποστηρίζει RPI και RiotOS χωρίς περιορισμό της γενικότητας
  • #49 Entities of type “sensor” have an optional property, freq, for setting the data producing frequency (in Hz).
  • #55 Συνολικά, στον πίνακα βλέπουμε την επαναχρησιμοποίηση μέτα-μοντέλων, με βάση την Concept-driven Μεθοδογογία, στην ανάπτυξη διαφορετικών ΓΕΠ, στα 4 επίπεδα των ΚΦΣ
  • #71 Μέσο όρο
  • #73 Μεσος όρος
  • #76 Μέσος όρος
  • #80 Σε 7 άξονες
  • #84 Οι μετρικές για Μέτα-μοντέλα, με βάση τη βιβλιογραφία, αναφέρονται στα μεγέθη των ΜΜ και των μετασχηματισμών Μ2Μ
  • #86 Δύο ΓΕΠ μπορεί να ακολουθούν το ίδιο Αφαιρετικό μέτα-μοντέλο αλλά να υλοποιούν διαφορετική γραμματική!!
  • #89 Οι όροι που χρειάζονται για να περιγράψουμε μία έννοια σε χαμηλότερα επίπεδα είναι περισσότεροι σε σχέση με τα υψηλότερα επίπεδα. Για παράδειγμα, για την μοντελοποίηση μιας συσκευής… Εφόσον είναι αδύνατος ο μετασχηματισμός από τα υψηλότερα επίπεδα προς τα χαμηλότερα, αφού μας λείπει η πληροφορία, για να μπορέσουμε να συνδέσουμε τα επίπεδα Συσκευής, Συστήματος και Εφαρμογής χρησιμοποιούμε την έννοια IMPORT, όπου τα μοντέλα χαμηλότερου επιπέδου μπορούν να αναφέρονται από τα υψηλότερα επίπεδα
  • #90 Το αρχικό κίνητρο της ανάπτυξης του ενιαίου μεσολογισμικού επικοινωνίας ήταν η απεξάρτηση των εφαρμογών από τις τεχνολογίες αυτές και η εκτέλεσή τους σε συσκευές, στο Edge και στο Cloud, χωρίς να χρειάζεται η μετατροπή του λογισμικού τους. Ωστόσο, γενικεύσαμε για διαφορετικές τεχνολογίες και πρωτόκολλα επικοινωνίας και για τα 3 επίπεδα, παρέχοντας ένα ενιαίο τρόπο (API). Στην παρούσα φάση υποστηρίζονται τα πρωτόκολλα MQTT, AMQP, Kafka και Redis.
  • #96 H γλώσσα αυτή φέρει την ιδιαιτερότητα…
  • #104  Στο δεξί διάγραμμα έχουμε κατηγοριοποιήσει τις απαντήσεις