Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
The Java Modeling Language (JML) Home Page
[go: Go Back, main page]

JML Home Page

About JML

The Java Modeling Language (JML) is a behavioral interface specification language that can be used to specify the behavior of Java modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus.

The draft paper Design by Contract with JML (by Gary T. Leavens and Yoonsik Cheon) explains the most basic use of JML as a design by contract (DBC) language for Java.

The "white papers" below describe JML very briefly and some of its tools. The first of these gives a summary of all known tools. The second is a slightly dated summary of some of the main tools and how they relate to JML.

Tools

From the download page you can get a set of open-source tools for work with JML. The most useful of these are an assertion-checking compiler (jmlc), a unit testing tool (jmlunit), and an enhanced version of javadoc (jmldoc) that understands JML specifications. See the papers above and the documentation for details.

People

The work on JML is a cooperative effort between:

JML is an open project, and we welcome the participation of other groups. If your group is working on JML but not listed above, please send an email to Gary Leavens.

Development of JML is hosted on sourceforge.net.
SourceForge Logo

Last modified Tuesday, January 8, 2008.