Products

Fent Innovative Software Solutions S.L. provides execution environments, middleware technology, and software solutions for the real-time and embedded markets. An innovative aspect is the safe and secure para-virtualisated platform, XtratuM, a hypervisor which provides a TSP-based (Time and Space Partitioning) solution and runs with open source technology in smaller size and lither weight. TSP based architecture has been identified as the best solution to ease and secure reuse, enabling a strong decoupling of the generic features to be developed, validated and maintained in mission specific data processing. This opens the market and places XtratuM in an advantageous position in industries such as space, defense, aerospace and automotive with respect to our competitors. The hypervisor supports the coexistence of independent execution runtimes on a single platform. Markets covered are Aerospace, Aeronautics, Automotive & Transportation, industrial Automation, Instrumentation, Network Infrastructure, and Consumer Electronic.

Virtualisation presents opportunities to reduce hardware costs and power consumption while enabling new platform-level capabilities. The benefits of virtualisation on embedded systems are:

  • Support to MILS (Multiple Independent Levels of security) arquitecture: the main idea is to create a structured and isolated system architecture as basis of the design of a secure system.
  • Hardware consolidation: less weight, power consumption, cost, etc.
  • Legacy applications.
  • Flexible reconfiguration & painless upgrading.
  • Legal aspects: licenses issues.
  • Simplifies the transition to multi-core systems.

Hypervisor

Many of today’s embedded applications require deterministic real-time performance and visualization. The deployment of multiple operating systems on the same hardware is a logical step in embedded systems design, thus reducing total hardware costs while increasing reliability and system performance. A hypervisor allows multiple operating systems to run on a single host computer simultaneously, with spacial and temporal isolation, and share the underlying hardware resources.

XtratuM is an hypervisor specifically designed to meet highly-critical real-time requirements. Meanwhile, for low-end CPUs without hardware virtualisation support, such a software hypervisor is a helpful supplement for promoting hardware utilization. XtratuM aims to make use of para-virtualisation. The para-virtualized operations are as close to the hardware as possible.

Execution environments

Several execution environments (EE) has been already ported to the XtratuM virtual interface. Execution enviroments supported by XtratuM can be grouped according to functionality: ARINC-653 based execution enviroments , RTOS based execution enviroments or general purpose.

  • RTOS based EE: A real-time operating system (RTOS) is specially designed to run applications with very precise timing and a high degree of reliability. This can be especially important in systems where an application delay could cause a safety hazard. The main object of real-time operating systems is their quick and predictable response to events, so that they can achieve a deterministic nature of behavior.
  • ARINC-653 based EE: Though not a functionally distinct kind of execution environment, ARINC-653 based is definitely an important mention in the list of execution environments types. The ARINC-653 specification for system partitioning and scheduling is often required in safety and mission critical systems, particularly in the avionics industry.
  • General purpose: These execution environments can provide an excellent platform for developing and running non-critical applications. However, general purpose EE are designed for different use cases than RTOS based EE, they are not the ideal platform for running applications that require precise timing or extended up-time. Deterministic timing behavior is not a design goal for these general purpose execution runtimes.

Integrated editor and analysis tool/planning tool

ARINC 653 defines a partitioned framework where the partitions are scheduled according to a predefined cyclic plan and the processes of each partition are scheduled with a fixed priority policy. The timing characteristics defined in ARINC (period and duration) can hardly be used to precisely represent the timing requirements of the applications. We extend the timing model of ARINC 653 to consider deadlines and the periodic behaviour of the individual processes. A novel definition of how to model periodic activities and how this new model is specially useful in an heterogeneous partitioned system is also presented. The new model and the set of scheduling algorithms have been implemented in a scheduling tool, Xoncrete, to assist the designer to generate the cyclic plan table.

Xoncrete is a powerful tool for the integrator that has to manage a complex partitioned system. The large quantity of configuration parameters can be easily edited and validated with Xoncrete. The scheduling plan module allows to generate ready to use (exported in XtratuM XML format) cyclic plans, both for the hypervisor and optionally for the processes of the partitions.

Dynamic memory allocator

In real-time systems, it is needed to know in advance the operation time bounds in order to analyse the system schedulability. The goal of Dynamic storage allocation (DSA) algorithms is to provide dynamically to the applications the amount of memory required at run time. In general, these algorithms are designed to provide good average response times, whereas real-time applications will instead require the response times of the memory allocation and deallocation primitives to be bounded.

TLSF (two level segregated fit) is a general purpose dynamic memory allocator specialy designed to meet real-time requirements:

  • Bounded Response Time: TLSF has a constant cost Θ(1).
  • Fast: TLSF executes a maximum of 168 processor instructions in a x86 architecture.
  • Efficient Memory Use: TLSF has obtained an average fragmentation lower than 15 %. The maximum fragmentation measured is lower than 25%.