SlideShare a Scribd company logo
1 of 81
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης,
υλοποίησης και ανάπτυξης λογισμικού Κυβερνοφυσικών
Συστημάτων με τεχνικές Μηχανικής Λογισμικού Οδηγούμενης
από Μοντέλα​
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών &
Μηχανικών Υπολογιστών
Τομέας Ηλεκτρονικής και Υπολογιστών
Διδακτορική Διατριβή
Εκπόνηση:
Παναγιώτου Κωνσταντίνος
Επιβλέπων:
Καθ. Ανδρέας Συμεωνίδης
Κωνσταντίνος Παναγιώτου
Το Κίνητρο
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

More Related Content

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

Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
ISSEL
 
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
ISSEL
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.
Stathis Gourzis
 
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
ISSEL
 
Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...
Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...
Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...
ISSEL
 
Τσιουμπρής_HOU-CS-UGP-2015-21
Τσιουμπρής_HOU-CS-UGP-2015-21 Τσιουμπρής_HOU-CS-UGP-2015-21
Τσιουμπρής_HOU-CS-UGP-2015-21
John Tsioumpris
 
Τεχνολογική επισκόπηση
Τεχνολογική επισκόπησηΤεχνολογική επισκόπηση
Τεχνολογική επισκόπηση
Stesia Papavasileiou
 

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

Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
 
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
 
Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.
 
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
 
Π. Κρανιδιώτης ΕΛΛΑΚ
Π. Κρανιδιώτης ΕΛΛΑΚΠ. Κρανιδιώτης ΕΛΛΑΚ
Π. Κρανιδιώτης ΕΛΛΑΚ
 
Εφαρμογές Πληροφορικής - Κεφάλαιο 2: Λογισμικό
Εφαρμογές Πληροφορικής - Κεφάλαιο 2: ΛογισμικόΕφαρμογές Πληροφορικής - Κεφάλαιο 2: Λογισμικό
Εφαρμογές Πληροφορικής - Κεφάλαιο 2: Λογισμικό
 
SE4
SE4SE4
SE4
 
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
 
6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα
6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα
6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα
 
Παρουσίαση Smart
Παρουσίαση SmartΠαρουσίαση Smart
Παρουσίαση Smart
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
 
Konstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenation
 
Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...
Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...
Μοντελοστρεφής ανάπτυξη λογισμικού για IoT συσκευές πραγματικού χρόνου και χα...
 
Πληροφορική
ΠληροφορικήΠληροφορική
Πληροφορική
 
Pliroforiki
PliroforikiPliroforiki
Pliroforiki
 
Τσιουμπρής_HOU-CS-UGP-2015-21
Τσιουμπρής_HOU-CS-UGP-2015-21 Τσιουμπρής_HOU-CS-UGP-2015-21
Τσιουμπρής_HOU-CS-UGP-2015-21
 
Software process improvement
Software process improvementSoftware process improvement
Software process improvement
 
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-20083rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
 
Τεχνολογική επισκόπηση
Τεχνολογική επισκόπησηΤεχνολογική επισκόπηση
Τεχνολογική επισκόπηση
 

More from ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
ISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
ISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
ISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
ISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
ISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
ISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
ISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ISSEL
 

More from ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 

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

  • 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. Κωνσταντίνος Παναγιώτου Γλώσσες Ειδικού Πεδίου - Κατηγοριοποίηση 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 υπηρεσίες ● Επικοινωνία με δομές αποθήκευσης
  • 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. Κωνσταντίνος Παναγιώτου Reusability στην Concept-driven Μεθοδολογία 54
  • 54. Κωνσταντίνος Παναγιώτου 55 • ΜΕΡΟΣ Γ • 5. ΠΛΑΤΦΟΡΜΑ ΑΝΑΠΤΥΞΗΣ ΣΕ ΚΦΣ Low-code Platform for CPS
  • 55. Κωνσταντίνος Παναγιώτου H Πλατφόρμα LocSys 56 Πλατφόρμα low-code ανάπτυξης ΚΦΣ: ● Υλοποιεί την Concept-driven Μεθοδολογία ● Ενσωμάτωση ΓΕΠ σε Περιβάλλοντα στο Web ● Ενσωμάτωση μετασχηματισμών M2M και M2T ● Ανάπτυξη Σύνθετων ΓΕΠ (Pipelines)
  • 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 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
  • 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)
  • 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 Thank you for your Patience!! Feeling ready for Q&As Contact: klpanagi@ece.auth.gr

Editor's Notes

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