It allows the hosting of multiple applications of different software levels on the same hardware in the context of an Integrated Modular Avionics architecture.
The APEX API provides services to manage partitions, processes and timing, as well as partition/process communication and error handling.
The standard is overseen by the AEEC APEX Subcommittee[1], which is co-chaired by representatives from Airbus (currently Pierre Gabrilot) and Boeing (currently Steven H. VanderLeest).
Supplement 1 was published in January 1997 and introduced the concepts of APEX and Time and Space partitioning.
Resources creation (PROCESS, EVENT, SEMAPHORE...) is performed by calling API services named CREATE_xxxx.
In some (theoretical) cases, this could lead to an infinite loop between the faulty process and the error handler.
Section 4.2.1 "O/S Multicore Implementation Compliance" indicates that an OS designed for multi-core processing should support two cases: The position paper CAST-32A defines a set of requirements and guidance that should be met to certify and use multi-core processors in civil aviation by FAA and is expected to be replaced by an Advisory Circular, AC 20-193.
Each service returns a RETURN_CODE value which indicates if the call has been successful: The field covered by ARINC 653 is similar to ASAAC Def Stan 00-74.