A High Integrity Distributed Deterministic Java Environment. WORDS 2002 January 7, San Diego CA

Similar documents
JamaicaVM Java for Embedded Realtime Systems

Hard Real-Time Garbage Collection in Java Virtual Machines

A Real Time Modeling Example: Ravi Jadhav, Presenter Aonix

Real-Time Garbage Collection Panel JTRES 2007

Configuring the Heap and Garbage Collector for Real- Time Programming.

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

DESIGN CHALLENGES FOR SCALABLE CONCURRENT DATA STRUCTURES for Many-Core Processors

KESO Functional Safety and the Use of Java in Embedded Systems

Using Java in Safety-Critical Applications

Fiji VM Safety Critical Java

Limits of Parallel Marking Garbage Collection....how parallel can a GC become?

Green Hills Software, Inc.

SPIN Operating System

Managed runtimes & garbage collection. CSE 6341 Some slides by Kathryn McKinley

A Test Suite for High-Performance Parallel Java

Managed runtimes & garbage collection

Model-Based Development of Embedded Real-Time Systems

SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine p. 1

Real-time for Windows NT

Modeling and Assessment of Safety Critical Systems

Software Speculative Multithreading for Java

Hard Real-Time Garbage Collection in the Jamaica Virtual Machine

Pause-Less GC for Improving Java Responsiveness. Charlie Gracie IBM Senior Software charliegracie

Distributed Systems Operation System Support

Distributed Systems. The main method of distributed object communication is with remote method invocation

ait: WORST-CASE EXECUTION TIME PREDICTION BY STATIC PROGRAM ANALYSIS

Jaguar: Enabling Efficient Communication and I/O in Java

Applying UML Modeling and MDA to Real-Time Software Development

A Trace-based Java JIT Compiler Retrofitted from a Method-based Compiler

Zing Vision. Answering your toughest production Java performance questions

From MDD back to basic: Building DRE systems

Predictable Timing of Cyber-Physical Systems Future Research Challenges

OpEneR Optimal Energy Consumption and Recovery based on system network. Deliverable 1.2 OpEneR Website Operational

Deterministic Ethernet & Unified Networking

Java For Real-Time Enterprise Systems Delivering the Benefits of Java to the world of Real-Time distributed object computing

Verification and Profiling tools

Hazard Pointers. Number of threads unbounded time to check hazard pointers also unbounded! difficult dynamic bookkeeping! thread B - hp1 - hp2

Java Internals. Frank Yellin Tim Lindholm JavaSoft

Distributed Control Systems at SSRL Constraints for Software Development Strategies. Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

The benefits and costs of writing a POSIX kernel in a high-level language

Traditional Approaches to Modeling

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Safety Critical Java. Language Standards and Analysis Techniques for Java in Safety Critical applications. aicas GmbH

Overview. 1/13/ Preliminary Product Brief

Myths and Realities: The Performance Impact of Garbage Collection

Real-Time Java. Martin Schöberl

The Z Garbage Collector Scalable Low-Latency GC in JDK 11

Real-Time Operating Systems Design and Implementation. LS 12, TU Dortmund

Real Time: Understanding the Trade-offs Between Determinism and Throughput

Memory management has always involved tradeoffs between numerous optimization possibilities: Schemes to manage problem fall into roughly two camps

Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations

Systems I: Programming Abstractions

Java On Steroids: Sun s High-Performance Java Implementation. History

JAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder

Coping with Immutable Data in a JVM for Embedded Real-Time Systems. Christoph Erhardt, Simon Kuhnle, Isabella Stilkerich, Wolfgang Schröder-Preikschat

Programming Languages for High-Assurance Autonomous Vehicles

Typed Assembly Language for Implementing OS Kernels in SMP/Multi-Core Environments with Interrupts

The Impact of a Real-Time JVM on Middleware Performance: Lessons Learned from Implementing DDS on IBM s J9

Eventrons: A Safe Programming Construct for High-Frequency Hard Real-Time Applications

Java Performance: The Definitive Guide

