The Java Modeling Language (JML) can be used
to specify
the de
tailed design of Java classes and in
terfaces by adding anno
ta
tions
to Java source files. The aim of JML is
to provide a specifica
tion language
tha
t is easy
to use for Java programmers and
tha
t is suppor
ted by a wide range of
tools for specifica
tion
type-checking, run
time debugging, s
ta
tic analysis, and verifica
tion.
This paper gives an overview of the main ideas behind JML, the different groups collaborating to provide tools for JML, and the existing applications of JML. Thus far, most applications have focused on code for programming smartcards written in the Java Card dialect of Java.