Javelin: 

Worst-Case Execution Time Analysis Using an Architectural Neutral Form.
(DERA project  CSM/1254)
 
Introduction
    Java Byte Code (JBC) is a suitable  generic distributable format for portable real-time time systems. In order to analyse its temporal properties it is required to be able to compute worst case execution times of java class files. This project investigates how worst case execution time analysis can be performed on JBC so that it can be portable and on the mechanisms required to include annotations on the java class file to be able to perform such analysis.

    Portability is achieved by analysing the Java Class files, independently of the source code in which they have been written (i.e. Java, Ada C,...). 

    A tool is currently being developed that parses Java Class Files and determines worst case execution time of the scopes defined. 

    A paper titled "Portable Worst-Case Execution Time Analysis of Java Byte Code" has been accepted to 12th Euromicro Conference on Real-Time Systems. The paper describes in detail the aims of the project and the annotation mechanism.
     

Annotations
    The segments of code to analyse and the annotations are introduced in the source code as calls to the WCETAn class file. The code to be analysed is augmented with calls to this class. The WCETAn tool analyses the Java Byte code and extracts the annotations and uses them in the WCET process.

    The current version of the annotation class allows to define the scope to limit the WCET analysis, maximum loop iterations, modes and particular WCET for each mode and mutually exclusive paths. 

    An Ada95 version of the WCETAn class, which is implemented as a standard package is also available.
     

Portability
    The annotation mechanism is transparent of the source language used. The key of portability is achieved by performing the analysis on the Java Class File, independently wether this class file comes from a Java program, an Ada program or C program compiled down to Java. Other versions of the annotation package will be also produced for different languages.
Example
    There is an example of the pow function with annotations made with the WCETAn class.
WCETAn Tool
    A prototype tool is currently being developed (watch this space!).
Contact
    This project is funded by the DERA (project number CSM/1254). Please send comments to Guillem Bernat.
e-mail: bernat@cs.york.ac.uk / Tel: 44.1904.434760 / Fax: 44.1904.432767 / Office: CS202N


Last Updated: March, 2000.