Towards a Real-Time Implementation of the ECMA Common Language Infrastructure

Eclipse Tool Chain for Smart Development of High-Tech / Low Cost Embedded Systems

Imperative model of computation

Towards Lean 4: Sebastian Ullrich 1, Leonardo de Moura 2.

Fault Tolerant Java Virtual Machine. Roy Friedman and Alon Kama Technion Haifa, Israel

Shenandoah An ultra-low pause time Garbage Collector for OpenJDK. Christine H. Flood Roman Kennke

Special Topics: Programming Languages

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems

D 8.4 Workshop Report

JamaicaVM 8.0 User Manual

Communication Patterns in Safety Critical Systems for ADAS & Autonomous Vehicles Thorsten Wilmer Tech AD Berlin, 5. March 2018

System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)

Examining the Use of Java Technologies for Real-Time in a Prototype U.S. Surface Navy Combat System Application

Frequently Asked Questions about Real-Time

Simple Garbage Collection and Fast Allocation Andrew W. Appel

Non-Blocking Inter-Partition Communication with Wait-Free Pair Transactions

Applying Componentbased. Engineering in On-board Software

High-Level Language VMs

Service Execution Platform WebOTX To Support Cloud Computing

JOP: A Java Optimized Processor for Embedded Real-Time Systems. Martin Schoeberl

Virtual Machine Design

Overview. 3//5/ Preliminary Product Brief

Optimizing the Generation of Object-Oriented Real-Time Embedded Applications Based on the Real-Time Specification for Java

Multi-Core Programming

UML for Embedded Systems IV. Validation

Applying MDA Modeling to Development of Real-Time Software

Chapter 4 Communication

A Method-Based Ahead-of-Time Compiler For Android Applications

Cooperative Memory Management in Embedded Systems

Performance Evaluation of Java Architectures in Embedded Real-Time Systems

Vertical Profiling: Understanding the Behavior of Object-Oriented Applications

Real-Time and Embedded Systems (M) Lecture 19

This project has received funding from the European Union s Horizon 2020 research and innovation programme under grant agreement No

Design Patterns for Real-Time Computer Music Systems

Dynamic Fine Grain Scheduling of Pipeline Parallelism. Presented by: Ram Manohar Oruganti and Michael TeWinkle

StackAnalyzer Proving the Absence of Stack Overflows

OS Extensibility: SPIN and Exokernels. Robert Grimm New York University

Checking out" the hypervisor

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Transcription:

A High Integrity Distributed Deterministic Java Environment WORDS 2002 January 7, San Diego CA João Ventura Skysoft Portugal SA Fridtjof Siebert & Andy Walter aicas GmbH James Hunt Forschungszentrum Informatik Univ. Karlsruhe Project Background European Commission funded under the IST program 30 month project starting in January 2002 Involving 4 companies and 2 universities from 4 European Countries Coordinator: FZI-Univ. Karlsruhe, Germany Aicas, Germany Rose Informatik, Germany Linköpings University, Sweden Aonix, France Skysoft Portugal, Portugal My company is a recent PME (started 1998) that specializes in R&D and software development for aerospace. 15:30 7-1-2002, Slide 2

Motivation Embedded software is an expanding field. It is expected that the next generations of embedded software will be integrated in distributed systems. Embedded software development requires qualified programmers. The need for embedded software is expected to grow at a faster rate than the number of qualified programmers. A safe language could assist the development process by requiring less qualifications from the programmers. Java could be such a language, but it was not designed with real-time requirements. 15:30 7-1-2002, Slide 3 Solution Remove non-determinism from Java Provide a development environment that can assure the developer that the system is compliant with its performance requirements. Provide a communications infrastructure that is both simple to use and can provide real-time guarantees, being also fault-tolerant. 15:30 7-1-2002, Slide 4

