形式仕様記述

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。SassoBot (会話 | 投稿記録) による 2012年5月29日 (火) 04:23個人設定で未設定ならUTC)時点の版 (r2.7.3) (ロボットによる 追加: simple:Program specification)であり、現在の版とは大きく異なる場合があります。

形式仕様記述(けいしきしようきじゅつ、Formal Specification)とは、ソフトウェアハードウェアを開発する際の仕様数学的に記述する手法或いはその結果得られる記述。「仕様はシステムが何をすべきかを記述するものであり、どのように実装すべきかを記述する必要はない」という考え方を強調し、集合論論理式を用いて抽象的かつ厳密にシステムを記述することができる。

形式的な仕様を与えることにより、対象システムが仕様に照らして正しいかどうかを厳密に判定することが可能となる(形式的検証)。また、仕様策定の工程で仕様の不整合を検出することが可能となり、実装工程のような開発の後半での仕様不備発覚、それに伴う手戻り(多大なコストを要する場合が多い)を防ぐという利点がある。他の使われ方として、仕様から設計、設計から実装へと段階的に検証可能なステップを踏んで詳細化し、開発工程で不具合を作りこむのを防ぐ。

設計(や実装)の「正当性」はそれ自身だけで確認できないという点が重要である。正当性は与えられた仕様に照らして初めて検証可能であり、形式仕様記述が解決すべき問題を正しく記述できるかどうかは別の問題である。これもまた困難な問題であり、非形式的な実際の問題を抽象化された形式的仕様記述で正しく記述する問題に帰着する。そして、そのような抽象化は形式的証明が不可能である。しかし、仕様が表現することを期待されている特性に関わる定理を証明することによって仕様記述を検証することは可能である。もし検証結果が正しければ、それらの定理は仕様記述者の仕様記述および根底にある問題領域との関係への理解を深める。検証結果が正しくない場合、その仕様は元となっている問題領域を正しく反映しているとは言えないので、仕様記述者はさらに理解を深めて仕様記述を改訂することになるだろう。

ツール

Z記法は主要な仕様記述言語の1つである。他にも、VDMによるVDM-SLB-Methodによる Abstract Machine Notation (AMN) などがある。

関連項目

外部リンク