The Java Modeling Language (JML) is a notation for formally specifying the behavior and interfaces of Java classes and methods. The purpose of this manual is to precisely define JML's syntax and semantics.
-- The Detailed Node Listing ---
Introduction
Fundamental Concepts
Language Levels
Lexical Conventions
Compilation Units
Type Declarations
Class and Interface Declarations
Modifiers for Type Declarations
Modifiers
Class and Interface Member Declarations
Java Member Declarations
Method and Constructor Declarations
Field and Variable Declarations
Type Specifications
Invariants
Constraints
Method Specifications
Invariants and constraints
Exceptional Behavior Specification Cases
Method Specification Clauses
Specification Variable Declarations
Data Groups
Predicates and Specification Expressions
JML Primary Expressions
Quantified Expressions
JML Operators
Statements and Annotation Statements
Local Declaration Statements
Loop Statements
JML Annotation Statements
Redundancy
Model Programs
Specification Statements
Specification for Subtypes
Separate Files for Specifications
Universe Type System
Ownership Type Rules
Safe Math Extensions
Deprecated and Replaced Syntax
Deprecated Syntax
Differences
Differences Between JML and Other Tools
Differences Between JML and Java