MDG Technology for Iot-PML
Einleitung
Erfahren Sie mehr über die Motivation für die Entwicklung der IoT Platform Modelling Language, kurz IoT-PML, deren Zweck es ist, die IoT-Hardware, den Software-Stack und die nicht-funktionalen Anforderungen sowie die funktionalen Eigenschaften zu erfassen. Dieses Video deckt den Begriff der möglichen Nutzung und der Vorteile von IoT-PML ab.
Ziel des COMPACT-Projekts war es, neuartige Lösungen für die anwendungsspezifische und kundenorientierte Realisierung von IoT-Knoten bereitzustellen, wobei der Schwerpunkt auf der Software-Generierung für IoT-Knoten mit sehr kleinem Speicherplatz und sehr niedrigem Stromverbrauch lag.
Dieses Ziel wurde durch die neue IoT Platform Modelling Language, kurz IoT-PML, ermöglicht, die die IoT-Hardware, den Software-Stack und nicht-funktionale Anforderungen sowie funktionale Eigenschaften erfasst. Ihr Schwerpunkt liegt auf der Entwicklung von Software-Generatoren für ultradünne IoT-Software, die nur aus dem besteht, was für die intelligente Funktionalität erforderlich ist, und aus nichts anderem.
Die IoT-PML ist eine domänenspezifische Modellierungssprache für IoT-Knoten, die als UML-Profil implementiert ist. IoT-PML unterstützt sowohl Top-Down- als auch Bottom-Up-Entwurfsabläufe oder deren Kombination.
Wenn IoT-PML für den Top-Down-Entwurfsablauf verwendet wird, können Sie die Systemarchitektur und die funktionale Schnittstelle mithilfe vordefinierter Modellierungsmuster verfeinern, die eine Trennung von Schnittstellendefinitionen und Systemfunktionalität ermöglichen, die in verschiedenen Abstraktionsebenen visualisiert werden. Sobald die erforderlichen Details und nichtfunktionalen Qualitätskommentare zu den Modellelementen hinzugefügt wurden, können Sie Code generieren und dessen Struktur optimieren.
IOT-PML Metamodell
Dies ist die Implementierung eines UML-Profils für IoT-PML als domänenspezifische Modellierungssprache, die Metamodellkonstrukte, Regeln und Theorien definiert, die für die Modellierung von IoT-Geräten anwendbar und nützlich sind und durch Beispiele veranschaulicht werden.
Bevor wir in das Metamodell eintauchen, gilt es noch, ein paar Dinge zu den einzelnen Sichten und ihrer Beziehung darzulegen.
Die Kontextsicht erleichtert ein gemeinsames Verständnis darüber, wie das zu entwickelnde System in seine vorgesehene/bestehende Umgebung passt – im Hinblick auf die Faktoren externer Systeme und menschlicher Akteure.
Die Subsystem-Sicht stellt hierarchisch die Zerlegung des zu entwickelnden Systems in Systemkomponenten dar, die später entweder als SW- oder HW-Lösung realisiert werden. Als solche bietet sie einen Überblick darüber, wie jede einzelne Systemkomponente zusammenpasst.
Der Software-Stack ist als Grundlage für die Definition eines Software-Architektur-Skeletts und die anschließenden Design-Aktivitäten unerlässlich. Es erfasst die IoT-Hardware, den Software-Stack und die nicht-funktionalen Anforderungen sowie die funktionalen Eigenschaften. Schließlich identifiziert das Bedrohungsmodell proaktiv potenzielle Sicherheitsbedrohungen in Ihrer IoT-Lösung und beseitigt sie vor der Produktion.
Einsatz von IoT-PML als Modellierungsframework in Enterprise Architect
Erfahren Sie mehr über die Implementierung des IoT-PML UML-Profils, das als Modellierungsframework in Sparx Enterprise Architect eingeführt wurde und die schnelle Modellierung von IoT-Knoten ermöglicht, unterstützt durch benutzerdefinierte Toolboxen und neue Diagrammtypen.
Die Modellierung von IoT-Lösungen fällt in einen speziellen Bereich, der einen maßgeschneiderten Modellierungsansatz erfordert. Um solchen Anforderungen gerecht zu werden, haben wir ein IoT PML UML-Profil entwickelt, das eine Reihe von Modellkonstrukten einführt und die MDG-Technologie verwendet, um das UML-Profil mit anderen Erweiterungsmechanismen als Modellierungsrahmen einzusetzen, der eine schnelle Modellierung von IoT-Knoten ermöglicht.
MDG-Technologien ermöglichen es Anwendern, die Modellierungsfähigkeiten von Enterprise Architect auf bestimmte Domänen und Notationen zu erweitern. MDG Technologien fügen sich nahtlos in Enterprise Architect ein, um zusätzliche Toolboxen, Diagramme, UML Profile, Shape Scripts, Patterns, Tagged Values und andere Modellierungsressourcen bereitzustellen.
Die eingesetzte Technologie generiert automatisch eine Liste von Elementen und Beziehungen in der Diagramm-Toolbox, für jedes der Diagramme.
Realitätsnahe Demonstration von IoT-PML
Dieses Video demonstriert die Vorteile von IoT-PML, wie z.B. die transparente und effiziente Entwicklung von IoT-Software an einer realen Beispiellösung für die Erkennung und Klassifizierung von Fahrzeugen in Echtzeit innerhalb der Technologie.
Ziel ist es, verschiedene Fahrzeugtypen in Echtzeit im Live-Kamerabild zu erkennen. Mögliche Anwendungsfälle sind Straßenmaut, Überwachung, Transportlogistik und Diebstahlerkennung.
Der Laptop-PC verwendet die Webcam, um den Videoeingang für die Erkennung zu erhalten, und den Bildschirm, um dem Betrachter den Videostrom mit den Erkennungsergebnissen zu zeigen. Das PYNQ Z1-Board übernimmt die Fahrzeugerkennung aus dem Videoeingang unter Verwendung des Tiny YOLO-Objektdetektors, um Fahrzeugpositionen und Fahrzeugklassen (z. B. Pkw, Lkw, Bus und Motorrad) aus dem Bild zu ermitteln. Die Fahrzeugerkennung und -bestimmung basiert auf einem neuronalen Netzwerkalgorithmus.
In unserer Demonstration wird IoT-PML für einen Top-Down-Entwurfsablauf verwendet, der es uns ermöglicht, die Systemarchitektur und die funktionale Schnittstelle zu verfeinern, was eine Trennung von Schnittstellendefinitionen und Systemfunktionalität ermöglicht, die in verschiedenen Abstraktionsebenen visualisiert wird.
Demonstration des IoT-Tooling-Frameworks
Der im Rahmen des COMPACT-Projekts vorgeschlagene Arbeitsablauf unter Verwendung von IoT-PML umfasst nicht nur die Modellierung von Software- und Hardwareaspekten, um die Softwaregenerierung auf verschiedenen Abstraktionsebenen zu ermöglichen. Er bietet auch eine enge Integration von Analyse- und Optimierungswerkzeugen. Durch die Implementierung von Plugins für den Arbeitsablauf können diese Werkzeuge auf Modellinformationen zugreifen und diese ändern.
Der hier demonstrierte Anwendungsfall ist die Integration von Werkzeugen zur Automatisierung der Analyse von Zeit- und Leistungsaspekten des Fahrzeugklassifizierungssoftwaremodells.
In diesem Demonstrator werden die folgenden Aspekte abgedeckt:
Generierung von Quellcode für die Hauptroutine aus dem IoT-PML-Modell.
Modellierung von Entwurfsalternativen, eine mit manueller Kommentierung der Analyseergebnisse und eine mit automatischer Kommentierung der Analyseergebnisse mit einem Tool-Plugin.
Durch die nahtlose Integration der Tools für die Codegenerierung, Zeitanalyse und Optimierung können Entwickler
die Auswirkungen von Änderungen bei der Implementierung und dem Design ihrer Software untersuchen.
die Entwurfsalternativen verschiedener Implementierungen und Algorithmen direkt in der Modellumgebung modellieren und vergleichen
auf komfortable Weise auf Modellinformationen zugreifen und diese ändern