[JSR308] Annotations for worst-case execution time

Trevor Harmon trevor at vocaro.com
Tue Jan 30 01:00:48 EST 2007

Hi all,

Good to see this list up and running!

I'm very interested in the progress of JSR-308 because I'm hoping it  
will eventually allow worst-case execution time (WCET) annotations in  
Java. I'm actually having a paper published at WPDRTS [1] on that  
very topic: "Toward a Unified Standard for Worst-Case Execution Time  
Annotations in Real-Time Java." The last couple of pages talk all  
about the (potential) relationship between WCET annotations and  
JSR-308. I don't think IEEE copyright allows me to distribute the  
paper here, so let me summarize.

WCET tools for Java use entirely different conventions for  
annotations, and no tool has yet to standardize on Java's own  
annotation mechanism. The reason, unfortunately, is that Java  
annotations are simply too limited. For instance, one of the main  
reasons you'd want annotations for WCET is to specify loop bounds,  
but Java annotations aren't even allowed on loops.

However, there definitely seems to be support for the idea of  
expanding annotations to allow them in places other than method and  
variable definitions. In fact, Intel's comment attached to its vote  
for JSR-308 says:

"This note confirms our understanding that the scope of the JSR  
includes providing for annotations on loops and blocks if the Expert  
Group decides to include that after evaluation. The JSR itself should  
be updated to make it clear this is in the scope."

I'm curious to know how far the Expert Group has gone in evaluating  
Intel's comment. To my knowledge, no one is actually working on  
implementing the idea. That's why I'm currently studying the javac  
sources (thank you Sun for open-sourcing Java!) to see how  
annotations on loops, and possibly other blocks, could be  
implemented. With this effort, I'm hoping that by the time JDK 7  
rolls around, Java's annotation standard will finally be suitable for  
WCET analysis.

Any thoughts? Thanks!


[1] http://wpdrts07.ewi.utwente.nl/

More information about the JSR308 mailing list