[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!
Trevor
[1] http://wpdrts07.ewi.utwente.nl/
More information about the JSR308
mailing list