MDG Technology for Iot-PML
Introduction
Learn more about the motivation for developing the IoT Platform Modelling Language, or IoT-PML for short, whose purpose is to capture the IoT hardware, software stack and non-functional requirements as well as functional properties. This video covers the concept of the possible use and benefits of IoT-PML.
The aim of the COMPACT project was to provide novel solutions for the application-specific and customer-oriented realisation of IoT nodes, with a focus on software generation for IoT nodes with very small memory footprints and very low power consumption.
This goal was made possible by the new IoT Platform Modelling Language, IoT-PML for short, which captures the IoT hardware, software stack and non-functional requirements as well as functional properties. It focuses on the development of software generators for ultra-thin IoT software that consists only of what is required for intelligent functionality and nothing else.
IoT-PML is a domain-specific modelling language for IoT nodes that is implemented as a UML profile. IoT-PML supports both top-down and bottom-up design flows or a combination of both.
When IoT-PML is used for the top-down design flow, you can refine the system architecture and functional interface using predefined modelling patterns that allow separation of interface definitions and system functionality visualised in different levels of abstraction. Once the necessary details and non-functional quality comments have been added to the model elements, you can generate code and optimise its structure.
IOT-PML Meta Model
This is the implementation of a UML profile for IoT-PML as a domain-specific modelling language that defines metamodel constructs, rules and theories applicable and useful for modelling IoT devices, illustrated by examples.
Before we dive into the metamodel, a few things need to be said about the individual views and their relationship.
The context view facilitates a shared understanding of how the system under development fits into its intended/existing environment – in terms of external systems and human actors.
The subsystem view hierarchically represents the decomposition of the system to be developed into system components that will later be realised as either SW or HW solutions. As such, it provides an overview of how each individual system component fits together.
The software stack is essential as the basis for defining a software architecture skeleton and the subsequent design activities. It captures the IoT hardware, the software stack and the non-functional requirements as well as the functional properties. Finally, the threat model proactively identifies potential security threats in your IoT solution and eliminates them before production.
Using IoT-PML as a modelling framework in Enterprise Architect
Learn more about the implementation of the IoT-PML UML profile introduced as a modelling framework in Sparx Enterprise Architect, enabling rapid modelling of IoT nodes, supported by custom toolboxes and new diagram types.
The modelling of IoT solutions falls into a special area that requires a tailored modelling approach. To meet such requirements, we have developed an IoT PML UML profile that introduces a set of model constructs and uses MDG technology to deploy the UML profile with other extension mechanisms as a modelling framework that enables rapid modelling of IoT nodes.
MDG technologies allow users to extend the modelling capabilities of Enterprise Architect to specific domains and notations. MDG technologies integrate seamlessly with Enterprise Architect to provide additional toolboxes, diagrams, UML profiles, shape scripts, patterns, tagged values and other modelling resources.
The technology used automatically generates a list of elements and relationships in the diagram toolbox for each of the diagrams.
Realistic demonstration of IoT-PML
This video demonstrates the benefits of IoT-PML, such as the transparent and efficient development of IoT software using a real-life example solution for recognising and classifying vehicles in real time within the technology.
The goal is to recognise different vehicle types in real time in the live camera image. Possible use cases include road tolls, surveillance, transport logistics and theft detection.
The laptop PC uses the webcam to receive the video input for detection and the screen to show the video stream with the detection results to the viewer. The PYNQ Z1 board performs vehicle detection from the video input using the Tiny YOLO object detector to determine vehicle positions and vehicle classes (e.g. car, truck, bus and motorbike) from the image. Vehicle detection and identification is based on a neural network algorithm.
In our demonstration, IoT-PML is used for a top-down design flow that allows us to refine the system architecture and functional interface, enabling a separation of interface definitions and system functionality visualised in different levels of abstraction.
Presentation of the IoT Tooling Framework
The workflow proposed in the COMPACT project using IoT-PML not only includes modelling of software and hardware aspects to enable software generation at different levels of abstraction. It also provides a tight integration of analysis and optimisation tools. By implementing plugins for the workflow, these tools can access and modify modelling information.
The use case demonstrated here is the integration of tools to automate the analysis of time and performance aspects of the vehicle classification software model.
The following aspects are covered in this demonstrator:
Generation of source code for the main routine from the IoT PML model.
Modelling of design alternatives, one with manual commenting of the analysis results and one with automatic commenting of the analysis results using a tool plug-in.
The seamless integration of tools for code generation, time analysis and optimisation means that developers can
analyse the effects 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
conveniently access and change model information