suramadu.tests.jitter
Class Jitter

java.lang.Object
  extended bysuramadu.tests.jitter.Jitter
All Implemented Interfaces:
java.lang.Runnable

public class Jitter
extends java.lang.Object
implements java.lang.Runnable

This test measures the jitter of RealTime Java Threads. It IS specific to the RTSJ specification and may not be run in regular Java.

PURPOSE: This test provides an indication of timeliness in a RealTimeThreads both with and without competing non-realtime threads running in the system.

DESIGN: Given a periodic value for a thread, this test measures the actual time between periods. A periodic thread is set up, and a time measurement is taken immediately upon entering its run() method. The difference between the measurements taken indicates the actual time between the beginning of execution of the actual thread's code. Any deviation from the required period is 'jitter'. At the conclusion of the test, statistical calculations are performed upon these time measurements, and a summary is printed.

ASSUMPTIONS: This test uses RTSJ specified RealTimeThreads and NoHeapRealtimeThreads and requires an RTSJ implementation in order to run.

INPUTS:

Property Default Value Description
"iterations" "1000"
"priority" "250"
"period" "1000"
"idelay" "750"
"bgpriority" "250"
"bgperiod" "100"
"bgidelay" "400"
"backgroundthreads" "0"

OUTPUTS: The output contains the maximum, minimum, median, mean, standard deviation and mode statistical measurements on the collected data.

EXAMPLES: None.

ORIGINS: This test is based upon ideas from the AFRL and the rtpresto suites.

Author:
Mark Indictor
See Also:


Nested Class Summary
static class Jitter.TestProps
           
 
Field Summary
static int counter
          iteration counter
 MemoryType mt
          Memory type to use
 Jitter.TestProps testProps
          Local data for test: generated or otherwise calculated.
static long[] timeArray
          array for collecting timestamps during test
 ThreadType tt
          Thread type to use.
 
Constructor Summary
Jitter()
          constructor for test class Instantiates testProperties.
Jitter(Jitter.TestProps props)
           
 
Method Summary
static void main(java.lang.String[] args)
           
 void run()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

testProps

public Jitter.TestProps testProps
Local data for test: generated or otherwise calculated. Not from test properties.


tt

public ThreadType tt
Thread type to use.


mt

public MemoryType mt
Memory type to use


timeArray

public static long[] timeArray
array for collecting timestamps during test


counter

public static int counter
iteration counter

Constructor Detail

Jitter

public Jitter()
       throws java.lang.Exception
constructor for test class Instantiates testProperties.

Throws:
java.lang.Throwable
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.Exception

Jitter

public Jitter(Jitter.TestProps props)
       throws java.lang.Exception
Method Detail

main

public static void main(java.lang.String[] args)
Parameters:
args - the command line arguments

run

public void run()
Specified by:
run in interface java.lang.Runnable