JTRES 2014
The Next Generation of the Real-Time Specifj fjcation for Java
- Dr. James J. Hunt
JSR 282 Spec Lead CEO aicas GmbH JTRES 2014
The Next Generation of the Real-Time Specifj fjcation for Java Dr. - - PowerPoint PPT Presentation
JTRES 2014 The Next Generation of the Real-Time Specifj fjcation for Java Dr. James J. Hunt JSR 282 Spec Lead CEO aicas GmbH JTRES 2014 What is the RTSJ? Support for realtime programming in Java importance vs fair scheduling determinism
JSR 282 Spec Lead CEO aicas GmbH JTRES 2014
2 Real-TIme Specifj fjcation for Java 2.0
3 Real-TIme Specifj fjcation for Java 2.0
4 Real-TIme Specifj fjcation for Java 2.0
5 Real-TIme Specifj fjcation for Java 2.0
6 Real-TIme Specifj fjcation for Java 2.0
7 Real-TIme Specifj fjcation for Java 2.0
8 Real-TIme Specifj fjcation for Java 2.0
9 Real-TIme Specifj fjcation for Java 2.0
javax.realtime::RawFloatWriter «interface» +setFloat(fmoat v) +setFloat(int ofgset, fmoat data) +set(int ofgset, fmoat[] v): int +set(int ofgset, fmoat[] v, int start, int count): int +address():long javax.realtime::RawFloat «interface» javax.realtime::RawFloatReader «interface» +getFloat():fmoat +getFloat(int ofgset):fmoat +get(int ofgset, fmoat[] v): int +get(int ofgset, fmoat[] v, int start, int count): int +address():long javax.realtime::RawDoubleWriter «interface» +setDouble(double v) +setDouble(int ofgset, double data) +set(int ofgset, double[] v): int +set(int ofgset, double[] v, int start, int count): int +address():long javax.realtime::RawDoubleReader «interface» +get():double +getDouble(int ofgset):double +get(int ofgset, double[] v): int +get(int ofgset, double[] v, int start, int count): int +address():long javax.realtime::RawDouble «interface» javax.realtime::RawByteWriter «interface» +setByte(byte v) +setByte(int ofgset, byte v) +set(int ofgset, byte[] v):int +set(int ofgset, byte[] v, int start, int count):int +address():long javax.realtime::RawByte «interface» javax.realtime::RawByteReader «interface» +getByte():byte +getByte(int ofgset):byte +get(int ofgset, byte[] v):int +get(int ofgset, byte[] v, int start, int count):int +address():long javax.realtime::RawShortWriter «interface» +setShort(short v) +setShort(int ofgset, short v) +set(int ofgset, short[] v):int +set(int ofgset, short[] v, int start, int count):int +address():long javax.realtime::RawShortReader «interface» +getShort():short +getShort(int ofgset):short +get(int ofgset, short[] v):int +get(int ofgset, short[] v, int start, int count):int +address():long javax.realtime::RawShort «interface» javax.realtime::RawIntWriter «interface» +setInt(int v) +setInt(int ofgset, int v) +set(int ofgset, int[] v):int +set(int ofgset, int[] v, int start, int count):int +address():long javax.realtime::RawIntReader «interface» +getInt():int +getInt(int ofgset):int +get(int ofgset, int[] v):int +get(int ofgset, int[] v, int start, int count):int +address():long javax.realtime::RawInt «interface» javax.realtime::RawLongWriter «interface» +setLong(long v) +setLong(int ofgset, long v) +set(int ofgset, long[] v):int +set(int ofgset, long[] v, int start, int count):int +address():long javax.realtime::RawLongReader «interface» +getLong():long +getLong(int ofgset):long +get(int ofgset, long[] v):int +get(int ofgset, long[] v, int start, int count):int +address():long javax.realtime::RawLong «interface» javax.realtime::RawMemory «interface» java.io::Closable «interface» +close() Visibility + = public # = protected ~ = package
10 Real-TIme Specifj fjcation for Java 2.0
11 Real-TIme Specifj fjcation for Java 2.0
12 Real-TIme Specifj fjcation for Java 2.0
13 Real-TIme Specifj fjcation for Java 2.0
14 Real-TIme Specifj fjcation for Java 2.0
Types AsyncEvent AsyncLongEvent AsyncObjectEvent AsyncEventHandler No payload No payload No payload AsyncLongEventHandler Event ID Payload Event ID AsyncObjectEventHandler Event Object Event Object Payload
15 Real-TIme Specifj fjcation for Java 2.0
disabled disabled stopped active relative absolute absolute
stop startDisabled stop
stop Any Call
nonexistant new Timer(AbsoluteTime, ..) destroy OneShotTimer fire active skip OneShotTimer fire and selfreschedule PeriodicTimer isRunning
skip and selfreschedule PeriodicTimer isRunning
isRunning
getFireTime new Timer(RelativeTime, ..) RelativeTime reschedule reschedule RelativeTime reschedule reschedule AbsoluteTime AbsoluteTime
startDisabled IllegalStateException start getFireTime
relativeTime getFireTime start enable disable absolute enabled active relative disabled active enabled disabled relative stopped destroyed
16 Real-TIme Specifj fjcation for Java 2.0
new AbstractAsyncEvent(..)
isRunning isRunning
enable disable
enabled disabled nonexistant
17 Real-TIme Specifj fjcation for Java 2.0
18 Real-TIme Specifj fjcation for Java 2.0
19 Real-TIme Specifj fjcation for Java 2.0
20 Real-TIme Specifj fjcation for Java 2.0
21 Real-TIme Specifj fjcation for Java 2.0
22 Real-TIme Specifj fjcation for Java 2.0
23 Real-TIme Specifj fjcation for Java 2.0
24 Real-TIme Specifj fjcation for Java 2.0
25 Real-TIme Specifj fjcation for Java 2.0
26 Real-TIme Specifj fjcation for Java 2.0
27 Real-TIme Specifj fjcation for Java 2.0
28 Real-TIme Specifj fjcation for Java 2.0
29 Real-TIme Specifj fjcation for Java 2.0
30 Real-TIme Specifj fjcation for Java 2.0
31 Real-TIme Specifj fjcation for Java 2.0
32 Real-TIme Specifj fjcation for Java 2.0
33 aicas GmbH