DESIGN BY CONTRACT