video corpo

SIMA

SIMA
1 / 14 PagesView full catalog

SIMA

Product catalog summary
Purpose
The document outlines the Simulated Integrated Modular Avionics (SIMA) environment, which supports ARINC 653 API and robust partitioning on systems lacking POSIX-compliant OSes. It is optimized for the Native POSIX Thread Library (NPTL) on GNU/Linux systems with kernel version 2.6 or higher.
SIMA Overview
SIMA is an execution environment adhering to ARINC 653 standards for real-time operating systems (RTOS), focusing on partitioning resources over time and memory. It is essential for developing safety-critical avionics systems, allowing multiple applications to run independently on a single processing unit, ensuring that failures in one partition do not affect others.
ARINC 653 Standard
ARINC 653 specifies a static configuration where each partition is assigned execution windows. Processes within a partition are scheduled by a priority-based preemptive scheduler, with inter-partition communication achieved through ports and channels.
SIMA Architecture
SIMA maps ARINC 653 partitions to POSIX processes and threads, including the Module Operating System (MOS) and the POS library, which implements APEX services. The POS library is linked to applications, providing necessary interfaces and supporting real-time applications using POSIX thread library features.
Hard Real-Time on Linux
Achieving hard real-time behavior on Linux is challenging due to latency issues. The PREEMPT-RT patch reduces non-preemptible sequences, improving system predictability, with latency benchmarks showing deadlines down to 100 µs achievable on systems without graphical user interfaces.
The POS Library
The POS library provides ARINC 653 services, including partition management and inter-partition communications, supporting simulation of multi-partition systems or standalone execution of single partitions. It is linked with user code and default objects for application development.
MOS Simulation
The MOS program schedules and monitors partitioned applications, operating in three phases: configuration, real-time mode, and scheduling. It reads configuration files to define partition scheduling and execution windows, split into slices for application execution and message transportation.
Health Monitoring
Errors during execution are reported to the MOS, which applies actions based on configuration. Errors are categorized at MODULE, PARTITION, or PROCESS levels, with PROCESS level errors handled by a user-defined error handler. The POS and MOS handle signals from the Linux kernel, ensuring robust error management.
Introduction
The document provides an overview of the SIMA system, focusing on error handling, port communication, output display, and logbook services, based on the ARINC 653 standard.
Error Handling
The Error Handling (EH) process runs with the highest priority within a partition, ensuring immediate response to errors, with SIMA-related errors not delegated to the MOS.
Ports
ARINC 653 applications use ports for communication, which are memory areas within a partition for message writing and reading. Ports can be connected to channels for message transport between source and destination ports, supporting both unicast and multicast environments.
SIMOUT
The SIMOUT program displays the output of the MOS and partitions in a graphical environment using the curses library, showing a terminal with multiple partitions and their respective outputs.
Logbooks
SIMA implements ARINC 653 logbook services using system partitions, shared memory, and files. Messages are written to an IN_PROGRESS buffer and later engraved to non-volatile memory (NVM) during system partition schedule windows.
Conclusion
The SIMA system provides a structured approach to managing error handling, communication, output display, and logging within a partitioned environment, adhering to ARINC 653 standards. Proper configuration and tool usage are essential for effective system operation.
See more

Catalog excerpts

SIMA-1

SIMA Overview GMV-SKYSOFT Torre Fernão de Magalhães Av. D. João II Lote 1.17.02, 7º Andar 1998 - 025 Lisboa Portugal Property of GMV © GMV, 2010; all rights reserve

 Open the catalog to page 1
SIMA-2

