1、 AN DOCUMENT Prepared by AEEC Published by AERONAUTICAL RADIO, INC. 2551 RIVA ROAD, ANNAPOLIS, MARYLAND 21401-7435 AVIONICS APPLICATION SOFTWARE STANDARD INTERFACE PART 1 REQUIRED SERVICES ARINC SPECIFICATION 653P1-3 PUBLISHED: November 15, 2010 This document is published information as defined by 1
2、5 CFR Section 734.7 of the Export Administration Regulations (EAR). As publicly available technology under 15 CFR 74.3(b)(3), it is not subject to the EAR and does not have an ECCN. It may be exported without an export license. DISCLAIMER THIS DOCUMENT IS BASED ON MATERIAL SUBMITTED BY VARIOUS PARTI
3、CIPANTS DURING THE DRAFTING PROCESS. NEITHER AEEC, AMC, FSEMC NOR ARINC HAS MADE ANY DETERMINATION WHETHER THESE MATERIALS COULD BE SUBJECT TO VALID CLAIMS OF PATENT, COPYRIGHT OR OTHER PROPRIETARY RIGHTS BY THIRD PARTIES, AND NO REPRESENTATION OR WARRANTY, EXPRESS OR IMPLIED, IS MADE IN THIS REGARD
4、. ARINC INDUSTRY ACTIVITIES USES REASONABLE EFFORTS TO DEVELOP AND MAINTAIN THESE DOCUMENTS. HOWEVER, NO CERTIFICATION OR WARRANTY IS MADE AS TO THE TECHNICAL ACCURACY OR SUFFICIENCY OF THE DOCUMENTS, THE ADEQUACY, MERCHANTABILITY, FITNESS FOR INTENDED PURPOSE OR SAFETY OF ANY PRODUCTS, COMPONENTS,
5、OR SYSTEMS DESIGNED, TESTED, RATED, INSTALLED OR OPERATED IN ACCORDANCE WITH ANY ASPECT OF THIS DOCUMENT OR THE ABSENCE OF RISK OR HAZARD ASSOCIATED WITH SUCH PRODUCTS, COMPONENTS, OR SYSTEMS. THE USER OF THIS DOCUMENT ACKNOWLEDGES THAT IT SHALL BE SOLELY RESPONSIBLE FOR ANY LOSS, CLAIM OR DAMAGE TH
6、AT IT MAY INCUR IN CONNECTION WITH ITS USE OF OR RELIANCE ON THIS DOCUMENT, AND SHALL HOLD ARINC, AEEC, AMC, FSEMC AND ANY PARTY THAT PARTICIPATED IN THE DRAFTING OF THE DOCUMENT HARMLESS AGAINST ANY CLAIM ARISING FROM ITS USE OF THE STANDARD. THE USE IN THIS DOCUMENT OF ANY TERM, SUCH AS SHALL OR M
7、UST, IS NOT INTENDED TO AFFECT THE STATUS OF THIS DOCUMENT AS A VOLUNTARY STANDARD OR IN ANY WAY TO MODIFY THE ABOVE DISCLAIMER. NOTHING HEREIN SHALL BE DEEMED TO REQUIRE ANY PROVIDER OF EQUIPMENT TO INCORPORATE ANY ELEMENT OF THIS STANDARD IN ITS PRODUCT. HOWEVER, VENDORS WHICH REPRESENT THAT THEIR
8、 PRODUCTS ARE COMPLIANT WITH THIS STANDARD SHALL BE DEEMED ALSO TO HAVE REPRESENTED THAT THEIR PRODUCTS CONTAIN OR CONFORM TO THE FEATURES THAT ARE DESCRIBED AS MUST OR SHALL IN THE STANDARD. ANY USE OF OR RELIANCE ON THIS DOCUMENT SHALL CONSTITUTE AN ACCEPTANCE THEREOF “AS IS” AND BE SUBJECT TO THI
9、S DISCLAIMER. 2010 BY AERONAUTICAL RADIO, INC. 2551 RIVA ROAD ANNAPOLIS, MARYLAND 21401-7435 USA Prepared by the AEEC Specification 653 Adopted by the AEEC Executive Committee October 4, 1996 Summary of Document Supplements Specification 653P1-1 September 16, 2003 October 16, 2003 Specification 653P
10、1-2 October 4, 2005 March 7, 2006 Specification 653P1-3 October 6, 2010 November 15, 2010 A description of the changes introduced by each supplement is included at the end of this document. ARINC SPECIFICATION 653P1-3 AVIONICS APPLICATION SOFTWARE STANDARD INTERFACE PART 1 REQUIRED SERVICES Publishe
11、d: November 15, 2010ii FOREWORD Aeronautical Radio, Inc., the AEEC, and ARINC Standards ARINC organizes aviation industry committees and participates in related industry activities that benefit aviation at large by providing technical leadership and guidance. These activities directly support aviati
12、on industry goals: promote safety, efficiency, regularity, and cost-effectiveness in aircraft operations. ARINC Industry Activities organizes and provides the secretariat for international aviation organizations (AEEC, AMC, FSEMC) which coordinate the work of aviation industry technical professional
13、s and lead the development of technical standards for airborne electronic equipment, aircraft maintenance equipment and practices and flight simulator equipment and used in commercial, military, and business aviation. The AEEC, AMC, and FSEMC develop consensus-based, voluntary standards that are pub
14、lished by ARINC and are known as ARINC Standards. The use of ARINC Standards results in substantial benefits to the aviation industry by allowing avionics interchangeability and commonality and reducing avionics cost by promoting competition. There are three classes of ARINC Standards: a) ARINC Char
15、acteristics Define the form, fit, function, and interfaces of avionics and other airline electronic equipment. ARINC Characteristics indicate to prospective manufacturers of airline electronic equipment the considered and coordinated opinion of the airline technical community concerning the requisit
16、es of new equipment including standardized physical and electrical characteristics to foster interchangeability and competition. b) ARINC Specifications Are principally used to define either the physical packaging or mounting of avionics equipment, data communication standards, or a high-level compu
17、ter language. c) ARINC Reports Provide guidelines or general information found by the airlines to be good practices, often related to avionics maintenance and support. The release of an ARINC Standard does not obligate any organization or ARINC to purchase equipment so described, nor does it establi
18、sh or indicate recognition or the existence of an operational requirement for such equipment, nor does it constitute endorsement of any manufacturers product designed or built to meet the ARINC Standard. In order to facilitate the continuous product improvement of this ARINC Standard, two items are
19、included in the back of this volume: An Errata Report solicits any corrections to the text or diagrams in this ARINC Standard. An ARINC IA Project Initiation/Modification (APIM) form solicits any recommendations for addition of substantive material to this volume which would be the subject of a new
20、Supplement. ARINC SPECIFICATION 653 TABLE OF CONTENTS iii 1.0 INTRODUCTION .1 1.1 Purpose .1 1.2 Scope 1 1.3 APEX Phases 2 1.4 ARINC Specification 653 Philosophy.3 1.4.1 IMA Partitioning.3 1.4.2 Software Decomposition .3 1.4.3 Goals.4 1.4.4 Expected Benefits.4 1.5 Implementation Guidelines 5 1.5.1 P
21、ortability 6 1.5.2 Language Considerations.6 1.6 Document Overview 6 1.7 Relationship to Other Standards8 1.7.1 ARTEWG/CIFO.8 1.7.2 ISO/ExTRA .8 1.7.3 Ada 95.8 1.7.4 POSIX .8 1.7.5 Extensible Markup Language (XML) 1.0.9 1.8 Related Documents 9 1.8.1 ARINC Report 651 9 1.8.2 ARINC Report 652 9 1.8.3
22、ARINC Report 613 9 1.8.4 ARINC Specification 629 9 1.8.5 ARINC Specification 659 9 1.8.6 RTCA DO-178/EUROCAE ED-12.9 1.8.7 RTCA DO-255/EUROCAE ED 96.10 2.0 SYSTEM OVERVIEW11 2.1 System Architecture.11 2.2 Hardware .12 2.3 System Functionality13 2.3.1 Partition Management.13 2.3.1.1 Partition Attribu
23、te Definition14 2.3.1.2 Partition Control .15 2.3.1.3 Partition Scheduling .15 2.3.1.4 Partition Operating Modes16 2.3.1.4.1 Partition Modes Description.18 2.3.1.4.1.1 COLD_START and WARM_START Considerations 18 ARINC SPECIFICATION 653 TABLE OF CONTENTS iv 2.3.1.4.2 Partition Modes and Transitions18
24、 2.3.1.4.2.1 Initialization Mode Transition 19 2.3.1.4.2.2 Transition Mode Description .19 2.3.2 Process Management .20 2.3.2.1 Process Attributes Definition 20 2.3.2.2 Process Control21 2.3.2.2.1 Process State Transitions23 2.3.2.2.1.1 Process States23 2.3.2.2.1.2 Process State Transitions Versus P
25、artition Mode Transitions24 2.3.2.2.1.3 State Transitions.24 2.3.2.3 Process Scheduling .26 2.3.2.4 Process Priority 27 2.3.2.5 Process Waiting Queue .27 2.3.2.6 Process Preemption Locking .27 2.3.3 Time Management 28 2.3.4 Memory Management .30 2.3.5 Interpartition Communication 30 2.3.5.1 Communic
26、ation Principles31 2.3.5.2 Message Communication Levels .32 2.3.5.3 Message Types33 2.3.5.3.1 Fixed/Variable Length33 2.3.5.3.2 Periodic/Aperiodic33 2.3.5.3.3 Broadcast, Multicast and Unicast Messages.33 2.3.5.4 Message Type Combinations.34 2.3.5.5 Channels and Ports34 2.3.5.6 Modes of Transfer 34 2
27、.3.5.6.1 Sampling Mode34 2.3.5.6.2 Queuing Mode.35 2.3.5.7 Port Attributes 35 2.3.5.7.1 Partition Identifier.35 2.3.5.7.2 Port Name .36 2.3.5.7.3 Mode of Transfer .36 2.3.5.7.4 Direction 36 2.3.5.7.5 Maximum Message Size .36 2.3.5.7.6 Message Number of Messages.36 2.3.5.7.7 Refresh Period.37 2.3.5.7
28、.8 Port Mapping .37 2.3.5.8 Port Control 37 2.3.5.9 Process Queuing Discipline .38 ARINC SPECIFICATION 653 TABLE OF CONTENTS v 2.3.6 Intraparition Communication .39 2.3.6.1 Buffers and Blackboards 39 2.3.6.1.1 Buffers .39 2.3.6.1.2 Blackboards.40 2.3.6.2 Semaphore and Events40 2.3.6.2.1 Semaphores 4
29、0 2.3.6.2.2 Events41 2.4 Health Monitor .42 2.4.1 Error Levels.44 2.4.1.1 Process Level Errors44 2.4.1.2 Partition Level Errors44 2.4.1.3 Module Level Errors .44 2.4.2 Fault Detection and Response44 2.4.2.1 Process Level Error Response Mechanisms .45 2.4.2.2 Partition Level Error Response Mechanisms
30、 .46 2.4.2.3 Module Level Error Response Mechanisms.46 2.4.3 Recovery Actions 46 2.4.3.1 Module Level Error Recovery Actions46 2.4.3.2 Partition Level Error Recovery Actions.46 2.4.3.3 Process Level Error Recovery Actions.46 2.5 Configuration Considerations 47 2.5.1 Configuration Information Require
31、d by the Integrator.47 2.5.2 Configuration Tables.47 2.5.2.1 Configuration Tables for System Initialization 48 2.5.2.2 Configuration Tables for Inter-Partition Communication 48 2.5.2.3 Configuration Tables for Health Monitor.48 2.6 Verification.49 3.0 SERVICE REQUIREMENTS .50 3.1 Service Request Cat
32、egories50 3.1.1 Return Code Data Type 51 3.1.2 OUT Parameters Values.51 3.2 Partition Management51 3.2.1 Partition Management Types 51 3.2.2 Partition Management Services 52 3.2.2.1 GET_PARTITION_STATUS.52 3.2.2.2 SET_PARTITION_MODE 52 3.3 Process Management54 3.3.1 Process Management Types 54 ARINC
33、 SPECIFICATION 653 TABLE OF CONTENTS vi 3.3.2 Process Management Services 54 3.3.2.1 GET_PROCESS_ID.55 3.3.2.2 GET_PROCESS_STATUS 55 3.3.2.3 CREATE_PROCESS .55 3.3.2.4 SET_PRIORITY .57 3.3.2.5 SUSPEND_SELF.57 3.3.2.6 SUSPEND58 3.3.2.7 RESUME60 3.3.2.8 STOP_SELF.60 3.3.2.9 STOP61 3.3.2.10 START62 3.3
34、.2.11 DELAYED_START.63 3.3.2.12 LOCK_PREEMPTION65 3.3.2.13 UNLOCK_PREEMPTION.66 3.3.2.14 GET_MY_ID.66 3.4 Time Management.67 3.4.1 Time Management Types .67 3.4.2 Time Management Services .68 3.4.2.1 TIMED_WAIT .68 3.4.2.2 PERIODIC_WAIT.68 3.4.2.3 GET_TIME .69 3.4.2.4 REPLENISH.70 3.5 Memory Managem
35、ent70 3.6 Interpartition Communication.70 3.6.1 Interpartition Communication Types .71 3.6.2 Interpartition Communication Services .71 3.6.2.1 Sampling Port Services72 3.6.2.1.1 CREATE_SAMPLING_PORT72 3.6.2.1.2 WRITE_SAMPLING_MESSAGE.73 3.6.2.1.3 READ_SAMPLING_MESSAGE 74 3.6.2.1.4 GET_SAMPLING_MESSA
36、GE_PORT_ID .75 3.6.2.1.5 GET_SAMPLING_PORT_STATUS.75 3.6.2.2 Queuing Port Services .76 3.6.2.2.1 CREATE_QUEUING_PORT .76 3.6.2.2.2 SEND_QUEUING_MESSAGE 77 3.6.2.2.3 RECEIVE_QUEUING_MESSAGE 78 3.6.2.2.4 GET_QUEUING_PORT_ID.80 3.6.2.2.5 GET_QUEUING_PORT_STATUS 81 3.6.2.2.6 CLEAR_QUEUING_PORT.81 ARINC
37、SPECIFICATION 653 TABLE OF CONTENTS vii 3.7 Intrapartition Communication.82 3.7.1 Intrapartition Communication Types .82 3.7.2 Intrapartition Communication Services .83 3.7.2.1 Buffer Services.83 3.7.2.1.1 CREATE_BUFFER84 3.7.2.1.2 SEND_BUFFER 85 3.7.2.1.3 RECEIVE_BUFFER 86 3.7.2.1.4 GET_BUFFER_ID .
38、88 3.7.2.1.5 GET_BUFFER_STATUS.88 3.7.2.2 Blackboard Services 89 3.7.2.2.1 CREATE_BLACKBOARD89 3.7.2.2.2 DISPLAY_BLACKBOARD.90 3.7.2.2.3 READ_BLACKBOARD 91 3.7.2.2.4 CLEAR_BLACKBOARD 92 3.7.2.2.5 GET_BLACKBOARD_ID .93 3.7.2.2.6 GET_BLACKBOARD_STATUS.93 3.7.2.3 Semaphore Services94 3.7.2.3.1 CREATE_S
39、EMAPHORE .94 3.7.2.3.2 WAIT_SEMAPHORE.95 3.7.2.3.3 SIGNAL_SEMAPHORE.96 3.7.2.3.4 GET_SEMAPHORE_ID.97 3.7.2.3.5 GET_SEMAPHORE_STATUS 97 3.7.2.4 Event Services .98 3.7.2.4.1 CREATE_EVENT 98 3.7.2.4.2 SET_EVENT98 3.7.2.4.3 RESET_EVENT.99 3.7.2.4.4 WAIT_EVENT100 3.7.2.4.5 GET_EVENT_ID101 3.7.2.4.6 GET_E
40、VENT_STATUS .101 3.8 Health Monitoring 102 3.8.1 Health Monitoring Types .102 3.8.2 Health Monitoring Services .103 3.8.2.1 REPORT_APPLICATION_MESSAGE.103 3.8.2.2 CREATE_ERROR_HANDLER.103 3.8.2.3 GET_ERROR_STATUS.104 3.8.2.4 RAISE_APPLICATION_ERROR105 4.0 COMPLIANCE TO APEX INTERFACE .107 4.1 Compli
41、ance to APEX Interface 107 ARINC SPECIFICATION 653 TABLE OF CONTENTS viii 4.2 O/S Implementation Compliance.107 4.3 Application Compliance .107 5.0 XML CONFIGURATION 108 5.1 XML Configuration Specification108 5.2 XML-Workflow Example 109 APPENDICES A Glossary.110 B Acronyms.119 C APEX Services Speci
42、fication Grammar.120 D.1 ADA 83 Interface Specification121 D.2 ADA 95 Interface Specification142 E ANSI C Interface Specification 163 F APEX Service Return Code Matrix177 G Graphical View of ARINC 653 XML-Schema Types178 H ARINC 653 XML-Schema Types .192 I ARINC 653 XML-Schema Type Usage Examples.19
43、9 ARINC SPECIFICATION 653, PART 1 Page 1 1.0 INTRODUCTION 1.1 Purpose This document specifies the baseline operating environment for application software used within Integrated Modular Avionics (IMA) and traditional ARINC 700-series avionics. The primary objective of this Specification is to define
44、a general-purpose APEX (APplication/EXecutive) interface between the Operating System (O/S) of an avionics computer resource and the application software. Included within this specification are the interface requirements between the application software and the O/S and the list of services which all
45、ow the application software to control the scheduling, communication, and status information of its internal processing elements. This Specification defines the data exchanged statically (via configuration) or dynamically (via services) as well as the behavior of services provided by the O/S and use
46、d by the application. It is not the intent of this specification to dictate implementation requirements on either the hardware or software of the system, nor is it intended to drive certain system-level requirements within the system which follows this standard. The majority of this document describ
47、es the runtime environment for embedded avionics software. This list of services identifies the minimum functionality provided to the application software and is, therefore, the industry standard interface. It is intended for this interface to be as generic as possible, since an interface with too m
48、uch complexity or too many system-specific features is normally not accepted over a variety of systems. The software specifications of the APEX interface are High-Order Language (HOL) independent, allowing systems using different compilers and languages to follow this interface. This document is int
49、ended to complement ARINC Report 651. It is expected that this document will evolve to contain additional functionality and capability. Supplements to this document will be prepared as needed by the industry. 1.2 Scope This document specifies both the interface and the behavior of the API services. Behavior is specified to the extent needed to describe functionality relevant to calling applications. Where necessary, assumptions are made as to the support or