Imade
Imade
net/publication/224087517
CITATIONS READS
22 5,909
6 authors, including:
All content following this page was uploaded by Tobias Schoofs on 21 October 2014.
Tobias Schoofs1 , Sérgio Santos1 , Cássia Tatibana1 , José Anjos1 , José Rufino2 , and James Windsor3
1
Skysoft SA, Portugal, Av. D. João II, Lote 1.17.02, Torre Fernão Magalhães – 7o , 1998-025 Lisboa, Portugal – Email:
firstname.lastname@skysoft.pt
2
Faculdade de Ciências da Universidade de Lisboa (University of Lisbon), Campo Grande, 1749-016 Lisboa, Portugal –
Email: ruf@di.fc.ul.pt
3
ESA/ESTEC, Keplerlaan 1, 2200 AG Noordwijk, The Netherlands – Email: james.windsor@esa.int
1. INTRODUCTION
ARINC 653 [1, 2] is a standard that specifies a program- ARINC 653 defines support for robust partitioning in on-
ming interface for an RTOS (Real-Time Operating Sys- board systems, such that one processing unit, usually
tem), and, in addition, establishes a particular method for called a module, is able to host one or more avionics
partitioning resources over time and memory. At the mo- applications and to execute them independently. This
ment this standard has been established as an important can be correctly achieved if the underlying system, often
foundation for the development of safety-critical systems called Module Operating System (MOS), provides sepa-
in the aviation industry. This fact, allied to several sim- ration of the avionics applications, usually for fault con-
ilarities between aviation and space applications, has at- tainment, such that a failure in one partitioned function
tracted ESA’s (European Space Agency) interest in the cannot cause a failure in another partitioned function. As
development of space on-board software [3, 4, 5]. consequence the partitioning approach eases verification,
validation and certification. The unit of partitioning is
ARINC 653 standard approach for space purposes shall called a partition. A partition is basically the same as
bring new ways and concepts that are yet to be explored a program in a single application environment: it com-
and improved. Tools are needed to help on this discover- prises data, code and its own context configuration at-
ing process, as well as providing a test and development tributes (see figure 1).
3. RATIONALE FOR AN IMA DEVELOPMENT
ENVIRONMENT
Partitioning separates applications in two dimensions: The development platform, often called the host, is typi-
space and time. Spatial separation means that the mem- cally a standard desktop PC with a general purpose oper-
ory of a partition is protected: No application can access ating system like Windows or Linux. The host is, hence,
memory out of the scope of its own partition. Tempo- different from the target, as it has another purpose; it has
ral separation means that only one application at a time not the same constraints, but it must provide a suitable
has access to system resources, including the processor. environment for the embedded application development.
Therefore only one application is executing at one point The host has no support for the target API and is not capa-
in time – there is no competition for system resources ble to provide hard real-time behaviour, at best soft-real
between partitioned applications. Processes within the time behaviour is available. And of course, time parti-
scope of a partition are scheduled by a priority-based pre- tioning is not implemented by a general purpose OS.
emptive scheduler with FIFO order for processes with the
same priority. This second level scheduler is invoked
whenever an execution window assigned to its partition
starts and the partition gains access to the processor. The
process scheduler is preempted by the first level partition
scheduler when the execution window terminates (see
figure 2).