MDG Technology for IoT-PML
- Introduction to IoT-PML
- IoT-PML Metamodel
- Deployment o IoT-PML as a modeling framework introduced in Enterprise Architect
- Download the MDG Technology for IoT-PML
- Download EAP file – Smart Thermostat
- Real case demonstration of IoT-PML
- Download EAP file – Vehicle Detector
- Demonstration of IoT tooling framework
- Download the Compact add-in
- Download EAP file – Timing Analysis
Introduction to IoT-PML
Learn about the motivation for developing IoT Platform Modelling Language shortly IoT-PML, which purpose is to capture the IoT hardware, software stack and non-functional requirements, as well as functional properties. This video covers the notion of possible use and benefits coming from the IoT-PML.
COMPACT project’s goal was to provide novel solutions for the application-specific and customer-oriented realization of IoT nodes with focus on software generation for IoT nodes with ultra-small memory footprints and ultra-low power consumption.
This goal was enabled by the new IoT Platform Modelling Language shortly IoT-PML, that captures the IoT hardware, software stack and non-functional requirements, as well as functional properties. Its focus is to drive software generators for ultra-thin IoT software that consists only of what is required for smart functionality and nothing else.
The IoT-PML is a domain specific modeling language suitable to IoT nodes, which is implemented as the UML profile. IoT-PML supports both, top-down and bottom-up design flow or its combination. When IoT-PML is used for top-down design flow, you can refine system architecture and functional interface by using a pre-defined modeling patterns enabling separation of interface definitions and system functionality visualized in different abstraction levels. Once the required details and nonfunctional quality annotations are added to model elements you can generate code and optimize its structure.
This is the implementation of an UML profile for IoT-PML as a domain specific modeling language, defining metamodel constructs, rules and theories applicable and useful for modeling IoT devices, illustrated by examples.
Before we dive into the metamodel let me say a couple words about each view and their relationship with each other.
The Context View facilitates a common understanding of how the system under development fits into its intended/existing environment – in terms of external systems’ and human actors’ factors.
The Subsystem view hierarchically depicts the decomposition of the system under development into system components which are later realized as either SW or HW solution. As such, it provides an overview on how each individual system component fits together.
Software Stack is essential as basis for a definition of a software architecture skeleton and subsequent design activities. It captures the IoT hardware, software stack and non-functional requirements, as well as functional properties.
And lastly the Threat model, proactively identifies potential security threats in your IoT solution and addresses them prior to its production.
Deployment o IoT-PML as a modeling framework introduced in Enterprise Architect
Learn about the implementation of IoT-PML UML profile, deployed as a modeling framework introduced in Sparx Enterprise Architect, enabling rapid modeling of IoT nodes, powered by custom toolboxes and new diagram types.
Modeling IoT solutions falls into a specialized domain that requires a tailored modeling approach. To meet such requirements, we have developed an IoT PML UML profile introducing a set of model constructs, using MDG Technology to deploy the UML profile with other extension mechanisms as a modeling framework enabling you rapid modeling of IoT nodes.
MDG Technologies allow users to extend Enterprise Architect's modeling capabilities to specific domains and notations. MDG Technologies seamlessly plug into Enterprise Architect to provide additional toolboxes, diagrams, UML profiles, Shape Scripts, patterns, tagged values and other modeling resources.
The deployed technology automatically generates a list of elements and relationships in the Diagram Toolbox, for each of the diagra
Real case demonstration of IoT-PML
This video will demonstrate the benefits of IoT-PML such as transparent and efficient development of IoT software on a real example solution for detection and classification vehicles in real-time.m within the technology.
The objective is to detect different car types in real time in live camera feed. Potential use cases in the field are road toll, surveillance, transport logistics, and theft detection.
Laptop PC uses webcam to get video input for the detection and the screen to show video stream with detection results to the viewer. PYNQ Z1 board does the vehicle detection from the video input using Tiny YOLO – object detector to get vehicle locations and vehicle classes such as car, truck, bus and motorcycle) from the frame.
The vehicle detection and determination are based on neural network algorithm.
In our demonstration, IoT-PML is used for top-down design flow allowing us to refine system architecture and functional interface enabling separation of interface definitions and system functionality visualized in different abstraction levels.
Demonstration of IoT tooling framework
The proposed workflow of the COMPACT project using IoT-PML includes not only modeling of software and hardware aspects to enable software generation on various levels of abstraction.
It also provides a tight integration of analysis and optimization tools. By implementing plugins for the workflow, these tools can be enabled to access and alter model information.
The use case demonstrated here is the integration of tools to automate the analysis of timing and power aspects of the vehicle classifier software model.
In this demonstrator the following aspects are covered:
- Generation of source code for the main routine out of the IoT-PML Model.
- Modeling of design alternatives, one with manual annotation of analysis results and one with automated annotation of analysis results with a tool plugin.
Seamless integration of the code generation, time analysis and optimization tools enable developers to
- explore the impact of changes in the implementation and design of their software
- model and compare the design alternatives of different implementations and algorithms, directly in the model environment
- access and alter model information in convenient way