sima Descripció del sistema

sima és un entorn d’execució que proporciona la interfície API (Application Programming Interface) conforme a ARINC 653 i una robusta partició per a sistemes operatius que no ofereixin per si mateixos aquestes característiques.

L’especificació ARINC 653 estableix el suport per possibilitar una robusta partició en sistemes embarcats de manera que cap unitat de processament, normalment anomenada mòdul, pugui allotjar una o diverses aplicacions aviòniques i executar aquestes aplicacions de manera independent. Tot això es pot dur a terme si el sistema subjacent, sovint anomenat el Module Operating System (MOS), permet la separació de les aplicacions aviòniques per tal que:

  • Cada funció particionada tingui accés garantit al processador. Les garanties reflectiran la freqüència i el temps d’execució de cada aplicació.
  • Un error en una funció particionada no pugui causar una fallada en una altra funció particionada.

Per tant, el sistema de partició permet reduir el maquinari embarcat i, alhora, facilita els processos de verificació, validació i certificació.

sima: Arquitectura

Els serveis d’ARINC 653 a l’aplicació allotjada es presten amb la biblioteca del Partition Operating System (POS) que implementa:

  • Serveis ARINC 653 dels "Serveis Requerits" d’ARINC 653 Part 1: Administració de Particions, Gestió de Processos, Gestió del Temps, Comunicacions Inter i Intra Particions i Serveis de Supervisió de Bon Estat. 
  • Un subconjunt de "Serveis Ampliats" d’ARINC 653 Part 2: Sistema Logbook.

 

sima: Procés de construcció

A sima, les particions ARINC 653 són assignades a processos POSTIX i els processos ARINC 653 són assignats a fils POSTIX. Així doncs, cada aplicació sima queda vinculada a un únic programa POSTIX, que conté el codi i dades de l’usuari, el codi i les dades de l’APEX i, finalment, l’entorn d’execució de la plataforma, és a dir, la NPTL per a Linux.

sima està dissenyada per donar suport a aplicacions en temps real. Utilitzen interfícies de programació en temps real a la biblioteca de fils POSTIX, com a prioritats de programació i fil FIFO. Així mateix, tota la memòria utilitzada durant l’execució es crea durant la inicialització i queda emmagatzemada a RAM, evitant problemes de paging i latència.