Design by Contract

see
Ch. 3, Contracts
slide: Design by Contract