Enhancing interoperability in IoT platforms using small language models

datacite.contributor.RelatedPersonΛογοθέτης, Μιχαήλ
datacite.contributor.RelatedPersonΚαραβατσέλου, Ευανθία
datacite.contributor.SupervisorΔενάζης, Σπύρος
dc.contributor.authorΣακελλαρίου, Δήμος
dc.contributor.otherSakellariou, Dimos
dc.date.accessioned2026-07-09T11:11:53Z
dc.date.available2026-07-09T11:11:53Z
dc.date.issued2026-07-08
dc.degreegraduateThesis
dc.description.abstractModern cities depend more and more on data from sensors, vehicles, traffic systems, and public services. The problem is that all this data needs to be shared between many different applications, but each manufacturer uses its own format. This is exactly the issue that FIWARE addresses: it is an open-source framework, supported by the European Commission, that provides standard building blocks for smart city applications, so that systems from different vendors can work together. The core of FIWARE is NGSI-LD, a standard way to describe real-world things, like sensors and parking spots, as digital entities with properties and relationships. On top of NGSI-LD, FIWARE provides the Smart Data Models catalogue, which is a community-maintained collection of ready-made entity definitions for many areas: parking, lighting, agriculture, water management, energy, and others. The idea is that if every developer uses the same Smart Data Models, then an application written for one city can be reused in another with little effort, which is the foundation of true interoperability and scalability across smart city deployments. In practice, this is not so simple. Most commercial smart parking systems today are closed and proprietary. The biggest reason is the cost of integrating new sensors: every manufacturer sends data in a different format, and someone has to write code to translate that format into the canonical Smart Data Model. This has to be done for every new sensor, which makes it impossible for open systems to grow and limits the scalability of open systems by slowing the adoption of FIWARE in real deployments. The main part of the thesis is a smart parking application built on FIWARE and currently running with real LoRaWAN parking sensors at the University of Patras campus. The system uses Orion-LD as the Context Broker, FIWARE IoT Agents for sensor integration, and ChirpStack for the LoRaWAN network. A web application allows users to search for parking spots, see availability in real time, check details for each lot, and get navigation help. The data inside the system follows the Smart Data Models (Device, ParkingSpot, OffStreetParking), which means the platform is interoperable with any other FIWARE-compliant system. To make the platform scalable, that is, to make it possible to add new sensors and new parking lots without rewriting code, the thesis introduces a Dynamic Sensor Registry, which allows new sensors or new parking lots to be added to the running system through a single HTTP call, without modifying any code or resetting any service. This is a crucial architecture feature and the main mechanism for scalability in the platform: once a new source is registered, the backend automatically includes it in every subsequent user request. A supporting backend layer handles the practical side of this, querying the Registry, calling each registered NGSI-LD source, and combining the results into one consistent response for the frontend. To verify that this is a solid solution, a Mock Orion API was created to provide simulated parking data in NGSI-LD format. After registering it in the Dynamic Registry, its parking lots appeared immediately in the application, which shows that adding a new data source can be done with minimal effort. Even with the Dynamic Registry in place, one part of the onboarding process remains manual: every new sensor needs a parser to translate its raw payload into Smart Data Model schema. The Registry makes it easy to plug in a new source once the parser exists, but it does not write the parser itself. This means that for every new vendor, a developer must still study the device's documentation, the payload structure, and write a “translation” code specific to the sensor. Recent progress in Large Language Models raises a natural question: can Large Language Models help with this last manual step, by reading a few sample payloads and helping with the translation process? If LLMs can handle this work reliably, the cost of onboarding a new vendor could drop, and FIWARE-based platforms could scale without significant proportional engineering effort. The third part of the thesis investigates exactly this question. The last part is a study about whether Large Language Models (LLMs) could help reduce the manual work of writing parsers for new sensors. Eight small open-source models, were tested with three different prompting strategies on two parking sensors that represent different difficulty levels. A main finding is that the success of an LLM does not really depend on the size of the payload or the size of the model, but on how similar the sensor's field names are to the Smart Data Model names. When the names are similar, the models can translate the payload almost perfectly. When the names are different, even the better models fail in specific ways, which the thesis describes as four failure modes. Adding a small vocabulary hint to the prompt fixes most of the problem for some models. Overall, the thesis offers a working FIWARE-based smart parking application, an architectural pattern that brings true scalability to multi-vendor onboarding, and an exploratory study of how LLMs could further reduce the integration cost in the future. The goal is to show one practical and fully open-standards-based path that other smart city applications can reuse.
dc.description.translatedabstractΟι σύγχρονες πόλεις βασίζονται όλο και περισσότερο σε δεδομένα που προέρχονται από αισθητήρες, οχήματα, συστήματα κυκλοφορίας και δημόσιες υπηρεσίες. Το πρόβλημα είναι ότι όλα αυτά τα δεδομένα πρέπει να μοιράζονται μεταξύ πολλών διαφορετικών εφαρμογών, ενώ κάθε κατασκευαστής χρησιμοποιεί τη δική του μορφή δεδομένων. Σε αυτό ακριβώς το ζήτημα απαντά το FIWARE: ένα ανοιχτού κώδικα framework, που παρέχει τυποποιημένα δομικά στοιχεία για εφαρμογές έξυπνων πόλεων, ώστε συστήματα διαφορετικών κατασκευαστών να μπορούν να συνεργάζονται. Ο πυρήνας του FIWARE είναι το NGSI-LD, ένας τυποποιημένος τρόπος περιγραφής οντοτήτων του πραγματικού κόσμου, όπως αισθητήρων ή θέσεων στάθμευσης, ως ψηφιακών οντοτήτων με ιδιότητες και σχέσεις μεταξύ τους. Συμπληρωματικά με το NGSI-LD, το FIWARE προσφέρει τον κατάλογο Smart Data Models, μια κοινοτικά συντηρούμενη συλλογή έτοιμων ορισμών οντοτήτων για πολλούς τομείς εφαρμογής: στάθμευση, οδοφωτισμό, γεωργία, διαχείριση υδάτων, ενέργεια και άλλους. Η βασική ιδέα είναι ότι εάν όλοι οι κατασκευαστές/προγραμματιστές χρησιμοποιούν τα ίδια Smart Data Models, τότε μια εφαρμογή που έχει αναπτυχθεί για μία πόλη μπορεί να επαναχρησιμοποιηθεί σε μια άλλη με ελάχιστη προσπάθεια. Αυτή η αρχή αποτελεί το θεμέλιο της πραγματικής διαλειτουργικότητας (interoperability) και κλιμακωσιμότητας (scalability) ανάμεσα σε υλοποιήσεις έξυπνων πόλεων. Στην πράξη όμως, παρουσιάζονται ορισμένα προβλήματα που αξίζει να αναφερθούν. Τα περισσότερα συστήματα έξυπνης στάθμευσης σήμερα παραμένουν κλειστά και ιδιοταγή. Ο κύριος λόγος είναι το κόστος ενσωμάτωσης νέων αισθητήρων: κάθε κατασκευαστής αποστέλλει τα δεδομένα του σε διαφορετική μορφή, και πρέπει να μεταφραστούν σε μορφή Smart Data Model για να μπορέσουν να χρησιμοποιηθούν από διάφορες εφαρμογές. Αυτή η εργασία πρέπει να επαναλαμβάνεται για κάθε νέο τύπο αισθητήρα, γεγονός που καθιστά εξαιρετικά δύσκολη την ανάπτυξη ανοιχτών συστημάτων και περιορίζει σημαντικά την κλιμακωσιμότητά τους, επιβραδύνοντας την υιοθέτηση του FIWARE σε πραγματικές υλοποιήσεις. Το κύριο μέρος της εργασίας είναι μια ολοκληρωμένη εφαρμογή έξυπνης στάθμευσης, χτισμένη πάνω στο FIWARE, η οποία βρίσκεται σε λειτουργία με πραγματικούς αισθητήρες LoRaWAN εγκατεστημένους στον χώρο του Πανεπιστημίου Πατρών. Το σύστημα χρησιμοποιεί τον Orion-LD ως Context Broker, τους FIWARE IoT Agents για την ενσωμάτωση των αισθητήρων και το ChirpStack για τη διαχείριση του δικτύου LoRaWAN. Μια διαδικτυακή εφαρμογή επιτρέπει στους χρήστες να αναζητούν διαθέσιμες θέσεις στάθμευσης, να βλέπουν τη διαθεσιμότητα σε πραγματικό χρόνο, να ελέγχουν λεπτομέρειες για κάθε χώρο στάθμευσης και να λαμβάνουν οδηγίες πλοήγησης. Τα δεδομένα εντός του συστήματος ακολουθούν τα Smart Data Models (Device, ParkingSpot, OffStreetParking), γεγονός που εξασφαλίζει ότι η πλατφόρμα είναι διαλειτουργική με οποιοδήποτε άλλο σύστημα συμβατό με το FIWARE. Προκειμένου να καταστεί η πλατφόρμα κλιμακώσιμη - δηλαδή να είναι δυνατή η προσθήκη νέων αισθητήρων και νέων χώρων στάθμευσης χωρίς αναγκαστική επανεγγραφή κώδικα - η εργασία εισάγει ένα Δυναμικό Μητρώο Αισθητήρων (Dynamic Sensor Registry), το οποίο επιτρέπει την προσθήκη νέων αισθητήρων ή νέων χώρων στάθμευσης στο σύστημα μέσω μιας απλής HTTP κλήσης, χωρίς τροποποίηση κώδικα και χωρίς επανεκκίνηση κάποιας υπηρεσίας. Αυτό αποτελεί ένα κρίσιμο αρχιτεκτονικό χαρακτηριστικό και τον κύριο μηχανισμό κλιμακωσιμότητας της πλατφόρμας: μόλις μια νέα πηγή εγγραφεί στο Μητρώο, το backend τη συμπεριλαμβάνει αυτόματα σε κάθε επόμενο αίτημα του χρήστη. Ένα υποστηρικτικό backend επίπεδο αναλαμβάνει την πρακτική πλευρά αυτής της διαδικασίας, υποβάλλοντας ερωτήματα στο Μητρώο, καλώντας κάθε καταχωρημένη πηγή NGSI-LD και συνενώνοντας τα αποτελέσματα σε μια ενιαία και συνεκτική απάντηση προς το frontend. Για να επαληθευτεί ότι η συγκεκριμένη προσέγγιση αποτελεί ολοκληρωμένη λύση, αναπτύχθηκε ένα εικονικό Orion API (Mock Orion API), το οποίο παρέχει προσομοιωμένα δεδομένα στάθμευσης σε μορφή NGSI-LD. Μετά την καταχώρησή του στο Δυναμικό Μητρώο, οι θέσεις στάθμευσής του εμφανίστηκαν άμεσα στην εφαρμογή, καταδεικνύοντας στην πράξη ότι η προσθήκη μιας νέας πηγής δεδομένων μπορεί να γίνει με εξαιρετική ευκολία. Ακόμα όμως και με το Δυναμικό Μητρώο σε λειτουργία, ένα τμήμα της διαδικασίας ένταξης νέων αισθητήρων παραμένει χειρωνακτικό: κάθε νέος αισθητήρας χρειάζεται έναν parser που θα μεταφράζει τα raw δεδομένα του αισθητήρα στο σχήμα των Smart Data Models. Το Μητρώο διευκολύνει τη σύνδεση μιας νέας πηγής όταν ο parser υπάρχει ήδη, αλλά δεν συντάσσει τον ίδιο τον parser. Αυτό σημαίνει ότι για κάθε νέο κατασκευαστή, ένας προγραμματιστής πρέπει να μελετήσει την τεκμηρίωση του αισθητήρα, να κατανοήσει τη δομή του payload και να συντάξει κώδικα μετάφρασης ειδικά για τον συγκεκριμένο αισθητήρα. Η πρόσφατη πρόοδος στα Γλωσσικά Μοντέλα (LLMs) εγείρει ένα φυσικό ερώτημα: μπορούν τα LLMs να συμβάλουν σε αυτό το τελευταίο χειρωνακτικό βήμα, διαβάζοντας μερικά δείγματα payloads και βοηθώντας στη διαδικασία της μετάφρασης; Εάν τα LLMs μπορούν να αναλάβουν αυτή την εργασία αξιόπιστα, το κόστος ενσωμάτωσης ενός νέου κατασκευαστή θα μπορούσε να μειωθεί σημαντικά, και οι πλατφόρμες που βασίζονται στο FIWARE θα μπορούσαν να κλιμακωθούν χωρίς σημαντική αύξηση της προγραμματιστικής προσπάθειας. Το τρίτο μέρος της παρούσας εργασίας διερευνά ακριβώς αυτό το ερώτημα. Το τελευταίο μέρος αποτελεί μια μελέτη σχετικά με το κατά πόσο τα Μεγάλα Γλωσσικά Μοντέλα (LLMs) μπορούν να συμβάλουν στη μείωση της χειρωνακτικής εργασίας συγγραφής parsers για νέους αισθητήρες. Ο σκοπός ήταν να λάβουν δύο συγκεκριμένα payload από δύο αισθητήρες διαφορετικών κατασκευαστών και να προσπαθήσουν να το φέρουν σε Smart Data Models μορφή. Στο πλαίσιο της μελέτης, αξιολογήθηκαν οκτώ μοντέλα ανοιχτού κώδικα, με τη χρήση τριών διαφορετικών στρατηγικών prompting. Ένα βασικό εύρημα είναι ότι η επιτυχία ενός LLM δεν εξαρτάται πραγματικά από το μέγεθος του payload ούτε από το μέγεθος του μοντέλου, αλλά από το πόσο μοιάζουν τα ονόματα των πεδίων του αισθητήρα με τα ονόματα του Smart Data Model. Όταν τα ονόματα είναι παρόμοια, τα μοντέλα μεταφράζουν το payload σχεδόν τέλεια. Όταν τα ονόματα διαφέρουν σημαντικά, ακόμα και τα καλύτερα μοντέλα αποτυγχάνουν με συγκεκριμένο και επαναλαμβανόμενο τρόπο, ο οποίος περιγράφεται στην εργασία ως τέσσερις διακριτοί τρόποι αστοχίας (failure modes). Η προσθήκη μιας μικρής σημασιολογικής υπόδειξης στο prompt διορθώνει το μεγαλύτερο μέρος του προβλήματος για ορισμένα από τα μοντέλα. Συνολικά, η παρούσα διπλωματική εργασία προσφέρει μια λειτουργική εφαρμογή έξυπνης στάθμευσης βασισμένη στο FIWARE, ένα αρχιτεκτονικό μοτίβο που φέρνει πραγματική κλιμακωσιμότητα στην ενσωμάτωση πολλαπλών αισθητήρων, καθώς και μια διερευνητική μελέτη για το πώς τα LLMs θα μπορούσαν να μειώσουν περαιτέρω το κόστος ενσωμάτωσης στο μέλλον. Στόχος είναι να καταδειχθεί μια πρακτική διαδρομή, πλήρως βασισμένη σε ανοιχτά πρότυπα, που μπορεί να επαναχρησιμοποιηθεί από άλλες εφαρμογές έξυπνων πόλεων.
dc.identifier.urihttps://hdl.handle.net/10889/32439
dc.language.isoen
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Greeceen
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/gr/
dc.subjectFIWARE
dc.subjectNGSI-LD
dc.subjectSmart data models
dc.subjectSmart parking
dc.subjectParking sensors
dc.subjectTemperature
dc.subjectBatteries
dc.subjectData translation
dc.subjectSmall language models
dc.subjectInteroperability
dc.subjectScalability
dc.subjectArtificial intelligence
dc.subject.alternativeΔιαλειτουργικότητα
dc.subject.alternativeΜικρά γλωσσικά μοντέλα
dc.subject.alternativeΤεχνητή νοημοσύνη
dc.subject.alternativeΕπεκτασιμότητα
dc.subject.alternativeΑισθητήρες στάθμευσης
dc.subject.alternativeΈξυπνη στάθμευση
dc.subject.alternativeΘερμοκρασία
dc.subject.alternativeΜπαταρίες
dc.subject.alternativeΜετάφραση δεδομένων
dc.titleEnhancing interoperability in IoT platforms using small language models
dc.title.alternativeΒελτίωση της διαλειτουργικότητας σε πλατφόρμες IoT χρησιμοποιώντας μικρά γλωσσικά μοντέλα

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ΔΙΠΛΩΜΑΤΙΚΗ ΣΑΚΕΛΛΑΡΙΟΥ ΔΗΜΟΣ (Enhancing Interoperability in IoT Platforms using Small Language Models).pdf
Size:
2.79 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
5.02 KB
Format:
Item-specific license agreed upon to submission
Description: