To address the range of needs for devices on the Internet of Things, an RTOS must be modular, scalable and support a range of connectivity while maintaining security. This calls for a platform approach that can be configured and adapted while maintaining a stable base.
by Prashant Dubal, Wind River
The embedded systems industry can look forward to a sustained period of growth thanks to the Internet of Things (IoT). The forecast billions of devices, typically called edge nodes, make up a considerable part of the IoT, and in some cases, simple devices are key to unlocking new business models and increasing operating efficiency. Harnessing vast volumes of data in this system-of-systems is crucial to providing the insight within the hidden data and bringing about real-time decision making. Every aspect of the IoT relies on reliable connectivity, Cloud service provision and the constant stream of data from the embedded edge nodes. These embedded devices will exhibit a lot of diversity, some being simple sensors reading temperature, humidity etc., while others will be more complex and involve more decision making intelligence and system control. For these more intelligent devices, it is highly likely they will require a real-time operating system (RTOS).
Whatever the purpose or architecture that a particular IoT application takes, the manufacturers of such embedded systems need to juggle a number of business and design considerations in order to bring their solutions to market quickly. Given the openness of the IoT it will be particularly important for connected devices to be brought to market as quickly as possible in order to drive broad market adoption. And at the same time, these products need to have features and capabilities that help differentiate them from other competitive products. From the technical perspective, device security will be paramount. Suffice to say that managing these challenges, while aiming to keep development costs and risks to a minimum, will keep engineering teams busy.
Using pre-certified compute and wireless modules will significantly aid developers with the hardware challenge, and using an RTOS might well assist in developing a secure, modular and scalable operating environment on which to base their design. Here are key aspects of an RTOS that an IoT application should review when selecting one (Figure 1).
Figure 1: Key platform features and attributes of an RTOS for the IoT
In the context of IoT or machine-to-machine (M2M) systems, connectivity is a crucial component. Low power wireless modules and sensors are being used across the world of IoT— from industrial controls, medical and healthcare diagnostics to automotive safety and domestic appliances. As a consequence, an RTOS needs to include native support for all the leading communications standards and protocols such as ZigBee, Wi-Fi, Bluetooth and CAN.
With connectivity being omnipresent, security will be at the forefront of the engineering specification. The selected RTOS needs to encompass security across the operational life cycle of the device, including during configuration, while booting, normal operation, power-down, and, not forgetting, disposal. The RTOS should provide security not only against malware and unwanted or rogue applications, but also deliver secure data storage and communications. Provisioning such security features at the operating system level in place of add-on software is essential (Figure2).
Figure 2: Four pillars of RTOS security
The RTOS-based devices will require the logic for opening those packets, validating their integrity, analyzing their contents, and verifying that these actions have taken place securely. Security threats and vulnerabilities are ever changing, so an RTOS needs to support the secure upgrade, download and authentication of applications to help keep devices secure going forward.
The IoT and M2M landscape is evolving faster than the release cycles for the traditional RTOS, which means the design and deployment of the RTOS need to adapt. Traditionally monolithic in nature, an RTOS has been delivered all at once as a large bundle of software, board support packages (BSPs), middleware, operating system, and tools. Updates to this baseline have been mostly for bug and security fixes rather than to add new features due to the prohibitive amount of coding and testing required to implement them.
The days of dedicated functions with little or no updates or expansion are over. Intelligent devices need to adapt to changing needs in the network. The reinvented RTOS must be built on a modular, upgradeable, future-proof architecture that separates the core kernel from middleware, protocols, applications and other packages. The RTOS of the future will provide a stable core so that add-on components can rely on this stability for a relatively extended period of time, for example, three years. Middleware, new protocols and other packages can be added or upgraded without changing the core.
For many developers and engineering teams, the attraction of establishing a platform approach for all your IoT devices, whether edge node sensors, gateways or data servers makes a lot of business sense. Being able to provide a broad product portfolio catering for small form factor single-application devices to large-scale more complex systems means that you need to select a single RTOS that can scale accordingly. A single RTOS that can scale to meet the unique memory footprint, functionality, and processing power requirements of multiple product classes can help manufacturers of embedded systems increase the return on their operating system investment, cut development costs by leveraging the economies of scope, and reduce time to market (Figure 3).
Figure 3: A modern RTOS must support these axes of scalability in order to deliver the most value in the IoT.
The platform approach mentioned above also has another pragmatic reason for consideration, that of scalability. Clearly, IoT topology can be very diverse. The edge devices may comprise hundreds or even thousands of simple sensors or actuators ranging from environmental sensors such as temperature or humidity through to electromechanical or hydraulic actuators. Such devices will most likely communicate to the Cloud either directly, or more likely, via a gateway. The gateway itself might do some local data storage and/or processing prior to passing data to a Cloud-based analytics application. Many sensors are likely to be battery-powered with wireless connectivity and, consequently, will need a power management capability together with basic network stacks. When you consider the challenges associated with scalability, from a simple MCU-based sensor through to, potentially, a multicore gateway, the benefits of using the same RTOS become a wise choice. Being able to build your desired RTOS from a standard set of stacks and components to suit the application and the desired choice of microcontroller/microprocessor can bring many advantages. For example, Wind River provides a compact version of its VxWorks RTOS for exactly this purpose. With a footprint as small as 20 kB, the VxWorks MicroKernel provides power management and basic network stacks that suit a single task edge node device. In this example there is no need, for example, for a routing capability. Depending on the application, it might not need security features either if it was communicating directly to a gateway, the use of a protocol such as OpenSSL would be sufficient since the gateway would provide the firewall function.
While a bare-metal approach might appear attractive, especially for those simple edge node sensors, the benefits of using an RTOS mount up when you consider factors such as support, tool chains and other aspects of development. Just as some of the world’s successful airlines quote the benefits of using a single aircraft type, the same concept applies to the diverse embedded development necessary for an IoT application.
The choice of compute device will be decided by the application. Whatever architecture you standardize on there will be a range of MCU/MPU devices available to satisfy the performance, power budget and peripheral requirement for your design. Using a professional and well-supported RTOS should provide the level of board support each design requires. For example, Wind River VxWorks has hundreds of qualified board support packages across many different device archectitures.
Aside from the key factors mentioned above there are a number of other considerations that developers should investigate. One of these is the aspect of functional safety as stipulated in ISO 61508. Machines, appliances or equipment controlled by an embedded device might malfunction and cause injury or death. The norm in highly regulated industries such as aerospace and automotive, safety standards are now being applied to many other industries. As these evolve, manufacturers increasingly look to RTOS vendors to deliver the appropriate safety and security capabilities and certifications, so as to make it easier for them to obtain required safety and security certifications for their end products.
A broad feature set delivered by the modern RTOS and its ecosystem of compatible third-party applications is essential to enabling manufacturers of embedded systems to create a differentiated product offering and secure a sustainable competitive advantage. Other desired features might have support for provisioning a rich user interface for example. With customer experience and user interface becoming key differentiating features for products ranging from mobile phones to medical devices to industrial control systems, powerful human-machine interaction capabilities are becoming a must for an RTOS for IoT. This includes quality 2D and 3D graphics engines, support for multiple monitors and touch screens, as well as rich graphics designer tools.
The era of the Internet of Things requires a modular, configurable and expandable RTOS. It will add enhanced scalability, connectivity, security, safety, and an extended feature set to the solid real-time performance, low latency and multi-core processor support already needed today. Such an RTOS for your future embedded applications will give them a competitive edge in the world of IoT by enabling them to bring industry-leading devices to market faster while reducing risks and development and maintenance costs.
Wind River, Alameda, CA. (510) 748-4100. www.windriver.com