Trampoline OSEK-VDX & AUTOSAR Compliant Open Source Real-Time Operating System

Similar documents
Runtime Verification for Real-Time Automotive Embedded Software

Open Source Software

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

Embedded OS. Product Information

Real-Time Multitasking in Arduino. Pasquale Buonocunto, Alessandro Biondi, Pietro Lorefice

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

OSEK / VDX. System Generation. OIL: OSEK Implementation Language Version 2.5. Open Systems and the Corresponding Interfaces for Automotive Electronics

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

OSEK/VDX. Operating System. Version February 17 th, 2005

OSEK / VDX. System Generation. OIL: OSEK Implementation Language Version January 23, 2003

System Software and TinyAUTOSAR

Mobile Operating Systems. Week I

How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX

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

Performance Comparison of RTOS

smxusbd USB Device Stack

AN OSEK/VDX-BASED MULTI-JVM FOR AUTOMOTIVE APPLIANCES

Embedded Software development Process and Tools:

Proteus, a hybrid Virtualization Platform for Embedded Systems

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL

Introduction to the NI Real-Time Hypervisor

Java and Real Time Storage Applications

Site Configuration SETUP GUIDE. Windows Hosts Single Workstation Installation. May08. May 08

the high-performance embedded kernel User Guide Version 5.0 Express Logic, Inc Toll Free 888.THREADX FAX

Embedded & Real-time Operating Systems

POSIX : Certified by IEEE and The Open Group a briefing.

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

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers

Embedded Systems. 6. Real-Time Operating Systems

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

AUTOBEST: A United AUTOSAR-OS and ARINC 653 Kernel

Servo Motor API nxt_motor_get_count nxt_motor_set_count nxt_motor_set_speed

Experience with the integration of distribution middleware into partitioned systems

MQX Lite Real-Time Operating System User Guide

Do AUTOSAR and functional safety rule each other out?

Mobile Operating Systems Lesson 03 PalmOS Part 1

DOWNLOAD COURSE PRESENTATIONS. Scan to download course presentations

SoCLib : Une plate-forme de prototypage virtuel pour systèmes multi-processeurs intégrés sur puce

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

ARINC 653. An Avionics Standard for Safe, Partitioned Systems

Operating Systems. Lecture 03. February 11, 2013

GPU Profiling with AMD CodeXL

Building Embedded Systems

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Brief description of the paper/report. Identification

Mobile Operating Systems Lesson 05 Windows CE Part 1

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

Chapter 3 Operating-System Structures

How To Build A Provably Secure Execution Platform For Embedded Systems

AUTOSAR and Linux Single chip solution Implementation of Automotive Multipurpose ECU Prototype system using hypervisor solution

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

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

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

Master of Engineering Thesis. Evaluation and Implementation of the RTOS ecos

Keil C51 Cross Compiler

STM32JAVA. Embedded Java Solutions for STM32

Introduction to Embedded Systems. Software Update Problem

Mimer SQL Real-Time Edition White Paper

Linux for Embedded and Real-Time Systems

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Operating System Structures

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

RTEMS Porting Guide. On-Line Applications Research Corporation. Edition , for RTEMS July 2015

8051 MICROCONTROLLER COURSE

Virtualization. Pradipta De

Reconfig'09 Cancun, Mexico

JPURE - A PURIFIED JAVA EXECUTION ENVIRONMENT FOR CONTROLLER NETWORKS 1

Real-Time Operating Systems for MPSoCs

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

Code generation under Control

CGI-based applications for distributed embedded systems for monitoring temperature and humidity

IPv6 Challenges for Embedded Systems István Gyürki

STLinux Software development environment

Design and Implementation of the Heterogeneous Multikernel Operating System

Chapter 3: Operating-System Structures. Common System Components

Le langage OCaml et la programmation des GPU

BMW Car IT GmbH. AUTOSAR - First Experiences and the Migration Strategy of the BMW Group

Scheduling and Thread Management with RTEMS

Computer Organisation Operating Systems

RTOS Debugger for ecos

WIND RIVER DIAB COMPILER

Operating Systems 4 th Class

Special FEATURE. By Heinrich Munz

APPLICATION NOTE. AT04056: Getting Started with FreeRTOS on Atmel SAM Flash MCUs. Atmel SMART. Introduction

Managed Object - PerformanceManager

Bienvenue au Forum Vector 2007

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Operation Structure (OS)

Introduction. What is an Operating System?

Virtualization Technologies (ENCS 691K Chapter 3)

Transcription:

Trampoline OSEK-VDX & AUTOSAR Compliant Open Source Real-Time Operating System Jean-Luc Béchennec, Mikaël Briday, Sylvain Cotard, Sébastien Faucou, Yvon Trinquet Journée ACTRISS Outils. November 7, 2012 J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 1 / 16

History and Motivation History and Motivation 2005 Start of development, Goals: 1) automotive industry standard compliant RTOS, 2) Open Source RTOS for teaching and research purposes. Early 2007 Start of O4A (Open for AUTOSAR) PREDIT project, Validate OSEK compliance, Add AUTOSAR 2 compliance. Start of cooperation with See4sys. Late 2008 Start of O4A II PREDIT Project, Add AUTOSAR 3 compliance. Late 2010 Start of RESPECTED ANR Project, currently adding Multicore support and modular scheduler. J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 2 / 16

How it works A static RTOS Static means no object creation or deletion at runtime. Tasks, resources (mutex), events (signalization),... are all known at compile time. Trampoline encompasses: A real-time kernel (trampoline os); A communication extension (trampoline com and trampoline ioc); An off-line kernel configuration tool (goil); A virtual environment to prototype applications on POSIX workstations (viper); A runtime verification tool (enforcer). J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 3 / 16

