The Internet of Things (IoT) has spawned a plethora of frameworks to handle the myriad of details needed for connectivity, management, and security in a connected world. IoT vendors typically have software-development kits (SDKs) that provide the basics for developing clients. However, these often come with APIs and holes that need to be filled in by the developer because they must customize many of the management and monitoring services (Fig.1).
1. IoT frameworks make it easier to create connected device services but they often have gaps when it comes to implementation because of the need to support a variety of hardware.
Mentor Graphics looks to bridge those gaps with the Mentor Embedded IoT Framework (MEIF). It addresses the two main holes in IoT development SDKs—device implementation and advanced IoT service functionality. It does so by delivering services that are hooked into the vendor’s SDK and the underlying OS for an IoT device (Fig. 2). The framework comes ready with connections to the more popular IoT platforms, and has public APIs that allow developers to configure it to match any third-party IoT platform.
Not all uses of MEIF will be the same. Developers will utilize different portions of MEIF depending on the vendor IoT framework, the application, the hardware, and the desired services. Mentor provides support for popular platforms like Microsoft Azure, Amazon Web Services (AWS), and Siemens MindSphere.
2. Mentor’s Embedded IoT Framework (MEIF) is designed to provide a full set of services and interfaces that span vendor-specific IoT frameworks.
In the simplest view, MEIF is like the abstraction layers used to link applications to operating systems or other APIs. MEIF actually includes an operating-system abstraction layer (OSAL) that allows the framework to run on different operating systems. OSAL implementations for popular operating systems like Linux are available out of the box.
Mentor’s approach provides a more robust development, profiling, and monitoring system. For example, the MEIF Sourcery Analyzer provides real-time insight into system operation. This is integrated with development tools like the open-source Eclipse project.
The framework addresses a range of features that may or may not be found in a vendor’s IoT SDK. MEIF includes tools for encryption-key generation and payload encryption, along with over-the-air-update services and authentication and validation services that can be used within an application.
Pictured here is the MEIF Analyzer.
The approach taken by Mentor provides a degree of portability between vendor SDKs, although most developers will likely target a single platform, at least initially, because of the investment in time and effort involved. Still, developers that need to support more than one cloud service will find MEIF invaluable. Similar reasons for using MEIF apply to the support of different hardware architectures and hardware devices.
MEIF is OS-agnostic and cloud-agnostic. It supports hardware architectures such as Arm and x86, including the variety of implementations ranging from microcontrollers to embedded servers. The framework can be used to develop and secure “cloud-read” smart devices for Industrie 4.0 environments.