仕様記述言語とは? わかりやすく解説

仕様記述言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/08/06 21:22 UTC 版)

仕様記述言語(しようきじゅつげんご)は、システムなどの仕様を記述する、コンピュータ言語(すなわち形式言語)である。形式的でない仕様記述もあるが(後述)、そういったものを含めて何らかの主張がされている場合もある。

プログラミング言語がシステムそのものに変換されるのに対し、仕様記述言語は必ずしもシステムに自動変換されるものではなく、あくまで仕様の妥当性を検証することに重きを置いている。ソフトウェア工学における一般的な設計プロセスの位置づけから、多くはプログラミング言語を記述する前段階に記述されることを期待している。

仕様記述と検証の方法について説明する。仕様記述では、何らかのシステムの仕様を論理学的あるいは代数学的に、形式的に記述する(形式仕様記述)。検証では、論理学や代数学に基づき(すなわち「機械的」に)、無矛盾性などといったシステムにおける「好ましい性質」の保証、あるいはデッドロックの可能性があるといった「好ましくない性質」の不存在を保証する(あるいは存在することを示し、修正を促す)。代表的な形式的仕様記述言語としてZ言語やLOTOSなどがある。研究段階では長い歴史を持つが、記述が複雑で高度なスキルを要求する上、システム全体の仕様を全て表現するには膨大な量の記述が必要になる。

保証の無い手法

保証が無いものを「仕様」と言えるかどうかという根本的な疑問点はあるが、ここまでで述べたような形式的な記述と検証というような手法でないものについても、類似したものとして扱われていることがある。

たとえば、完全な妥当性は保証できないが、シミュレーションを行うことで、ある限られた場合においての動作を模擬して確かめる方法もある。SpecCはこの立場を取る。

あるいは、あくまでシステム全体のモデリングに重きを置き、仕様に対する人間の理解容易性を向上させることで、設計者自身によって(あるいは設計者同士のコミュニケーションによって)妥当性を検討させるものである。UMLがこれに該当するという主張もある。いずれにしても、形式的でない以上、論理的に何かが保証されることはなく、たとえば双方の当事者が「互いに誤解は無い」と信じていたとしても、「そう信じている」だけでしかない。

仕様記述言語一覧

(その他の記述言語)


仕様記述言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/09 14:25 UTC 版)

抽象化 (計算機科学)」の記事における「仕様記述言語」の解説

詳細は「仕様記述言語」を参照 仕様記述言語は一般に何らかの抽象化基づいている。仕様プロジェクト初期定義されるもので、最も抽象的なレベルであり、それが最終的に実装される。例えば仕様記述言語であるUMLは「抽象クラスを定義でき、プロジェクト仕様設計段階ではそれらは「抽象」のままである

※この「仕様記述言語」の解説は、「抽象化 (計算機科学)」の解説の一部です。
「仕様記述言語」を含む「抽象化 (計算機科学)」の記事については、「抽象化 (計算機科学)」の概要を参照ください。

ウィキペディア小見出し辞書の「仕様記述言語」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「仕様記述言語」の関連用語

仕様記述言語のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



仕様記述言語のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの仕様記述言語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの抽象化 (計算機科学) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS