Antonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator



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

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Java and Real Time Storage Applications

2 Introduction to Java. Introduction to Programming 1 1

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. Oct 2003 Presented to Gordon College CS 311

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

Mobile Operating Systems. Week I

Validating Java for Safety-Critical Applications

Smart Cards a(s) Safety Critical Systems

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Tutorial: Getting Started

Certification Authorities Software Team (CAST) Position Paper CAST-13

Multi-core Programming System Overview

Principles of a Vehicle Infotainment Platform

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Runtime Verification for Real-Time Automotive Embedded Software

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

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

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

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

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

Open Source Implementation of Hierarchical Scheduling for Integrated Modular Avionics

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Veeam Task Manager for Hyper-V

A Novel Cloud Based Elastic Framework for Big Data Preprocessing

Code Sharing using C++ between Desktop Applications and Real-time Embedded Platforms

HVM TP : A Time Predictable and Portable Java Virtual Machine for Hard Real-Time Embedded Systems JTRES 2014

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

The Design of the Inferno Virtual Machine. Introduction

Delivering Quality in Software Performance and Scalability Testing

ARINC 653. An Avionics Standard for Safe, Partitioned Systems

Practical Performance Understanding the Performance of Your Application

Real Time Programming: Concepts

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

2015 MicroDoc GmbH, München Java and IoT from a MicroDoc perspective

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

VMware vsphere 5.0 Evaluation Guide

Advances in Programming Languages

Embedded Systems. 6. Real-Time Operating Systems

Instrumentation Software Profiling

Oracle Java SE and Oracle Java Embedded Products

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

School of Computer Science

GlassFish Security. open source community experience distilled. security measures. Secure your GlassFish installation, Web applications,

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Virtual scheduling for compositional real-time guarantees

Experience with the integration of distribution middleware into partitioned systems

Predictable response times in event-driven real-time systems

A hypervisor approach with real-time support to the MIPS M5150 processor

Supporting Interactive Application Requirements in a Grid Environment

Smart Shopping- An Android Based Shopping Application

McAfee Product Entitlement Definitions

IoT Security Platform

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

CHAPTER 3 REAL TIME SCHEDULER SIMULATOR

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

ProSyst Software AG. for a smarter world. EuroCargo 2004 Joachim Ritter. Technical Consultant, ProSyst Software

Embedded Systems at the CSC School

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

SEACW DELIVERABLE D.1.6

How To Build A Provably Secure Execution Platform For Embedded Systems

Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality

Using Ada95 to Build Software for a Gigabit Layer 7 IP Networking Device: Ada s No Big Deal Anymore

Mission-Critical Java. An Oracle White Paper Updated October 2008

Java-based Functionality and Data Management in the Automobile. Prototyping at BMW Car IT GmbH. by Alexandre Saad, BMW Car IT GmbH, Munich/Germany

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

Alcatel-Lucent IMS Application Server

Java Application Development using Eclipse. Jezz Kelway Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom

VDM vs. Programming Language Extensions or their Integration

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Operating Systems. Rafael Ramirez (T, S)

PANDORA FMS NETWORK DEVICES MONITORING

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

Operating Systems. III. Scheduling.

Embedded Virtualization & Cyber Security for Industrial Automation HyperSecured PC-based Control and Operation

Embedded PC The modular Industrial PC for mid-range control. Embedded PC 1

UEFI on Dell BizClient Platforms

What s Cool in the SAP JVM (CON3243)

Facing the Challenges for Real-Time Software Development on Multi-Cores

Embedded System Deployment and Management

Transcription:

HIJA Antonio Kung, Trialog HIJA technical coordinator Scott Hansen, The Open Group HIJA coordinator 1 Presentation Outline HIJA project ANRTS platforms Requirements for ANRTS platforms Profiles based on RTSJ Integration in the software process Lessons learned and conclusion Extract from JTRES06 presentation 2

HIJA Project HIJA (High Integrity Java Applications) STREP (embedded system) Mission: create the technology conditions that will allow architecture neutrality for high-integrity applications High Integrity Applications: Applications which need assurance level Safety critical systems e.g. avionics Business critical systems e.g. telematics 3 HIJA Project Partners Coordination The Open Group Technology partners Trialog Aonix Aicas Academic partners FZI Karlsruhe U. Karlsruhe U. York U. P. Madrid User partners Thales Centro Riserche Fiat Telecom Italia Bellstream 4

ANRTS Platform Architecture Neutral Real Time System Add real-time system (RTS) features to Java Applications AN Platform (Java) High-Integrity Applications ANRTS Platform (Java) 5 Requirements for ANRTS Platforms Architecture Neutrality Take into account resource constraint Take into account assurance constraint impact on application design (e.g. static approach) Real-time Availability of schedulability analysis tools Availability of worst case usage resource determination features 6

