UAVs and flying taxis (that bring controlled democratisation of access to airspace), affordable satellite technology (low-cost satellite vehicles and launchers), industrial digital transformation, and self-driving vehicles, are among today’s most exciting trends.
These technologies are typically predicated on intensive sensing and are extensively connected to other, similar assets and high-level management applications.
Carrying their own intelligence on-board, while connected to large numbers of sensors on the one hand and the cloud on the other, these are edge computing applications with a difference. Being dependent on deterministic real-time responses to sensor information and robust cyber-protection, both to meet system performance demands and maintain safety and security, they define a category that we at Lynx refer to as the mission critical edge. It’s a $16 billion software opportunity that imposes exacting requirements.
These are use cases that demand a combination of high-performance embedded capabilities as well as attributes associated with edge computing, such as intelligence, management and automation, security and monitoring, and sensor fusion.
There must be scope to run big operating systems like Linux and Windows, as well as bare-metal software, and RTOS to ensure the real-time determinism of specific elements of the platform, typically guaranteeing latency of less than one microsecond.
Figure 1: Lynx’s unique separation kernel technology isolates applications and guarantees real-time system behaviour
In addition, applications must be compartmentalised to ensure that certain applications cannot cause other elements of the system to fail. There is a need for multi-level security and, of course, applicable safety certifications must be satisfied.
Fusing mission critical and edge computing
Some of the challenges currently encountered in industrial robotics, for example, include how to implement suitable processing adjacent to where the data is created for improved privacy, latency, and uptime.
There is also a demand to consolidate system workloads into one or two subsystems to reduce cost, power and footprint.
In addition, compatibility with legacy and future communications protocols, safety requirements, and other equipment on the factory floor must be maintained.
As a consequence, developers need help to establish a future-proof architecture for real-time and regular applications, as well as support to manage multiple robots within a cell and to deploy data collection, analytic and insights at the robot and cell level.
A different set of challenges apply when developing UAVs or small satellites. Operators face the need to run constellations comprising large numbers of individual satellites, for example, and must coordinate management and operations for all units while also separating mission control from the management of third-party payloads. Satellites, necessarily, must be able to operate for long periods autonomously, with minimal intervention, and require secure connection for access to ground-based compute facilities.
The challenges are intensified by factors such as increasing application complexity, with approaching 50 million lines of source code in some UAV systems and typically over 500 million lines in SAE Level-4 autonomous vehicles.
At the same time, safety certification costs and timelines are increasing, and rising engineering costs are driving longer deployment cycles that demand flexibility to respond to changes such as evolving communication protocols.
A software framework that can cater to all these requirements can include:
• Multicore and multi-OS: Support for RTOS, bare-metal, Linux and Windows workloads over non-homogeneous multi-cores
• Mixed criticality: Precise mapping and scheduling of hardware resources enables real-time and non real-time workloads
• Multi-level security: immutable partitioning, tamper-proof, non-bypassable partitions, no helper, root or master OS
• Safety certification: Reduced certification costs by minimising high DAL source line counts. Traceability of low-level hardware allocations to system specifications
• Flexibility: System functionality can be distributed across one or multiple guest operating systems
• Communication: Built in mechanisms for secure, efficient communication across partitions
• Pre-validated components: certified RTOS like LynxOS-178, alternative RTOS such as FreeRTOS, Buildroot Linux, virtual device server, configuration tools.
To meet all the disparate demands on performance and cost, Lynx has taken the approach of leveraging the Lynx MOSA.ic framework, which is already proven through important military programs to support the real-time determinism and safe separation of applications.
MOSA.ic contains features that are valuable for mission critical applications, such as Lynx’s separation kernel technology that isolates applications and guarantees real-time system behaviour, and FAA certified (reusable) software building blocks. To address the challenges developers are encountering in the UAV/satellite, avionics, and industrial automation sectors, we have expanded the variety of software types can run on Lynx MOSA.ic.
Figure 2: Lynx has created domain-optimised bundles that contain common features of the MOSA.ic framework with additional software that meet the demands of a specific domain
One example is FreeRTOS, for which we announced support earlier this year as an alternative OS to the LynxOS DO-178 RTOS. This has made it possible to create domain-optimised bundles that contain common features of the MOSA.ic framework with additional software that meets the demands of a specific domain.
Two of these bundles, Lynx MOSA.ic for Avionics and Lynx MOSA.ic for UAVs/Satellites both support Arm and x86 processor architectures and include LynxOS-178, LynxSecure safety software, the separation kernel hypervisor, Linux, a rich set of tools, and support for the SR-IOV extension to the PCIe specification.
On the other hand, the initial alpha release of Lynx MOSA.ic for Industrial removes Lynx’s RTOS but adds Azure IoT Edge and Windows 10 support for x86 platforms, as well as providing Virtual PLC functionality to let manufacturing organisations quickly scale, reconfigure, and update software-driven capacity.
Each of these bundles is conceived to address developers’ needs serving rapidly evolving markets that demand higher intelligence at the edge and the ability to manage sensor fusion platforms, blending rich operating systems, bare metal code and real-time determinism. At the same time, this framework-based approach to developing mission critical robustness in edge computing applications supports modularity to support software and hardware upgrades for deployed platforms.
This way, developers can take advantage of those aspects of edge computing that enhance flexibility, intelligence, and control, such as easily establishing cloud connectivity to extend public and private cloud services to the mission critical edge without compromising performance.
There are also facilities for data collection, distribution, analysis and optimisation, which ensure support for “systems of systems” configurations and secure communication of mission critical data between nodes, such as individual satellites in a constellation.
In addition, security and health monitoring leverages patented methods to identify, monitor and mitigate threats to hardware and software, while lifecycle management makes it possible to add APIs for manageability and orchestration to integrate into hyper-converged infrastructure solutions.
Edge computing, although an industry buzzword that has earned its place on the infamous Gartner Hype Cycle, delivers important advantages such as flexibility, intelligence, and lifecycle management for today’s connected applications.
With the integration of software tools and systems that are already proven to support safety, security and real-time determinism, applications that
are mission critical can benefit from these attributes while meeting stringent demands that in the past have called for inflexible, locked-down embedded implementations.
Bringing mission critical and edge computing together can help reduce development costs and risk while enabling the resulting applications to deliver greater performance, safety, security, and flexibility for operators and end users.
Author details: Ian Ferguson is Vice President, Marketing and Strategic Alliances Lynx Software Technologies