Goals Type Safety Safe, Automatic Memory Management Integrated Tools Aviation and Air Traffic Control Standard Libraries Java Multi-processing Deterministic Implementation Distributed Real-Time Event Handling Real-Time Modeling and Analysis Adaptation to Limited Resources Industrial Automation Embedded Controllers Autonomous Devices Mobile Devices UMTS Switches Platform Independence Object-Oriented Methodology Standards Automotive Integrated Monitoring, Control and Safety Systems 15:30 7-1-2002, Slide 5 Development Blueprints Optimizations VM enhancements for Real-Time Priorities for Threads & Locks Static Garbage Collection Java Virtual Machine Garbage Collector Support Native Backend Garbage Collector Enhancements Java-to-C Compiler HIDOORS Real-Time Java Development Environment Real-Time Garbage Collector Distributed Distributed Event Handler Optimizing Compiler for Determinist ic Code Generation Event Handler Standardized Real-Time Library Classes Java Virtual Machine RT GC Analysis and Modeling Toolset WCET Analysis Tools Profiling & Analysis Tools IDE extension Real-Time Standard Classes Real-Time Network Classes Integrated Development Environment RT Data Access Standard Standard Classes Subset 15:30 7-1-2002, Slide 6 Real-Time Model Checker HIDOORS Real-Time UML Enhancements Existing Code UML Tools Base

Integrated Development Environment Graphical UML Tool enhancing current tool from Aonix The sub-tool that allows specification of real-time automata will be enhanced with a component that will enable the checking of real-time temporal logic specifications, based on previous work performed at Univ. Karlsruhe. Java code Generator will be added to Aonix s tool, with support for real-time automata and an analysis toolbox. 15:30 7-1-2002, Slide 7 Java Compiler An optimizing compiler will be developed during HIDOORS with the objective of minimizing both the footprint of the Java application and the use of the garbage collector. The compiler will be enhanced with support for deterministic garbage collection. This is based on synchronization points for constant-time exact root-scanning of stacks and registers, write-barriers and a nonfragmenting object model. The existing base compiler uses C as a portable intermediate language. During HIDOORS, this will be enhanced to support native code generation. 15:30 7-1-2002, Slide 8

Jamaica VM Java-Implementation based on JDK 1.2 Exact real-time garbage collector without GC interruptions and guaranteed allocation time of a few µs. Builder Tool to create small and efficient applications for embedded systems. static, optimizing compiler for maximum performance Java Native Interface to access existing code Static Compiler Builder Analyser Profiler JamaicaVM Standard Classes Jamaica Virtual Machine Real-time GC Real-time OS Java Application JNI Native Code of Application 15:30 7-1-2002, Slide 9 Runtime Environment Improve the Jamaica VM to support deterministic execution (deterministic constant time execution of all Java primitive operations) Improve the Garbage Collector, so that garbage collection overhead is minimized. Worst-case execution times for garbage collection activities will be determined to serve as input to WCET analysis tool. Enhance the Java monitors as validated by state-of-the-art research results. Modify subset of Java standard libraries to provide deterministic execution time for all operations that will be used in real-time code. Provide support for direct hardware access. 15:30 7-1-2002, Slide 10

Timing Analysis In order to efficiently model the underlying architecture, a system model including the different structures of system caches and processor architectures will be developed. This has to be sufficiently generic to allow reuse of the model in different systems. Develop a WCET analysis tool based on the technology developed at the Univ. des Saarlandes, making use of the strong typing properties of Java. 15:30 7-1-2002, Slide 11 Real-Time Network Communications Distributed event control will provide a manager that handles events with strict timing guarantees. This manager will be based on the CORBA event manager, but as a distributed service. Support for deterministic network protocols via a Java TCP/IP-like socket interface such as CAN or AFDX. Modify RMI functionality so that emphasis is placed on guaranteeing performance as required by real-time applications. 15:30 7-1-2002, Slide 12

Future Work Official HIDOORS kick-off in the 15 th of January Development is to be completed in the next 2 ½ years. Further results will be presented at dedicated workshops at related conferences or trade shows. Experiences will be fed to the J-Consortium standardization process for real-time Java. Public results will be disseminated through the HIDOORS website: http://www.hidoors.org 15:30 7-1-2002, Slide 13