Liaison Report: JSR-282 (Real-Time Specification for Java) JSR-302 (Safety-Critical Java Technologies) Liaison Report: JSR-282 (Real-Time Specification.

Slides:



Advertisements
Similar presentations
Planning Reports and Proposals
Advertisements

For SIGAda Conference, 2005 November, Atlanta 1 A New Standards Project on Avoiding Programming Language Vulnerabilities Jim Moore Liaison Representative.
Blue Pilot Consulting, Inc. 1 A new type of Working Group used for a new SC22 Working Group OWG: Vulnerability John Benito JTC 1/SC 22 WG14.
1 Report of Progress of ISO/IEC 24772, Programming Language Vulnerabilities, in ISO/IEC JTC 1/SC 22 John Benito, Convener Jim Moore, Secretary ISO/IEC.
For C Language WG, 2006 March, Berlin 1 A New Standards Project on Avoiding Programming Language Vulnerabilities Jim Moore Liaison Representative from.
1 OWG: Vulnerability ISO working group on Guidance for Avoiding Vulnerabilities through language selection and use. ISO/IEC JTC 1/SC 22/ OWGV N0139.
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
On to Greener Pastures? How much more research does Real-Time Java need? Should we investigate Real-Time Scala, combining our real-time JVMs with a language.
Introduction to Memory Management. 2 General Structure of Run-Time Memory.
Automatic Memory Management Noam Rinetzky Schreiber 123A /seminar/seminar1415a.html.
C++ Programming Languages
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 6: Process Synchronization.
Adapted from A. Burns, B. Dobbing, T. Vardanega: Guide for the use of the Ada Ravenscar Profile in high integrity systems, Univ. of York Tech. Report YCS ,
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
ADA Langage Report Ligia Nitu. Introduction Ada is the most extensive and expensive computer language ever developed. Ada is the most extensive and expensive.
Copyright © 2001Page Real-Time Java Fact-no-fiction Java in technical automation Paul Wijntjes Consultant Turnkiek Technical Systems.
© Andy Wellings, 2004 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
Programming Language Semantics Java Threads and Locks Informal Introduction The Java Specification Language Chapter 17.
© Andy Wellings, 2003 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
CS884 (Prasad)Java Goals1 “Perfect Quote” You know you've achieved perfection in design, Not when you have nothing more to add, But when you have nothing.
© Andy Wellings, 2004 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
RC14001 ® Update GPCA Responsible Care Committee September 23, 2013.
Network security policy: best practices
Miser-C MISRA-C Compliance Checker Ian Biller, Phillippe Dass, Bryan Eldridge, Jon Senchyna, Tracy Thomas Faculty Coach: Professor Michael Lutz Project.
Embedded Java Research Geoffrey Beers Peter Jantz December 18, 2001.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
Language Evaluation Criteria
OpenCL Introduction A TECHNICAL REVIEW LU OCT
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
JSR Review Process April Patrick Curran, Mike Milinkovich, Heather Vancura, Bruno Souza.
Real-Time Java Martin Schöberl. Real Time Java2 Overview What are real-time systems Real-time specification for Java RTSJ issues, subset Real-time profile.
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
Compilation Technology © 2007 IBM Corporation CGO Performance Overheads In Real-Time Java Programs Mark Stoodley and Mike Fulton Compilation.
Distributed Real- Time in the RTSJ Andrew Borg. Presentation RMI – A brief introduction The RTSJ – A (very) brief introduction The DRTSJ – The 3 Levels.
Real-Time Java on JOP Martin Schöberl. Real-Time Java on JOP2 Overview RTSJ – why not Simple RT profile Scheduler implementation User defined scheduling.
1 Concurrent Languages – Part 1 COMP 640 Programming Languages.
Java certification into GCF Vodafone S r2 Restricted - Confidential Information This document is confidential to the Global Certification Forum (GCF)
Programming Language C++ Xulong Peng CSC415 Programming Languages.
Enhancements to Java for Real Time Systems Theresa Dsena CSE Fall 2006 Prof. Ganesan.
Programming Languages Design Considerations (Qualities) Readability –Simplicity and Clarity –Orthogonality –Control Statements –Data Types and Structures.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
1 G53SRP: Introduction to Real Time Specification for Java (RTSJ) Chris Greenhalgh School of Computer Science Including material © Andy Wellings from his.
EEL The Real-Time Specification for Java (1)
Real Time Programming Language. Intro A programming language represents the nexus of design and structure. But misuse of the programming language can.
1. An Introduction A Programming Language A Technology Java Development Kit Java API One Language: Three Editions Standard Edition Enterprise Edition.
Patterns and Tools for Achieving Predictability and Performance with Real-time Java Presenter: Ehsan Ghaneie.
CSCI1600: Embedded and Real Time Software Lecture 18: Real Time Languages Steven Reiss, Fall 2015.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
How do You Fit within the Process? Roles and Responsibilities – Pre CAB (1/2) 1 Change Requestor Initiates the Change Request (CR) in Service-now Includes.
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
How to Compile Aspects with Real-Time Java Pengcheng Wu Northeastern University Mar. 14, 2005 FOAL Workshop with AOSD’05.
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
Introduction to Programming 1 1 2Introduction to Java.
Object Oriented Programming in
Context-related issues in real-time systems
Before You Begin Nahla Abuel-ola /WIT.
Module 9: Memory and Resource Management
Introduction to the CVM and the Timesys RI
Albert M. K. Cheng Embedded Real-Time Systems
Seminar in automatic tools for analyzing programs with dynamic memory
Accounting information and limits
Real-time Software Design
CSCI1600: Embedded and Real Time Software
Boston (Burlington), Mass. November 14-15, 2018
Real Time Java : Synchronization
CSCI1600: Embedded and Real Time Software
Java History, Editions, Version Features
Presentation transcript:

Liaison Report: JSR-282 (Real-Time Specification for Java) JSR-302 (Safety-Critical Java Technologies) Liaison Report: JSR-282 (Real-Time Specification for Java) JSR-302 (Safety-Critical Java Technologies) Presentation cover page EU North American Headquarters: 104 Fifth Avenue, 15 th Floor New York, NY (voice) (FAX) Ben Brosgol ISO/IEC JTC1/SC22/OWGV Meeting Ottawa, Canada July 2007 European Headquarters: 8 rue de Milan Paris France (voice) (FAX) ISO/IEC JTC 1/SC 22/OWGV N 0088

1 Introduction Language vulnerability application susceptible to safety hazard or security failure Main language requirements for avoiding such hazards / failures Reliability Predictability Analyzability A dilemma Features that are beneficial in general may complicate certification against safety or security standards Object-Oriented Programming Generic templates Inline expansion Exception handling Concurrency features General purposes languages (C, C++, Ada, Java, …) are too large / complex Subsetting is required Enforcement of subset should be automatable

2 Java for safety-critical / high-security systems Some advantages Reliability Avoids buffer overflow problems and dangling reference issues Predictability: precisely defined semantics, in general Order of expression evaluation, precise exception behavior Analyzability No uninitialized variables; no unreachable code Built-in security model Some issues Reliability C-based syntax (literals, dangling else), low-level thread model Predictability Thread-related issues (priority semantics, unbounded priority inversions) Garbage collection issues Analyzability Unconventional execution model (JVM) Language and API size/complexity Built-in security model

3 Java Community Process (JCP) JCP Member Proposal for new Java Spec Request (JSR) Executive Committee Initiation Spec Lead Expert Group Public JSR - Early Draft JSR - Public Draft Exec Comm JSR – Revised Public Draft Reference Implementation (RI) Technology Compatibility Kit (TCK) Reference Implementation Team Technology Compatibility Kit Team Development Maintenance Maintenance Lead Expert Group Public JSR (minor revision) Revised RI Revised TCK Exec Comm TCK Team RI Team Sun-administered process for augmenting/modifying the Java platform

4 Background – Real-Time Specification for Java What is the Real-Time Specification for Java (JSR-001, JSR-282)? API + JVM constraints designed to give real-time predictability to Java platform Addresses several major issues with Java for real-time systems Status Original spec (JSR-001) completed in 2001, led by IBM (Greg Bollella, Peter Haggar) Several maintenance releases since then, led by TimeSys (Peter Dibble) Several commercial implementations available Minor update (JSR-282) now in progress, also led by TimeSys (Peter Dibble) RTSJ not appropriate for safety-critical systems: analyzability issues Complex semantics (e.g., Asynchronous Transfer of Control) Scoped memory rules requiring run-time checks, complicate analysis Imprecision of thread semantics for scheduling (role of priorities) RealTime Threads + priority-based scheduler, FIFO within priorities, for both wait queues and locks Possibility of unbounded priority inversion Monitor control policies: Priority Inheritance, Priority Ceiling Emulation Garbage collection interference / latency Non-GCed memory areas; special threads that are not allowed to reference the heap Inadequate functionalityAsynchrony, high-resolution time, low-level features

5 Background – Safety-Critical Java Technology What is Safety-Critical Java Technology (JSR-302)? RTSJ profile, designed to allow certification to safety standards such as DO-178B Level A Approach Remove unneeded classes, methods from RTSJ Example: no asynchronous transfer of control Do not require Garbage Collection Require specific approach (Priority Ceiling Emulation) for priority inversion control Add statically-checkable annotations to facilitate analysis Avoid run-time checks implied by RTSJ rules for memory reference assignment Define multiple levels of compliance, corresponding to required application generality Most restrictive level reflects classical single-threaded cyclic executive No attempt to address general Java analyzability issues (e.g. OOP) Some open issues Specifics of statically checkable annotations Status In-progress, spec expected Q1 2008, led by The Open Group (Doug Locke) Inspired by work from HIJA (aicas, Univ. of York, …) and Aonix Several related commercial implementations available

6 Resources Books P. Dibble; Real-Time Java Platform Programming; Prentice-Hall; 2002; ISBN A. Wellings; Concurrent and Real-Time Programming in Java; John Wiley & Sons; 2004; ISBN X Websites JSR-1: jcp.org/en/jsr/detail?id=1 JSR-282: jcp.org/en/jsr/detail?id=1 P. Dibble (spec. lead), R. Belliardi, B. Brosgol, D. Holmes, and A. Wellings. Real-Time Specification for Java TM, V1.0.1, June JSR-302 (Safety-Critical Java Technology): jcp.org/en/jsr/detail?id=302