Requirements for ANRTS Process Functional correctness assurance Processor independent verification Allowing for dynamic downloading of verified programs e.g. proof carrying code Integration in development process to achieve assurance level Application behaviour specification (e.g. modelling) Platform independent Behaviour can be extracted from the AN form Platform behaviour specification Derive a model of the platform behaviour from the design of the hardware and OS design 7 ANRTS Platforms based on RTSJ Need for profiles Not the same needs depending on level of assurance e.g. RTSJ platform too complex for applications with static approaches for assurance Support of distribution Profiles HRTJ Profile: Hard Real-Time Java Safety critical apps, Mission critical apps SRTJ Profile: Soft Real-Time Java Mission critical apps, Business critical apps FRTJ Profile: Flexible Real-Time Java Business critical apps including future ambient intelligent apps 8

HRTJ Profile Relies on a Java programming model allowing predictable and reliable execution of application programs Follows philosophy of the Ravenscar profile Some language features are removed Programs are statically analysable JVM similarly restricted Specialisation of schedulable objects Allows for schedulability analysis Restriction in resource dynamic allocation capability Implies two execution phase: initialisation phase and mission phase 9 SRTJ Profile Relies on a Java programming model based on dynamic resource enforcement in terms of CPU and memory Real-time garbage collection mechanisms Does not support RTSJ scoped and immortal memory Relies on RTSJ process group for CPU enforcement Applications are structured into separate process groups with specific CPU budgets Mechanisms for memory enforcement and admission control New mechanism Need for a component called QoS Manager 10

FRTJ Profile Environment in which multiple independent applications can execute Each independent application could require a specific HRTJ or SRTJ profile (most of the time SRTJ) Framework for multiple independent applications with provisioning capabilities OSGi : Open Service Gateway Initiative Each individual application is represented as an OSGi bundle 11 Multiple Independent Applications Are business critical systems, e.g. telematics platform App A App B Platform Required level of assurance : application system resource (CPU, Memory ) protection allocation of resources for new applications App A App C App B Platform 12

QoS Requirement QoS collective effect of service and performances that determine the degree of satisfaction of the service Platform QoS requirement ensure system resource protection to each individual application App A App B App C QoS A QoS B QoS C Platform 13 Resulting FRTJ Platform A resource aware JVM+OS implementing the following mechanisms Admission control Resource accounting QoS enforcement Assumption Application declares resource needs Applications Framework for Multiple Independent Applications Resource Aware Java Virtual Machine Resource Aware Operating System FRT profile Platform 14

Integration in Software Process Need for appropriate tool chain to help ensure Application functional correctness Resource constraints Ideally integrated in more comprehensive environments (e.g. model-based tool environments) Tool chain used differently according to profile HRTJ: user provide statically identified constraints SRTJ and FRTJ: tools provide data on constraint. Run-time monitoring tool collect data on specific constraints Tool chain uses JML annotations 15 Tool Chain Data flow analyser determines conservative approximation of set of values held by a variable can be used to prove absence of certain error conditions Worst case memory usage Analyser uses annotation and DFA output Worst case execution time Analyser users annotation and DFA output depends on hardware 16

Tool chain Schedulability analyser calculates the worst-case response time bounds of each schedulable object depends on hardware Protocol verifier correctness of communication between threads from different virtual machine Functional verifier determines whether the code implements its specification based on KeY uses the design by contract paradigm (assertions using JML annotations) 17 Tool Chain Annotated Java Code Auxiliary Annotations Network Analyser javac Schedule Analyser *.class Data Flow Analyser Protocol Verifier Functional Verification KeY Annotation Parser/Editor Builder Flow Information Annotation Checker Constraints WCMU Analyser Executable WCET Analyser Runtime Monitoring 18

HIJA Implementation HRTJ Power PC Thales implementation of Ravenscar profile with partitioning capabilities Jamaica VM RMI-HRT based on AFDX (RT network protocol for avionics systems) FRTJ 32 StrongARM and PC Linux in pre-emptive mode Jamaica VM OSCAR OSGi framework RMI-QoS on top of IP 19 HIJA Implementation Tool chain extension of Aicas tool chain builder Jamaica VM DFA WCMUA Run-time monitoring Annotation parser KeY for functional verification MAST for scheduling analysis Protocol verifier based on UPPAAL 20

Applications Avionics application Flight management and guidance system (FMS) Uses HRTJ Telematics application Diagnosis application + other independent applications Uses FRTJ Ambient intelligent application Site navigator Uses FRTJ 21 Lessons learned Avionics application Validates the HRTJ profile Telematics and Ambient Intelligence application Validates the FRTJ profile Further work Solving issues Integration of ANRTS in process Integration of AN platforms with underlying RTOS Provision of QoS Enhancing toolchain 22

2 years after... Highlights : HRTJ related products Aicas : Jamaica (www.aicas.com) Aonix : Perc (www.aonix.com) Still a major issue Transversal resource awareness Framework + JVM + OS Further initiatives New processor architectures Jeopard (parallel processor systems) Trusted platforms TECOM (trusted embedded platforms) 23 Questions? www.hija.info 24