Lynx MOSA.ic™ is a software development framework for rapidly building comprehensible software systems out of independent application modules and delivering the vision of the Modular Open Systems Approach (MOSA). Lynx MOSA.ic™ gives developers deeper insight and increased control over how applications are realized onto modern CPUs and introduces a new perspective to application development that simplifies the creation, certification, and maintenance of inherently complex software systems.
The Lynx MOSA.icTM framework enables the construction of robust, comprehensible systems where hardware is statically partitioned into rooms and passageways to host guests:
Rooms are collections of hardware resources created by the Lynx MOSA.ic™ Programmable Processor Partitioning System.
Passageways are explicit point-to-point memory regions that link rooms together via standard inter-process communication (IPC) interfaces.
Guests are Lynx, legacy, competitor, or partner-provided environments for hosting applications.
Lynx MOSA.ic™ provides tools to define rooms and passageways, along with policies to enforce least-privilege access when connecting guests together.
The Programmable Processor Partitioning System of Lynx MOSA.ic™ is provided by the Lynx-Secure® separation kernel hypervisor. First released as a standalone product in 2006, LynxSecure® is a mature and widely deployed product. Following initial deployments in high assurance Government applications, the product has been deployed in volume in mission-critical commercial and industrial applications, and across market sectors including automotive, avionics, industrial IoT, robotics, transportation, and UAVs.
At its core, Lynx MOSA.ic™ enables simpler software systems by harnessing CPU virtualization to partition systems into components. Simplicity is achieved by subdividing the hardware into smaller compute platforms and by eliminating the need for an operating system (OS) or hypervisor to act as a global resource manager. For example, a modern quad-core system on chip (SoC) could be subdivided into four mono-core compute platforms. The SMP RTOS scheduling processes across the four cores could be eliminated, replaced instead with four bare-metal applications.
This approach removes as much complexity as possible between application interfaces and hardware. If an application requires the use of a filesystem, network stack, RTOS or OS then it may be used, but the developer is not forced to include software unnecessary to their design.