プログラム仕様と形式手法間の類似点
プログラム仕様と形式手法は(ユニオンペディアに)共通で15ものを持っています: 契約プログラミング、仕様記述言語、形式仕様記述、形式的検証、プログラム (コンピュータ)、ソフトウェア、ソフトウェア工学、ソフトウェア開発、公理的意味論、表示的意味論、詳細化、VDM、Z言語、操作的意味論、数学。
契約プログラミング
契約プログラミング(けいやくプログラミング、Programming By Contract)または契約による設計(けいやくによるせっけい、Design By Contract)とは、プログラムコードの中にプログラムが満たすべき仕様についての記述を盛り込む事で設計の安全性を高める技法。プログラミング言語Eiffelで初めて導入された。"Design by Contract" の頭文字からとった DbC (ディービーシー) でよばれることが多い。.
プログラム仕様と契約プログラミング · 契約プログラミングと形式手法 ·
仕様記述言語
仕様記述言語(しようきじゅつげんご)は、システムなどの仕様を記述する、コンピュータ言語(すなわち形式言語)である。形式的でない仕様記述もあるが(後述)、そういったものを含めて何らかの主張がされている場合もある。 プログラミング言語がシステムそのものに変換されるのに対し、仕様記述言語は必ずしもシステムに自動変換されるものではなく、あくまで仕様の妥当性を検証することに重きを置いている。ソフトウェア工学における一般的な設計プロセスの位置づけから、多くはプログラミング言語を記述する前段階に記述されることを期待している。 仕様記述と検証の方法について説明する。仕様記述では、何らかのシステムの仕様を論理学的あるいは代数学的に、形式的に記述する(形式仕様記述)。検証では、論理学や代数学に基づき(すなわち「機械的」に)、無矛盾性などといったシステムにおける「好ましい性質」の保証、あるいはデッドロックの可能性があるといった「好ましくない性質」の不存在を保証する(あるいは存在することを示し、修正を促す)。代表的な形式的仕様記述言語としてZ言語やLOTOSなどがある。研究段階では長い歴史を持つが、記述が複雑で高度なスキルを要求する上、システム全体の仕様を全て表現するには膨大な量の記述が必要になる。 また、検証ではない方法もある。たとえば、完全な妥当性は保証できないが、シミュレーションを行うことで、ある限られた場合においての動作を模擬して確かめる方法もある。SpecCはこの立場を取る。プロトタイピングもこの範疇にある。.
プログラム仕様と仕様記述言語 · 仕様記述言語と形式手法 ·
形式仕様記述
形式仕様記述(けいしきしようきじゅつ、formal specification)とは形式手法のひとつで、何らのシステムなどについて、その性質などの仕様を形式的に記述する手法や、そういった手法による仕様の記述である。 形式的な仕様を与えることにより、対象システムが仕様に照らして正しいかどうかを形式的に判定することが可能となる(形式的検証)。また、仕様策定の工程で仕様の不整合を検出することが可能となり、実装工程のような開発の後半での仕様不備発覚、それに伴う手戻り(多大なコストを要する場合が多い)を防ぐという利点がある。他の使われ方として、仕様から設計、設計から実装へと段階的に検証可能なステップを踏んで詳細化し、開発工程で不具合を作りこむのを防ぐ。 設計(や実装)の「正当性」はそれ自身だけで確認できないという点が重要である。正当性は与えられた仕様に照らして初めて検証可能であり、形式仕様記述が解決すべき問題を正しく記述できるかどうかは別の問題である。これもまた困難な問題であり、非形式的な実際の問題を抽象化された形式的仕様記述で正しく記述する問題に帰着する。そして、そのような抽象化は形式的証明が不可能である。しかし、仕様が表現することを期待されている特性に関わる定理を証明することによって仕様記述を検証することは可能である。もし検証結果が正しければ、それらの定理は仕様記述者の仕様記述および根底にある問題領域との関係への理解を深める。検証結果が正しくない場合、その仕様は元となっている問題領域を正しく反映しているとは言えないので、仕様記述者はさらに理解を深めて仕様記述を改訂することになるだろう。.
プログラム仕様と形式仕様記述 · 形式仕様記述と形式手法 ·
形式的検証
形式的検証(けいしきてきけんしょう)とは、ハードウェアおよびソフトウェアのシステムにおいて形式手法や数学を利用し、何らかの形式仕様記述やプロパティに照らしてシステムが正しいことを証明したり、逆に正しくないことを証明することである。.
プログラム (コンピュータ)
ンピュータプログラム(英:computer programs)とは、コンピュータに対する命令(処理)を記述したものである。コンピュータが機能を実現するためには、CPUで実行するプログラムの命令が必要である。 コンピュータが、高度な処理を人間の手によらず遂行できているように見える場合でも、コンピュータは設計者の意図であるプログラムに従い、忠実に処理を行っている。実際には、外部からの割り込み、ノイズなどにより、設計者の意図しない動作をすることがある。また設計者が、外部からの割り込みの種類を網羅的に確認していない場合もある。.
プログラム (コンピュータ)とプログラム仕様 · プログラム (コンピュータ)と形式手法 ·
ソフトウェア
フトウェア(software)は、コンピューター分野でハードウェア(物理的な機械)と対比される用語で、何らかの処理を行うコンピュータ・プログラムや、更には関連する文書などを指す。ソフトウェアは、一般的にはワープロソフトなど特定の作業や業務を目的としたアプリケーションソフトウェア(応用ソフトウェア、アプリ)と、ハードウェアの管理や基本的な処理をアプリケーションソフトウェアやユーザーに提供するオペレーティングシステム (OS) などのシステムソフトウェアに分類される。.
ソフトウェアとプログラム仕様 · ソフトウェアと形式手法 ·
ソフトウェア工学
フトウェア工学(ソフトウェアこうがく、Software engineering)は、コンピュータのプログラム、およびその作成行為であるプログラミングを対象とした工学である。.
ソフトウェア工学とプログラム仕様 · ソフトウェア工学と形式手法 ·
ソフトウェア開発
フトウェア開発(ソフトウェアかいはつ、Software Development)とは、ユーザーのニーズやマーケティング上の目標をソフトウェア製品に変換する作業である。ソフトウェア開発には、ソフトウェア工学の研究的側面とソフトウェア製品を開発するマーケティング的側面が含まれていると言われることがある。ソフトウェア製品のマーケティング活動そのものは、必ずしも新商品開発とは結びつかない。顧客の期待を満足させるべく開発されたソフトウェア製品の成功/失敗の責任が工学的側面にあるのかマーケティング的側面にあるのかを判別するのは、多くの場合困難である。そのため、ソフトウェア開発全体として工学的側面とマーケティング的側面を共に理解し、それらの協調を促進することが重要である。工学とマーケティングの両方の側面をまとめ、バランスをとるのは、プロジェクトマネージャなどと呼ばれる立場の人である。 マーケティングとの関わりはソフトウェア要求分析としても知られている。ソフトウェア開発はクライアントが必要とするもの以上の機能を開発しようとしたり、逆に妥協しようとしたりする。そのため、ソフトウェア開発は通常の工学/技術とは関連付けられていなかった各種プロセス(市場調査、人材登用、リスクマネジメント、知的財産権、予算、危機管理など)まで取り込もうとする場合がある。その場合、ソフトウェア開発は Business Development と呼ばれる領域ともオーバーラップすることになる。 Alan M. Davis は著書 "Great Software Debates" の章 "Requirements" の節 "The Missing Piece of Software Development" で次のように述べている.
ソフトウェア開発とプログラム仕様 · ソフトウェア開発と形式手法 ·
公理的意味論
公理的意味論(こうりてきいみろん、Axiomatics Semantics)とは、数理論理学に基づいてプログラムの正当性を証明する手法。ホーア論理と密接に関連している。.
プログラム仕様と公理的意味論 · 公理的意味論と形式手法 ·
表示的意味論
表示的意味論(ひょうじてきいみろん、Denotational Semantics)とは、計算機科学(理論計算機科学)の一分野で、プログラミング言語の形式意味論(プログラム意味論)の手法のひとつである。初期には「数理的意味論」(mathematical semantics)、「スコット-ストレイチー意味論」(Scott–Strachey semantics)のようにも呼ばれた。プログラムの意味をあらわす数学的オブジェクト(これを「表示」(denotation)と呼ぶ)を構築することで、プログラミング言語の意味論を形式化する手法である。 表示的意味論の起源は、1960年代のクリストファー・ストレイチーやデイナ・スコットの研究である。ストレイチーやスコットが開発した本来の表示的意味論は、プログラムの表示(意味)を入力を出力にマッピングする関数に変換するものである。後にこれはプログラムの表示(意味)を定義するには非力であることが証明され、例えば再帰定義関数・データ構造を表現できないことが判明した。これを解決するため、スコットはより汎用的な領域理論に基づいた表示的意味論を提案したS.
プログラム仕様と表示的意味論 · 形式手法と表示的意味論 ·
詳細化
詳細化(しょうさいか、Refinement)とは、形式手法において、抽象的な形式仕様記述から具体的な実行プログラムへと検証可能な変換を行うことである。 段階的な詳細化として段階を踏んで詳細化を行うこともできる。論理的には、詳細化は含意による変換であるが、追加的な複雑化を生じる要因もある。 詳細化の反対語は抽象化である。.
プログラム仕様と詳細化 · 形式手法と詳細化 ·
VDM
VDM(Vienna Development Method)は、IBMのウィーン研究所で1960年代から70年代にかけて開発された形式手法。 その仕様記述言語VDM-SLは1996年にISO標準(ISO_IEC_13817-1)となっている。VDM-SLをオブジェクト指向拡張したVDM++も、欧州連合ESPRIT計画のAFRODITEプロジェクトで開発された。.
VDMとプログラム仕様 · VDMと形式手法 ·
Z言語
Z言語 (ぜっどげんご) は、Z記法 (ぜっどきほう) ともいい、形式仕様記述言語であり、コンピュータシステムの記述とモデリングを行うために使われる。 ZはZF集合論から名前をとって命名された。 Zは次のことに焦点を当てている。.
Z言語とプログラム仕様 · Z言語と形式手法 ·
操作的意味論
操作的意味論(そうさてきいみろん、Operational Semantics)とは、プログラムの意味を数学的に厳密に与える計算機科学の手法の一種(プログラム意味論参照)。.
プログラム仕様と操作的意味論 · 形式手法と操作的意味論 ·
数学
数学(すうがく、μαθηματικά, mathematica, math)は、量(数)、構造、空間、変化について研究する学問である。数学の範囲と定義については、数学者や哲学者の間で様々な見解がある。.
プログラム仕様と数学 · 形式手法と数学 ·
上記のリストは以下の質問に答えます
- 何プログラム仕様と形式手法ことは共通しています
- 何がプログラム仕様と形式手法間の類似点があります
プログラム仕様と形式手法の間の比較
形式手法が63を有しているプログラム仕様は、27の関係を有しています。 彼らは一般的な15で持っているように、ジャカード指数は16.67%です = 15 / (27 + 63)。
参考文献
この記事では、プログラム仕様と形式手法との関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください: