Linux A multi-purpose executive support for civil avionics applications?



Similar documents
AIRBUS VHT Framework - Mascot-NuM presentation - Emmanuelle Garcia

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

Embedded Systems. 6. Real-Time Operating Systems

System Requirements Orion

ARINC 653. An Avionics Standard for Safe, Partitioned Systems

Performance Comparison of RTOS

Sun Management Center Change Manager Release Notes

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

REAL TIME OPERATING SYSTEMS. Lesson-10:

Optimizing Solaris Resources Through Load Balancing

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG , Moscow

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

Lecture 3 Theoretical Foundations of RTOS

Sun StorEdge A5000 Installation Guide

SunFDDI 6.0 on the Sun Enterprise Server

Weighted Total Mark. Weighted Exam Mark

Programming real-time systems with C/C++ and POSIX

Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics

Upgrading the Solaris PC NetLink Software

Linux for Embedded and Real-Time Systems

Solaris 10 Documentation README

System Software Integration: An Expansive View. Overview

SYSTEM ecos Embedded Configurable Operating System

Scrubbing Disks Using the Solaris Operating Environment Format Program

Linux 2.4. Linux. Windows

Embedded & Real-time Operating Systems

Sun Enterprise Optional Power Sequencer Installation Guide

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

N1 Grid Service Provisioning System 5.0 User s Guide for the Linux Plug-In

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Archived Content. Contenu archivé

Sun StorEdge T3 Dual Storage Array - Part 1

Development of complex KNX Devices

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

The SAMANTA platform. Emeritus Expert SNECMA. Department Prognostic Health Monitoring Systems SNECMA

Experience with the integration of distribution middleware into partitioned systems

Solaris Bandwidth Manager

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Sun StorEdge RAID Manager Release Notes

Sun Cluster 2.2 7/00 Data Services Update: Apache Web Server

RTAI. Antonio Barbalace (modified by M.Moro 2011) RTAI

Power Savings in the UltraSPARC T1 Processor

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Managing NFS Workloads

Sun Grid Engine Release Notes

Real Time Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Applying Multi-core and Virtualization to Industrial and Safety-Related Applications

Building Embedded Systems

System Software and TinyAUTOSAR

Exploring the iplanet Directory Server NIS Extensions

Lecture 25 Symbian OS

Real-Time Operating Systems.

The evolving ARINC 653 standard and it s application to IMA

Java Dynamic Management Architecture for Intelligent Networks

What is an RTOS? Introduction to Real-Time Operating Systems. So what is an RTOS?(contd)

ESCALA. The perfect server for secure private clouds in AIX environments

Real Time Operating System for Embedded DSP Applications

Chapter 2: OS Overview

Solaris 9 9/05 Installation Roadmap

Service Level Definitions and Interactions

Red Hat Linux Internals

Sun Enterprise 420R Server Product Notes

Comparing JavaServer Pages Technology and Microsoft Active Server Pages

Sun StorEdge Availability Suite Software Point-in-Time Copy Software Maximizing Backup Performance

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Group Projects M1 - Cubbyhole

CGL Architecture Specification

Types Of Operating Systems

Reducing the Backup Window With Sun StorEdge Instant Image Software

Chapter 3 Operating-System Structures

Archived Content. Contenu archivé

Real-Time Operating Systems With Example PICOS18. What is an Operating System?

First-half 2012 Results. August 29 th, Jean-Paul AGON. Chairman and CEO

COS 318: Operating Systems. I/O Device and Drivers. Input and Output. Definitions and General Method. Revisit Hardware

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

What is best for embedded development? Do most embedded projects still need an RTOS?

Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015

Sun Management Center 3.6 Version 5 Add-On Software Release Notes

AADL et la conception des logiciels

Java Management Extensions SNMP Manager API

Mobile Operating Systems Lesson 05 Windows CE Part 1

Sun StorEdge N8400 Filer Release Notes

Chapter 2 System Structures

XtratuM: a Hypervisor for Safety Critical Embedded Systems

Chapter 11 I/O Management and Disk Scheduling

Programación de Sistemas Empotrados y Móviles (PSEM)

LynxOS RTOS (Real-Time Operating System)

AFDX Emulator for an ARINC-based Training Platform. Jesús Fernández Héctor Pérez J. Javier Gutiérrez Michael González Harbour

Introduction to the NI Real-Time Hypervisor

Comparison between scheduling algorithms in RTLinux and VxWorks

Process Description and Control william stallings, maurizio pizzonia - sistemi operativi

Transcription:

August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications?

Civil avionics software context Main characteristics Required dependability More and more software intensive : From 23Kb to 100Mb and more Synchronous and asynchronous architectures Very long lifetime compared to hardware components Integrated Modular Avionics concepts as new paradigm Development process based on DO-178B/ED-12B Guidance for satisfying airworthiness requirements Accepted by industrials Define processes and processes data Level of assurance and completion criteria depend on software criticality level Highly critical avionics systems are not considered here! Page 2

The Operating System : a key component O/S main objective Offers execution model and standard API to avionics applications H/W access through drivers and generic services : no impact on applications if hardware changes Portability, interoperability and reuse-ability of applications Linux as a multi-purpose O/S candidate Open source based on common adopted standards -> portability, interoperability Follows cooperative development model -> distributed knowledge, innovation Adaptable, reliable, scalable, fits to a wide range of hardware components Widely used and today mature for embedded market 3 steps for appropriation in avionics Embedding Linux on avionics specific hardware platform Host multi-level critical software : partitioning properties Make Linux ready for DO-178B certification Page 3

Industrial standards : POSIX vs ARINC 653 Some features comparison... POSIX ARINC 653 Event driven execution model Cyclic based execution model Multi-processing, multi-threading execution Same as POSIX but terminology used is partition for model process, and process for threads Priority preemptive scheduling for processes and threads No temporal partitioning I/O interrupt driven Memory segregation Socket Inter Process Communication Mutex and condition variables Timers Signal management Within partition time slice : priority preemptive scheduling of A653 processes with deadline management Temporal partitioning : fixed allocation of time slices to partitions in a repetitive time frame pattern I/O polling and I/O partitioning Same as POSIX but terminology is spatial partitioning Sampling and queuing ports on I/O Sampling and queuing ports on RAM Buffer, blackboard, semaphore, event No timers like POSIX but API service to wait for timeout Health monitoring Page 4

Linux for embedded and real-time systems Several OSS solutions based on Linux have been developed : RTAI RTLinux Linux/RK KURT ADEOS RedLinux QLinux... The 2.6 kernel features low latency and preemptible kernel, and is now ready out of the box for soft real time systems. Today, some projects aiming to bring Linux to the required maturity for embedded uses are in progress : Carrier grade Linux (telecoms) high availability, hot swappability, kernel and driver robustness FlightLinux (NASA) Linux in Space systems SELinux (NSA) security enhanced Linux Page 5

Embedding Linux on an avionics platform Research project Replace existing POSIX RTOS by Linux, in avionics platform, without changing existing applications Targets Acquire kernel internals knowledge (drivers, memory management, file systems, scheduling, synchronization, time management,...) Verify the Linux API conformance to the replaced O/S (limit the effort of porting existing applications to the new Linux platform) Results Linux integrated on a i486 avionics platform with network capabilities Reduced kernel footprint (memory, drivers, file system,...) Reduced common Unix tools footprint (using Busybox) Adapted avionics I/O drivers and FLASH PROM file system with execute In Place capability Re-use of an existing Ethernet driver (fast prototyping) Avionics applications successfully migrated to this new environment Page 6

Embedded Linux diagram 1 standalone machine 2 diskless machine on network 3 full drivers 4 with applications A P P OpenGroup POSIX.1 test suite NFS client Linux kernel Busybox tools TCP/IP stack EEPROM, avionics buses, wired I/O, FLASH with XIP Boot sequence, interrupt controler, realtime clock, serial port management Network Ethernet Drivers Board Support Package Avionics hardware File System Page 7 E E P R O M A 4 2 9 Wired I/O R A M F L A S H

Host multi-level critical software Research project Host avionics applications, based on Integrated Modular Avionics concepts and ARINC 653 standard, on Linux platform Targets Implement ARINC 653 cyclic scheduler and temporal partitioning Implement a standalone ARINC 653 API (not relying on POSIX services) Results Scheduler adapted to run both ARINC 653 and POSIX applications Sampling and Queuing ports attached to RAM, Unix sockets or AFDX (Avionics Full DupleX Ethernet) ports Static allocation of A653 system resources and dynamic control of their use Management of process deadlines Linux Trace Tool adapted to view ARINC 653 events (context switches of A653 processes, API calls, partition switch,...) Page 8

Host multi-level critical software diagram POSIX app 1 POSIX app n A653 app 1 A653 app n POSIX binding A653 binding K E R N E L POSIX services Scheduler Drivers and common kernel services A653 services Page 9

Why Linux is not ready for DO-178B? From the DO-178B viewpoint No development and verification plans Heterogeneous and complex development environment (distributed over Internet, multi-platform, etc.) No universal requirement, design and code standards No design document But, from the product viewpoint OpenGroup testing environment provides test suites for POSIX conformance Reliable software, modular architecture Co-operative and hierarchically structured development model with centralised version management Product reviewed and tested by peers Page 10

How to make Linux ready for DO-178B? Produce missing certification material using reverse engineering Develop tools to extract semantic from code and produce kernel static and dynamic design Focus on descriptions of the main kernel internal mechanisms Validation Compliance to standard, robustness, kernel profiling and performance characterization Properties analysis Worst Case Execution Time, stack consumption, proof of properties in complex algorithms _ Development Take part in the kernel development process to provide simple and deterministic algorithms in strategic parts of the software (memory management, scheduling, file system management) Provide static allocation and dynamic control of system resources Provide robust spatial and temporal partitioning Page 11

Conclusion Studies show using Linux in an avionics environment is possible. The main problem for certification is the predominant part of the process objectives of the DO-178B compared to a product objective approach... Linux gives low cost access to reliable and adaptable technology but appropriation cost for dependable systems is not negligible. Industrials need to work in partnership with labs and Linux experts to share the cost of reverse engineering activities. Those certification activities should be processed in an Open Source LiNUX : a multi-purpose project. executive support for civil avionics applications? August 2004 Page 12

Ce document et son contenu sont la propriété d AIRBUS FRANCE S.A.S. Aucun droit de propriété intellectuelle n est accordé par la communication du présent document et de son contenu. Ce document ne doit pas être reproduit ou communiqué à un tiers sans l autorisation expresse et écrite d AIRBUS FRANCE S.A.S. Ce document et son contenu ne doivent pas être utilisés à d autres fins que celles qui sont autorisées. Les déclarations faites dans ce document ne constituent pas une offre commerciale. Elles sont basées sur les postulats indiqués et sont exprimées de bonne foi. Si les motifs de ces déclarations n étaient pas démontrés, AIRBUS FRANCE S.A.S serait prêt à en expliquer les fondements. Page 13