by Contractは数学的なバックグラウンドを持つ • Design by Contractはホーア論理 (または公理的意味論) をベースにした形式仕 様記述をカジュアル化したもの Design by Contractは形式仕様記述をカジュアルにしたもの 形式仕様記述とは • ある決まった規則を適用することができる手法を形式手法と言う – 人間よりコンピュータで処理しやすい場合が比較的多い • ここで言うホーア論理をベースとした形式仕様記述では仕様 (事前条件、事後条件、 不変条件) を満たすことを証明することで、プログラムの正当性を証明できる • ホーア論理をベースとした形式仕様記述の言語の例 – Z言語 – VDM/VDM SL/VDM++ – OCL (UMLの仕様に含まれる、形式仕様記述言語)