JML (Java Modeling Language) ist eine Interface Spezifikationssprache in Java, welche benutzt wird um Verhalten von Java Module zu beschreiben. JML lehnt sich dabei stark an die Herangehensweise von Design by Contract von Eiffel (Bertrand Meyer) an.