Architecture How it works OS Task Interrupt Alarm Resource Event ISR Schedule Table Counter Global Time Application com/ioc Kernel Interrupt dispatcher Counter manager Scheduler BSP Interrupt handler System Call handler Context switching Memory protection manager J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 4 / 16

Workflow How it works System Configuration Templates Kernel C Sources OS infrastructure C + Assembly Sources Application OIL description GOIL v2 Compiler Application Description + generated code. C Source(s) C Compiler + Linker Application C Source(s) Binary executable J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 5 / 16

A word about Enforcer How it works T 0 b 0 T 2 T 1 r 21 b 1 s 00 r 10 s 11 r 21 false Monitoring service true Event Event analysis Monitor update True occurs False occurs Event table Event Handler Monitor update Transition table J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 6 / 16

OIL example How it works CPU only_one_periodic_task { OS config { STATUS = EXTENDED ; BUILD = TRUE { APP_SRC = " periodic.c"; TRAMPOLINE_BASE_PATH = "../../.."; APP_NAME = " periodic_exe "; }; }; APPMODE std {}; ALARM one_second { COUNTER = SystemCounter ; ACTION = ACTIVATETASK { TASK = my_periodic_task ; }; AUTOSTART = TRUE { APPMODE = std ; ALARMTIME = 100; CYCLETIME = 100; }; }; TASK my_periodic_task { PRIORITY = 1; AUTOSTART = FALSE ; ACTIVATION = 1; SCHEDULE = FULL; }; }; J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 7 / 16

platforms, memory footprint and conformance checking Porting Porting is quite easy. It is estimated to 1 week of work for someone who know the target by See4sys. It consists in: Writing the BSP (Interrupt handler, System Call handler, Context switching); Writing the templates to generate the hardware dependent task and ISR descriptors; Writing the OIL description of the available interrupt sources. Currently the following targets are supported: POSIX PowerPC (32 bits ISA and VLE ISA) ARM (32 bits ISA, Thumb soon) C166 AVR J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 8 / 16

platforms, memory footprint and conformance checking Small Memory Footprint All descriptors are stored in static variables, initialized at compile time All static fields can be mapped in ROM All dynamic fields have to be mapped in RAM Basic task / ISR Extended task Alarm Resource Static descriptor 4 ptr + 4 bytes 3 ptr + 2 bytes - Dynamic descriptor 1 ptr + 2 bytes 1 ptr + 4 bytes 3 ptr + 4 bytes 2 ptr + 2 bytes Could be improved by using bitfields instead of uint8, but portability would be decreased Simple applications run on 8 bit CPU, RAM < 2KB, ROM < 8KB J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 9 / 16

platforms, memory footprint and conformance checking Conformance Checking OSEK conformance has been specified in the MODISTARC ESPRIT project. MODISTARC defines: the testing methodology the test plan the test procedure We implemented a test suite that includes the MODISTARC test plan/procedure + additional tests + AUTOSAR tests = 142 tests. The test suite is packaged with Trampoline under the GPL licence J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 10 / 16

More to come Roadmap Work in progress within ANR RESPECTED (LEAT, LAAS, IRCCyN, See4sys): Multicore kernel design Formal verification of synchronization schemes Modularization: plugging other schedulers; plugging API. J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 11 / 16

Diffusion Who is using Trampoline in Teaching? Université de Nantes Ecole Centrale de Nantes Université de Rennes INSA Toulouse J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 12 / 16

Diffusion Who is using Trampoline in Research? Caroline Lu PhD (LAAS/Renault) Robustesse du logiciel embarqué multicouche par une approche réflexive : application à l automobile Dominique Bertrand PhD (IRCCyN) Contribution à la robustesse des systèmes temps-réel embarqués Sylvain Cotard PhD (IRCCyN/Renault) Méthode d exploitation sûre des systèmes temps réel embarqués multicœur et multiprocesseur Hélène Martorell PhD (LAAS/Renault) Architectures et processus de développement permettant la mise à jour dynamique de systèmes embarqués automobiles Method and tools for mixed-criticality real-time applications within PharOS. Lemerre, Matthieu, and al. Object/Component/Service-Oriented Real-Time Distributed Computing Workshops (ISORCW), 2011 14th IEEE International Symposium on. IEEE, 2011. Model checking Trampoline OS: a case study on safety analysis for automotive software, Yunja Choi, Software Testing, Verification and Reliability, Wiley, 2012. Bayesian Software Health Management for Aircraft Guidance, Navigation, and Control. Johann M. Schumann, Timmy Mbaya, and Ole J. Mengshoel. Annual conference of the prognostics and health management society 2011 (PHM-11), 2011. J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 13 / 16

Diffusion Who is using Trampoline in the Industry? See4sys: Trampoline is included in their AUTOSAR Basic Software offer; PSA: As part of collaboration with See4sys; Renault: In various CIFRE PhD Thesis; Other car manufacturers (at least 2); Dunasys: Currently for evaluation. J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 14 / 16

To conclude Open Source distribution and spreading 4000 downloads per year; Eases the research works; Eases the collaborations; Interesting for teaching; Not an obstacle for industry; Small community; Many contacts with students / academics / engineers. J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 15 / 16

To conclude Questions? J-L Béchennec et al. (IRCCyN) Trampoline Open Source RTOS Journée ACTRISS, 2012/11/7 16 / 16