Partition scheduling in APEX runtime environment for embedded avionics software

Advances in the computer technology encouraged the avionics industry to replace the federated design of control units with an integrated suite of control modules that share the computing resources. The new approach, which is called integrated modular avionics (IMA), can achieve substantial cost reduction in the development, operation and maintenance of airplanes. A set of guidelines has been developed by the avionics industry to facilitate the development and certification of integrated systems. Among them, a software architecture is recommended to address real time and fault tolerance requirements. According to the architecture, applications are classified into partitions supervised by an operating system executive. A general purpose application/executive (APEX) interface is defined which identifies the minimum functionality provided to the application software of an IMA system. To support the temporal partitioning between applications, APEX interface requires a deterministic cyclic scheduling of partitions at the O/S level and a fixed priority scheduling among processes within each partition. We propose a scheduling scheme for partitions in APEX. The scheme determines the frequency that each partition must be invoked and the assignment of processor capacity on every invocation. Then, a cyclic schedule at the O/S level can be constructed and all processes within each partition can meet their deadline requirements.