SIMA Overview Draft 0.5 Page 2 of 14 1 PURPOSE Simulated Integrated Modular Avionics ( (SIMA) is an execution environment, providing the ) ARINC 653 Application Programming Interface ( (API) and robust partitioning to operating systems that do not support these features by themselves. SIMA is designed to run on all POSIX-compliant OSes; it is tested and optimised for the Native POSIX Thread Library ; (NPTL), available on OSes like GNU/Linux, kernel version 2.6 or higher, and for RTEMS, version 4.6 or higher. This document focuses on SIMA on Linux. Its purpose is to give a brief overview on the...

 Open the catalog to page 2
SIMA-3

SIMA Overview Draft 0.5 Page 3 of 14 2 SIMA OVERVIEW Simulated Integrated Modular Avionics (SIMA) is an execution environment, providing the ARINC 653 Application Programming Interface (API) and robust partitioning to operating systems that do not support these features by themselves. SIMA is designed to run on all POSIX-compliant OSes; it is tested and optimised for the Native POSIX Thread Library (NPTL), available on OSes like GNU/Linux, kernel version 2.6 or higher, and for RTEMS, version 4.6 or higher. The ARINC 653 standard specifies a programming interface for a Real-Time Operating System...

 Open the catalog to page 3
SIMA-4

SIMA Overview Draft 0.5 Page 4 of 14 ARINC 653 defines a static configuration where each partition is assigned a set of execution windows. The program in the partition associated with the current execution window gains access to the processor. When the execution window terminates, the program is preempted; when the next execution window starts, the program continues execution from the point it was previously preempted preempted. Processes within the scope of a partiti partition are scheduled by a priority-based preemptive based scheduler with first-in-first first-out (FIFO) order for processes...

 Open the catalog to page 4
SIMA-5

SIMA Overview Draft 0.5 Page 5 of 14 shared memory segments. Obviously, this approach does not answer safety and security threats, caused by random errors in the partitioned code. The POS has to respond correctly to the given commands which may not be true in the case where faulty or malicious application code corrupts the state of the POS. In fact, the POS was designed and developed, following safety critical software guidelines; its purpose is to support embedded applications. The MOS, however, was not; the MOS does only simulate the behaviour of an ARINC 653 compliant OS on top of non-safety...

 Open the catalog to page 5
SIMA-6

SIMA Overview Draft 0.5 Page 6 of 14 3 HARD REAL-TIME ON LINUX The main problem, achieving hard real-time behaviour on Linux, is latency, defined as the time between the arrival of an event (like an interrupt) and the execution of its response. As a general purpose OS; Linux is designed to enhance the average response time, whereas realtime systems aim at enhancing the worst case response time as this is the fundamental factor of impact on the system predictability. Linux high latencies are a consequence of a non-preemptive kernel approach; the kernel contains large protected sections, where...

 Open the catalog to page 6
SIMA-7

SIMA Overview Draft 0.5 Page 7 of 14 4 THE POS LIBRARY The POS library provides the ARINC 653 services to hosted applications. In particular, it implements the • ARINC 653 services of ARINC 653 Part 1 “Required Services”: Partition Management, Process Management, Time Management, Inter-Partition and IntraPartition Communications, Health Monitor Services; • A subset of ARINC 653 Part 2 “Extended Services”: Logbook System. The POS library is statically linked to the hosted application. It provides the library code and data, including interfaces to other simulation components. SIMA can run in two...

 Open the catalog to page 7
SIMA-8

SIMA Overview Draft 0.5 Page 8 of 14 5 MOS SIMULATOR The purpose of the MOS program is to schedule and to health monitor partitioned applications. The MOS works in three phases: e 1. The configuration files are read and the corresponding entities like partitions and health monitor tables are created in memory; 2. The MOS goes into real time mode and starts the partitioned applications; real-time 3. The MOS enters the scheduling phase; from now on, the program will suspend and scheduling resume partitions and wait for health monitoring events. The MOS reads two c configuration files: the main...

 Open the catalog to page 8
SIMA-9

SIMA Overview Draft 0.5 Page 9 of 14 6 HEALTH MONITORING Errors occurring during the execution of partitioned applications are reported to the MOS. The MOS looks up the error in the configuration and applies the corresponding action. Errors are handled on one of three possible levels: MODULE, PARTITION or PROCESS. Actions on PARTITION and MODULE level are directly specified in the configuration. Errors on PROCESS level are delegated to a user defined error handler process (EH). When the MOS invokes the EH, the latter is started and the control returned to the POS of the affected partition. Since...

 Open the catalog to page 9
SIMA-10

SIMA Overview Draft 0.5 Page 10 of 14 7 PORTS ARINC 653 applications use ports to communicate with the outside world. Ports are memory areas within the partition address space where messages are written to or read from by application code. If ports are connected to a channel, the messages in a source port are copied to the memory area of the destination port. This transport mechanism is invisible to the application. It is also transparent to the application where the other port is located: In a partition on the same module or on another computer. Channels are defined in the ARINC 653 configuration...

 Open the catalog to page 10
SIMA-11

SIMA Overview Draft 0.5 Page 11 of 14 The channel between ports is implemented by an internal process, called _apx_udp_listen. The process is automatically started when the application is . connected to the MOS or with the --connect option given in standalone mode. In standalone mode, this process runs with a priority lower than user process priorities. This implies that messages are only sent and received when no user process is ready. It implies also that the transportation mechanism interferes with the user process activity. These restrictions are acceptable for debugging, but certainly not...

 Open the catalog to page 11

All GMV catalogs and technical brochures

  1. AIR

    2  Pages

  2. eclayr

    2  Pages

  3. magicIFP

    2  Pages

  4. srx-10i

    2  Pages

  5. osmógrafo

    2  Pages

  6. srx-10

    2  Pages

  7. polaris

    2  Pages

  8. nusar

    2  Pages

  9. magicODTS

    2  Pages

  10. emil

    2  Pages

  11. magicGEMINI

    2  Pages

  12. MagicLPV

    2  Pages

*Prices are pre-tax. They exclude delivery charges and customs duties and do not include additional charges for installation or activation options. Prices are indicative only and may vary by country, with changes to the cost of raw materials and exchange rates.