Grundlagen: constraint-orientierte Programmierung, Eiffel Design by Contract Java 1.4 assert Bean Validation, JSR-303