Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics ∗

Total Page:16

File Type:pdf, Size:1020Kb

Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics ∗ Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics ∗ Juan Zamorano, Juan A. de la Puente Universidad Polit´ecnica de Madrid (UPM) E-28040 Madrid, Spain jzamora@fi.upm.es, [email protected] Alfons Crespo Universidad Polit´ecnica de Valencia (UPV) E-46022 Valencia, Spain [email protected] Abstract This paper describes the porting of a Ravenscar compliant kernel (ORK+) to the hypervisor XtratuM to build up an open source ARINC 653 platform for avionics systems. The Integrated Modular Avionics (IMA) architecture requires a specialized operating system layer that provides temporal and spatial iso- lation between partitions. The ARINC 653 standard defines an architecture and an applications program interface (API) for such an operating system or application executive (APEX), in ARINC terms. There are diverse ARINC 653 implementations available from multiple vendors, and the standard has been suc- cessfully used in a number of commercial and military avionics systems. However, there was not an open source ARINC 653 platform available. The combination of both tools (ORK+ and XtratuM) provides an IMA platform that allows different criticality applications to share the same computer board. 1 Introduction be put in place in order to isolate applications from each other. The common approach is to provide a number of logical partitions on each computer plat- Current trends in avionic systems envisage systems form, in such a way that each partition is allocated a with increased functionality and complexity. Such share of processor time, memory space, and other re- systems are often composed of several applications sources. Partitions are thus isolated from each other that may have different levels of criticality. In such a both in the temporal and spatial domains. Temporal scenario, the most critical applications must be iso- isolation implies that a partition does not use more lated from the less critical ones, so that the integrity processor time than allocated, and spatial isolation of the former is not compromised by failures occur- means that software running in a partition does not ring in the latter. Isolation has often been achieved read or write into memory space allocated to another by using a federated approach, i.e. by allocating dif- partition. ferent applications to different computers. However, This approach has been successfully imple- the growth in the number of applications and the mented in the aeronautics domain by so-called In- increasing processing power of embedded comput- tegrated Modular Avionics (IMA) [10]. The IMA ers foster an integrated approach, in which several architecture requires a specialized operating system applications may be executed on a single computer layer that provides temporal and spatial isolation be- platform. In this case, alternate mechanisms must ∗This work has been partly funded by the Spanish Ministry of Science, project TIN2008-06766-C03-01 (RT-MODEL) 1 tween partitions. The ARINC 653 standard defines 2 XtratuM Overview an architecture and an applications program inter- applica- face (API) for such an operating system or XtratuM [7, 8, 6] is a type 1 hypervisor that uses tion executive (APEX), in ARINC terms. Temporal para-virtualisation. It was designed to meet safety isolation is provided by using a two-level schedul- critical real-time requirements. The most relevant partition scheduler ing scheme. A allocates processor features are: time to partitions according to a static cyclic sched- ule, where each partition runs in turn for the dura- tion of a fixed slice of time (cf. figure 1). The ARINC • Bare hypervisor. global scheduler is a variant of a static cyclic exec- utive, while the local schedulers are priority-based. • Employs para-virtualisation techniques. Spatial isolation between partitions is provided by implementing a separate address space for each par- • An hypervisor designed for embedded systems: tition, in a similar way as process address spaces are some devices can be directly managed by a des- protected from each other in conventional operat- ignated partition. ing systems. There are diverse ARINC 653 imple- mentations available from multiple vendors, and the • Strong temporal isolation: fixed cyclic sched- standard has been successfully used in a number of uler. commercial and military avionics systems. However, there was not an open source ARINC 653 platform • Strong spatial isolation: all partitions are exe- available. cuted in processor user mode, and do not share This paper describes the porting of an improved memory. version of the Open Ravenscar Kernel (ORK+) [11] to the hypervisor XtratuM [9] to build up an open • Fine grain hardware resource allocation via a source ARINC 653 platform [3] for avionics systems. configuration file. The combination of both tools provides an IMA plat- form that allows different criticality applications to • Robust communication mechanisms (AR- share the same computer board. Section 2 describes INC653 sampling and queuing ports). the main features of the hypervisor XtratuM. Sec- tion 3 details the architecture of ORK+ and changes needed to port it to XtratuM. Finally, some con- XtratuM provides a virtual machine closer to the clusions about the resulting ARINC 653 complaint native hardware. The virtual machine provides the operating system are drawn and plans for the near access to the system resources: cpu registers, clock, future are explained in section 4. timer, memory, interrupts, etc., through a set of sys- tem calls (hypercalls). Each virtual machine is re- ferred as “guest”, “domain” or “partition” and can contain a bare code or an operating system with the applications. To execute an operating system as a guest partition, it has to be para-virtualised which implies the replacement of some parts of the operat- ing system HAL (Hardware Abstraction Layer) with the corresponding hypercalls. In this approach, a partition is a virtual com- puter rather than a group of strongly isolated pro- cesses. When multi-threading (or tasking) support is needed in a partition, then an operating system or a run-time support library has to provide it. Figure 2 shows the XtratuM architecture and the relation with the partitions. The services provided by XtratuM are sum- marised in the table 1. Additionally to these gen- eral services, XtratuM provides specific services that FIGURE 1: ARINC 653 hierarchical archi- strongly depend on the native processor that are tecture. shown in table 2. 2 FIGURE 2: XtratuM and its development environments. Currently, version 2.2 is being used by CNES as a TSP-based solution for building highly generic and Group of ser- Hypercalls Partition reusable on-board payload software for space appli- vices type cations [1]. TSP (time and space partitioning) based Clock man- get clock; define timers Normal architecture has been identified as the best solution agement to ease and secure reuse. It enables a major decou- IRQ Man- enable / disable IRQs, Normal pling of the generic features that are being devel- agement mask / unmaks IRQs oped, validated, and maintained in mission-specific IP Commu- create ports; read / re- Normal data processing [2]. nication ceive / write / send messages IO manage- read/write IO Normal ment 3 ORK+ Overview Partition mode change, halt / re- System management set / resume / suspend ORK [4] is an open-source real-time kernel which / shutdown partitions provides full conformance with the Ravenscar task- (system) ing profile on embedded computers. The kernel has a Health mon- read / seek / status System reduced size and complexity, and has been carefully itoring man- HM events designed to allow the building of reliable software for agement embedded applications. This kernel is integrated in a Audit facili- read / status System cross-compilation system based on GNAT, support- ties ing the subset of Ada tasking which is allowed by the Ravenscar profile in an efficient and compact way. TABLE 1: XtratuM hypercalls ORK+ [11] includes support for the new Ada 2005 timing features, such as execution time SparcV8 hypercalls clocks and timers. The ORK+ kernel provides all the XM sparcv8 atomic add required functionality to support real-time program- XM sparcv8 atomic and ming on top of the LEON2 hardware architecture. XM sparcv8 atomic or The kernel functions are grouped as follows: XM sparcv8 ush regwin XM sparcv8 get ags 1. Task management, including task creation, XM sparcv8 inport synchronization, and scheduling. XM sparcv8 iret XM sparcv8 outport 2. Time services, including absolute delays and XM sparcv8 set ags real-time clock. TABLE 2: XtratuM SparcV8 hypercalls 3. Interrupt handling. 3 FIGURE 3: ORK+ architecture. That kernel functionality is implemented with • System.BB.Peripherals.Registers: Defini- the following components (figure 3): tions related to input-output registers of the peripheral devices. • System.BB:1 Root package (empty interface). • System.BB.Threads: Thread management, in- cluding synchronization and scheduling control functions. • System.BB.Serial Output: Support for serial output to a console. • System.BB.Threads.Queues: Different kernel queues such as alarm queue and ready queue. • System.BB.Time: Clock and delay services in- cluding support for timing events. That software architecture make easy to port • System.BB.Time.Execution Time Support: ORK+ to different hardware or software platforms. Execution time clocks and timers as well as Most of kernel components are fully independent group budgets support. from the underlying platform and the lower level components have specifications that are also plat- • System.BB.Interrupts: Interrupt handling. form independent. In this way, it is only needed to • System.BB.Parameters: Configuration pa- re-implement the lowest level functions on top of the rameters. provided XtratuM functions to obtain the full ORK+ functionality. • System.BB.CPU Primitives: Processor- The modified components were System.BB.Time, dependent definitions and operations. System.BB.Interrupts, System.BB.CPU Primi- • System.BB.Peripherals: Support for periph- tives, System.BB.Time.Execution Time Support erals in the target board. and System.BB.Peripherals. 1“BB” stands for “bare-board kernel”.
Recommended publications
  • Software Model Checking of ARINC-653 Flight Code with MCP Sarah J
    Software Model Checking of ARINC-653 Flight Code with MCP Sarah J. Thompson Guillaume Brat SGT Inc., NASA Ames Research Center CMU, NASA Ames Research Center MS269-1, Moffett Field, California MS-269-1, Moffett Field, California [email protected] [email protected] Arnaud Venet SGT Inc., NASA Ames Research Center MS269-1, Moffett Field, California [email protected] Abstract The ARINC-653 standard defines a common interface for Integrated Modular Avionics (IMA) code. In particular, ARINC-653 Part 1 specifies a process- and partition-management API that is analogous to POSIX threads, but with certain extensions and restrictions intended to support the implementation of high reliability flight code. MCP is a software model checker, developed at NASA Ames, that provides capabilities for model checking C and C++ source code. In this paper, we present recent work aimed at implementing extensions to MCP that support ARINC-653, and we discuss the challenges and opportunities that consequentially arise. Providing support for ARINC-653’s time and space partitioning is nontrivial, though there are implicit benefits for partial order reduction possible as a consequence of the API’s strict interprocess communication policy. 1 Introduction NASA missions are becoming increasingly complex, and, more and more of this complexity is imple- mented in software. In 1977, the flight software for the Voyager mission amounted to only 3000 lines. Twenty years later, the software for Cassini had grown by a factor of ten, and more strikingly, the soft- ware for the Mars Path Finder mission amounted to 160 KLOCs (thousands of lines of code).
    [Show full text]
  • Communications for Integrated Modular Avionics
    Communications for Integrated Modular Avionics Richard L. Alena [email protected] John P. Ossenfort IV, SAIC Kenneth I. Laws, QSS Andre Goforth NASA Ames Research Center Moffett Field, CA 94035 Fernando Figueroa, NASA Stennis Space Center TABLE OF CONTENTS Abstract—The aerospace industry has been adopting avionics architectures to take advantage of advances in computer engineering. Integrated Modular Avionics (IMA), 1. INTRODUCTION ..................................................... 1 as described in ARINC 653, distributes functional modules 2. INTEGRATED MODULAR AVIONICS...................... 2 into a robust configuration interconnected with a “virtual 3. NETWORKS FOR AEROSPACE ............................... 4 backplane” data communications network. Each avionics 4. MISSION COMPUTER DESIGN............................... 8 module’s function is defined in software compliant with the 5. LAB EVALUATION............................................... 12 APEX Application Program Interface. The Avionics Full- 6. CONCLUSIONS..................................................... 16 Duplex Ethernet (AFDX) network replaces the point-to- REFERENCES........................................................... 17 point connections used in previous distributed systems with BIOGRAPHY ............................................................ 18 “virtual links”. This network creates a command and data path between avionics modules with the software and 1. INTRODUCTION network defining the active virtual links over an integrated physical network.
    [Show full text]
  • Avionics Applications on a Time-Predictable Chip-Multiprocessor
    Avionics Applications on a Time-predictable Chip-Multiprocessor Andre´ Rocha and Claudio´ Silva Rasmus Bo Sørensen, Jens Sparsø, and Martin Schoeberl GMV Department of Applied Mathematics and Computer Science Lisbon, Portugal Technical University of Denmark Email: [andre.rocha, claudio.silva]@gmv.com Email: [rboso, jspa, masca]@dtu.dk Abstract—Avionics applications need to be certified for The demonstrators were ported to the T-CREST platform the highest criticality standard. This certification includes using its compiler tool-chain and analysis tools. The demon- schedulability analysis and worst-case execution time (WCET) strators validate the T-CREST platform. Part of the exercise, analysis. WCET analysis is only possible when the software is written to be WCET analyzable and when the platform is however, is to evaluate the added value of the platform. The time-predictable. In this paper we present prototype avionics platform shall enable application developers to determine the applications that have been ported to the time-predictable WCET of their applications more precisely or more easily. T-CREST platform. The applications are WCET analyzable, Therefore, we compare the T-CREST platform with a well- and T-CREST is supported by the aiT WCET analyzer. This established platform in the avionics domain. combination allows us to provide WCET bounds of avionic tasks, even when executing on a multicore processor. The T-CREST platform was evaluated with the aid of the following three real-world avionic applications: (1) an Airlines Operational Centre (AOC), (2) a Crew Alerting I. INTRODUCTION System (CAS), and (3) an I/O Partition (IOP). We chose The mission of the T-CREST project [1], [2] is to develop T-CREST as platform for avionics applications as this is and build a multicore processor that is time-predictable and currently the only multicore processor where static WCET easy to analyze for the worst-case execution time (WCET).
    [Show full text]
  • WIND RIVER Vxworks 653 PLATFORM 2.4 and 2.5
    WIND RIVER VxWORKS 653 PLATFORM 2.4 AND 2.5 TABLE OF CONTENTS RTCA DO-178C Certification Evidence .......................................... 2 VxWorks 653 Platform Benefits ................................................. 2 VxWorks 653 Runtime Components ............................................ 3 VxWorks 653 Module OS ................................................... 4 Partition Management ..................................................... 4 Partition Scheduling ....................................................... 4 Partition Operating System ................................................. 4 COIL .................................................................... 5 APEX Application Support .................................................. 5 FACE Technical Reference 2.0 and 2.1 Support ................................ 5 Inter-partition Communication ............................................... 6 Intra-partition Communication ............................................... 6 Health Monitor ........................................................... 6 Wind River Workbench ..................................................... 7 Included Runtime Products .................................................. 12 Wind River DO-178C Network Stack ......................................... 12 Wind River Highly Reliable File System ....................................... 12 Technical Specifications ..................................................... 12 Supported Target Architectures ...........................................
    [Show full text]
  • Towards a Real-Time Component Framework for Software Health Management
    Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, 37203 Towards a Real-time Component Framework for Software Health Management Abhishek Dubey , Gabor Karsai , Robert Kereskenyi , Nagabhushan Mahadevan TECHNICAL REPORT ISIS-09-111 November, 2009 Towards a Real-time Component Framework for Software Health Management Abhishek Dubey Gabor Karsai Robert Kereskenyi Nagabhushan Mahadevan Institute for Software Integrated Systems, Vanderbilt University, Nashville, TN 37203, USA Abstract— The complexity of software in systems like aerospace industry, that deals with detecting anomalies, di- aerospace vehicles has reached the point where new techniques agnosing failure sources, and prognosticating future failures are needed to ensure system dependability. Such techniques in complex systems, like aerospace vehicles. While System include a novel direction called ‘Software Health Management’ (SHM) that extends classic software fault tolerance with tech- Health Management has been developed for physical (hard- niques borrowed from System Health Management. In this ware) systems, it provides interesting systems engineering paper the initial steps towards building a SHM approach are techniques for other fields like embedded software systems. described that combine component-based software construction The use of System Health Management techniques for with hard real-time operating system platforms. Specifically, embedded software systems points beyond the capabilities the paper discusses how the CORBA Component Model could be combined with the ARINC-653 platform services and the provided by the SFT techniques and can potentially in- lessons learned from this experiment. The results point towards crease a system’s dependability. This new direction is called both extending the CCM as well as revising the ARINC-653. Software Health Management (SHM) [4].
    [Show full text]
  • ARINC-653 Inter-Partition Communications and the Ravenscar Profile
    ARINC-653 Inter-partition Communications and the Ravenscar Profile Jorge Garrido Juan Zamorano Juan A. de la Puente Abstract The ARINC-653 standard is often used to build mixed-criticality systems, using a partitioned archi­ tecture. Inter-partition communication is carried out by means of a message-passing mechanism based on ports. The standard includes an API for Ada, but the implementation semantics of operation ports is not fully defined. Furthermore, the API was defined for the Ada 95 standard, and therefore does not take into account the enhancements to the real-time features of the language that have been incorporated in the 2005 and 2013 standards, most notably the Ravenscar profile. This paper is aimed at clarifying the implementation of ARINC communication ports in Ada and the Ravenscar profile. ARINC communi­ cation ports are analysed, and their compatibility with the Ravenscar profile is assessed. A new API that can be used with the profile is defined, and a pilot implementation is introduced. 1 Introduction Partitioning is a convenient approach for developing mixed-criticality systems on a single hardware plat­ form. Under this approach, a system is divided into a set of logical partitions, which are isolated from each other both in the temporal and spatial domains. Subsystems with different levels of criticaliry are allocated to different partitions, and failures in low-criticality components cannot propagate to high-criticality ones. Critical subsystems can thus be certified in isolation to the required level, provided that the partitioning ker­ nel is also certified to that level, but the validation of lower-criticality subsystems can be greatly simplified.
    [Show full text]
  • High-Assurance Separation Kernels: a Survey on Formal Methods
    1 High-Assurance Separation Kernels: A Survey on Formal Methods Yongwang Zhao, Beihang University, China David Sanan´ , Nanyang Technological University, Singapore Fuyuan Zhang, Nanyang Technological University, Singapore Yang Liu, Nanyang Technological University, Singapore Separation kernels provide temporal/spatial separation and controlled information flow to their hosted applications. They are introduced to decouple the analysis of applications in partitions from the analysis of the kernel itself. More than 20 implementations of separation kernels have been developed and widely applied in critical domains, e.g., avionics/aerospace, military/defense, and medical devices. Formal methods are mandated by the security/safety certification of separation kernels and have been carried out since this concept emerged. However, this field lacks a survey to systematically study, compare, and analyze related work. On the other hand, high-assurance separation kernels by formal methods still face big challenges. In this paper, an analytical framework is first proposed to clarify the functionalities, implementations, properties and stan- dards, and formal methods application of separation kernels. Based on the proposed analytical framework, a taxonomy is designed according to formal methods application, functionalities, and properties of separation kernels. Research works in the literature are then categorized and overviewed by the taxonomy. In accordance with the analytical framework, a compre- hensive analysis and discussion of related work are presented.
    [Show full text]
  • ARINC-653 Inter-Partition Communications and the Ravenscar Profile∗
    ARINC-653 Inter-partition Communications and the Ravenscar Profile∗ Jorge Garrido Juan Zamorano Juan A. de la Puente [email protected] jzamora@datsi.fi.upm.es [email protected] Universidad Politecnica´ de Madrid (UPM), Spain Abstract The ARINC-653 standard is often used to build mixed-criticality systems, using a partitioned archi- tecture. Inter-partition communication is carried out by means of a message-passing mechanism based on ports. The standard includes an API for Ada, but the implementation semantics of operation ports is not fully defined. Furthermore, the API was defined for the Ada 95 standard, and therefore does not take into account the enhancements to the real-time features of the language that have been incorporated in the 2005 and 2013 standards, most notably the Ravenscar profile. This paper is aimed at clarifying the implementation of ARINC communication ports in Ada and the Ravenscar profile. ARINC communi- cation ports are analysed, and their compatibility with the Ravenscar profile is assessed. A new API that can be used with the profile is defined, and a pilot implementation is introduced. 1 Introduction Partitioning is a convenient approach for developing mixed-criticality systems on a single hardware plat- form. Under this approach, a system is divided into a set of logical partitions, which are isolated from each other both in the temporal and spatial domains. Subsystems with different levels of criticality are allocated to different partitions, and failures in low-criticality components cannot propagate to high-criticality ones. Critical subsystems can thus be certified in isolation to the required level, provided that the partitioning ker- nel is also certified to that level, but the validation of lower-criticality subsystems can be greatly simplified.
    [Show full text]
  • And Space-Partitioned Architecture for the Next Generation of Space Vehicle Avionics
    Building a Time- and Space-Partitioned Architecture for the Next Generation of Space Vehicle Avionics Jos´e Rufino, Jo˜ao Craveiro, and Paulo Verissimo University of Lisbon, Faculty of Sciences, LaSIGE [email protected], [email protected], [email protected] Abstract. Future space systems require innovative computing system architectures, on account of their size, weight, power consumption, cost, safety and maintainability requisites. The AIR (ARINC 653 in Space Real-Time Operating System) architecture answers the interest of the space industry, especially the European Space Agency, in transitioning to the flexible and safe approach of having onboard functions of different criticalities share hardware resources, while being functionally separated in logical containers (partitions). Partitions are separated in the time and space domains. In this paper we present the evolution of the AIR architecture, from its initial ideas to the current state of the art. We describe the research we are currently performing on AIR, which aims to obtain an industrial-grade product for future space systems, and lay the foundations for further work. 1 Introduction Space systems of the future demand for innovative embedded computing system architectures, meeting requirements of different natures. These systems must obey to strict dependability and real-time requirements. Reduced size, weight and power consumption (SWaP), along with low wiring complexity, are also crucial requirements both for safety reasons and to decrease the overall cost of a mission. A modular approach to software enabling component reuse among the different space missions also benefits the cost factor. At the same time, such an approach allows independent validation and verification of components, thus easing the software certification process.
    [Show full text]
  • Model-Based Development of ARINC 653 Using UML and Sysml Andreas Korff, Atego – OMG RT Workshop, Paris, 18.04.2012
    Model-based development of ARINC 653 using UML and SysML Andreas Korff, Atego – OMG RT Workshop, Paris, 18.04.2012 © 2011 Atego. All Rights Reserved. 1 Agenda Motivation of Integrated Modular Systems Modelling Notation Standards UML and SysML Applying UML and SysML to IMS ARINC 653 Using Models to support ARINC 653 Conclusion © 2011 Atego. All Rights Reserved. 2 Motivation of Integrated Modular Systems Integrated Modular Systems (or IMA) aim to Minimize Life Cycle Costs Enhance Mission and Operational Performance Allow greater flexibility and re-use in Development and Maintenance Existing standards for IMS ARINC 653 – for implementing IMS concepts onto RTOSes Stanag 4626/EN 4660 – to de-couple Avionics HW and SW © 2011 Atego . All Rights Reserved. 3 Federated Architectures (shown with UML) Broad range of possible problems: Any failure effects everything Scheduling sensitive to any change Difficult to maintain: Obsolecence One change effects again everything Re-Use? © 2011 Atego. All Rights Reserved. 4 A closer Look on Federated Architectures On Closer inspection, logical ‘wrappers’ appear that perform specific functions. These can be interpreted as ‘layers’ in a Federated Architecture Physical Interface Layer Central Data Formatting Layer Controller Data Processing Layer © 2011 Atego. All Rights Reserved. 5 From Federated to a Layered Architecture In an IMS layered architecture each layer has a clearly defined responsibility, interface and is as important as each of the other layers Federated Architecture Stanag 4626/EN 4660 (ASAAC) {maps for logic} Data Processing Layer Application Layer {maps for scheduling} {maps} Data Formating Layer Operating System Layer Physical Interface Lacer Module Support Layer © 2011 Atego.
    [Show full text]
  • Studying on ARINC653 Partition Run-Time Scheduling and Simulation
    World Academy of Science, Engineering and Technology International Journal of Computer and Systems Engineering Vol:6, No:11, 2012 Studying on ARINC653 Partition Run-time Scheduling and Simulation Dongliang Wang, Jun Han, Dianfu Ma, and Xianqi Zhao generation respecting the requirement specification from the Abstract—Avionics software is safe-critical embedded software models, which greatly speeding the development of the system and its architecture is evolving from traditional federated architectures and assuring high reliability of such system. to Integrated Modular Avionics (IMA) to improve resource usability. And with the rapid development of aviation technology, ARINC 653 (Avionics Application Standard Software Interface) is a computer technology and microelectronics technology, modern software specification for space and time partitioning in Safety-critical avionics Real-time operating systems. Arinc653 uses two-level avionics architecture has gradually evolved from the traditional scheduling strategies, but current modeling tools only apply to simple federated architecture to the integrated modular avionics problems of Arinc653 two-level scheduling, which only contain time system structure (IMA)[4]. property. In avionics industry, we are always manually allocating IMA integrated all the subsystems on a common computer tasks and calculating the timing table of a real-time system to ensure platform, so as to greatly reuse various hardware resources. But it’s running as we design. In this paper we represent an automatically this potentially reduces the error control of functions. In order generating strategy which applies to the two scheduling problems with dependent constraints in Arinc653 partition run-time environment. It to introduce the error isolation as which in the federated provides the functionality of automatic generation from the task and architecture into IMA, the concept of partition is introduced in partition models to scheduling policy through allocating the tasks to [5].
    [Show full text]
  • IVV on Orions ARINC 653 Flight Software Architecture100913
    IV&V on Orion’s ARINC 653 Flight Software Architecture Adelbert Lagoy and Todd A. Gauer Agenda • ARINC 653/DO 178 background • Advantages to a 653 FSW architecture – Development – V&V – Maintenance • Available COTS 653 systems • The impact of the selection of a ARINC 653 approach on baseline documentation – Alignment and misalignment of ARINC 653 to NASA documentation • IV&V impacts from application of 653 approach – Architecture verification impacts – Requirements validation impacts – FSW code verification impacts – Potential recertification impacts • Other impacts (adverse impacts) – “overhead” from 653 – Static partition definitions – COTS OS opacity • Orion IV&V Experience ARINC 653/DO 178 background ARINC 653 • The Aeronautical Radio, Incorporated (ARINC) specification ARINC 653 is a software time and space partitioning standard for Real Time Operating Systems (RTOSs). • The ARINC 653 standard supports Integrated Modular Avionics (IMA) architecture allowing appropriate integration of avionics software of differing levels within a single hardware device. • ARINC 653 provides a level of fault protected operation. – Faults within a partition should not stop other partitions from executing. • Metaphor – ARINC 653 compliant system’s partitions are like “virtual flight computers” within the flight computer. Metaphor – ARINC 653 Conventional Monolithic System ARINC 653 System with 4 Partitions Memory Memory Time Time • ARINC 653 splits the available processor time and space into partitions (partitions do not need to be the same size). • When we talk “partition” in this discussion you can substitute “virtual flight computer” if that is helpful. ARINC 653/DO 178 background ARINC 653 • Each partition is assured of its allocated processing time and memory – Lockup, freeze, endless loop, overrun, etc within one partition will not prevent another partition from operating.
    [Show full text]