ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

SPINモデルチェッカ

索引 SPINモデルチェッカ

SPINモデルチェッカ(英: SPIN model checker)は、ソフトウェアのモデル検査のためのツールである。Gerard J. Holzmann らが開発し、15年以上に渡って改良を続けてきた。2001年にAssociation for Computing Machinery (ACM) のソフトウェアシステム賞を受賞している。1995年以来、ほぼ毎年モデル検査に興味のある SPIN ユーザーや研究者による SPIN ワークショップが開催されている。.

18 関係: ACMソフトウェアシステム賞Association for Computing Machineryハッシュ関数モデル検査ビットフィールドピアソン (企業)データ圧縮分散コンピューティングオートマトンC言語線形時相論理産業技術総合研究所表明英語手続き型プログラミング1995年2001年2004年

ACMソフトウェアシステム賞

2005年のACMソフトウェアシステム賞のトロフィ ACMソフトウェアシステム賞()は、「概念面あるいは商業面、または両面における成功で長きに渡って影響を及ぼしたソフトウェアシステムを開発した」個人または団体を選定し毎年表彰する賞である。Association for Computing Machinery (ACM) が1983年に創設した。IBMがスポンサーとなっており、2011年時点で3万5千ドルの副賞も授与される。.

新しい!!: SPINモデルチェッカとACMソフトウェアシステム賞 · 続きを見る »

Association for Computing Machinery

Association for Computing Machinery (ACM) は、ニューヨークに本部のあるコンピュータ科学分野の国際学会。1947年設立。IEEEとともに、この分野で最も影響力の強い学会であり、IEEEがその名と由来や歴史からエレクトロニクスや通信分野の工学に強いのに対し、数学的な理論計算機科学のような分野もカバーする。日本語に訳して「計算機械学会」とされることもあるが、こんにちこの訳語が用いられることはほとんどなく、通常は単に"ACM"という略称で呼ばれるのがもっぱらである。ACMの「A」は Association (学会、団体) の頭文字であるが、アメリカ数学会 (AMS) と混同して「米国計算機学会」と誤訳されることがある。 数多くの国際会議を開催しており、人目を惹くデモ映像のSIGGRAPHやSIGMODなどはよく知られている。他の多くの学会と同様にすぐれた業績などへの表彰もおこなっているが、チューリング賞は、特にこの分野の最高の賞とみなされており、物理や化学といった分野におけるノーベル賞に匹敵するものと扱われることもある(他の賞についても時折「~のノーベル賞」といったような表現が使われることがあるが、この分野の全てを対象とした世界トップクラスの賞という位置づけにあるのはチューリング賞をおいて他にない)。.

新しい!!: SPINモデルチェッカとAssociation for Computing Machinery · 続きを見る »

ハッシュ関数

ハッシュ関数で名前と0から15までの整数をマッピングしている。"John Smith" と "Sandra Dee" のハッシュ値が衝突している点に注意。 ハッシュ関数 (ハッシュかんすう、hash function) あるいは要約関数とは、あるデータが与えられた場合にそのデータを代表する数値を得る操作、または、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことを要約値やハッシュ値または単にハッシュという。 ハッシュ関数は主に検索の高速化やデータ比較処理の高速化、さらには改竄の検出に使われる。例えば、データベース内の項目を探したり、大きなファイル内で重複しているレコードや似ているレコードを検出したり、核酸の並びから類似する配列を探したりといった場合に利用できる。 ハッシュ関数の入力を「キー (key)」と呼ぶ。ハッシュ関数は2つ以上のキーに同じハッシュ値をマッピングすることがある。多くの場合、このような衝突の発生は最小限に抑えるのが望ましい。したがって、ハッシュ関数はキーとハッシュ値をマッピングする際に可能な限り一様になるようにしなければならない。用途によっては、他の特性も要求されることがある。ハッシュ関数の考え方は1950年代に遡るが、ハッシュ関数の設計の改善は今でも盛んに研究されている。 ハッシュ関数は、チェックサム、チェックディジット、フィンガープリント、誤り訂正符号、暗号学的ハッシュ関数などと関係がある。これらの概念は一部はオーバーラップしているが、それぞれ用途が異なり、異なった形で設計・最適化されている。 またプログラミング言語の一部(Perl、Ruby等、主に高等言語とされる一般的なプログラミング言語の多く)においては、連想配列のことを伝統的にハッシュと呼ぶが、これは連想配列そのもののプログラムの内部的実装に拠るものであり、ハッシュ関数そのものとは全く異なる。連想配列はハッシュ関数の応用例の一つのハッシュテーブルの実用例である。.

新しい!!: SPINモデルチェッカとハッシュ関数 · 続きを見る »

モデル検査

モデル検査(Model Checking)とは、形式システムをアルゴリズム的に検証する手法である。ハードウェアやソフトウェアの設計から導出されたモデルが形式仕様を満足するかどうか検証する。仕様は時相論理の論理式の形式で記述することが多い。.

新しい!!: SPINモデルチェッカとモデル検査 · 続きを見る »

ビットフィールド

ビットフィールド (bit field) は、プログラミングにおいてブーリアン型のフラグをコンパクトなビットの並びとして格納する手法である。ビットフィールドの格納には、整数型を使用する。個々のフラグは、ビット単位で格納される。通常は、ソースコードで、個別のビットがフラグに対応する意味を付けられた、2の冪乗の定数が定義される。ビット演算の論理積・論理和・否定の組み合わせが、フラグのセット・リセットとテストを行うために使われる。 ビットフィールドはビット配列とは異なる。ビット配列は、整数でインデックスを付けられた大きなビットの集合を保存するために使用され、コンピュータ言語でサポートされる整数型よりも大きいことがある。ビットフィールドは典型的にはワードサイズの範囲内であり、ビットの表示は数値によるインデックスから独立している。ビットフィールドは、それぞれのフラグのビットインデックスが列挙型の値のビット配列を使用することで、安全かつシンプルで、高速に動作する実装となる。.

新しい!!: SPINモデルチェッカとビットフィールド · 続きを見る »

ピアソン (企業)

ピアソン PLC (Pearson PLC) は、ロンドンに本部を置くメディア・コングロマリット。油田開発で利益をあげ、ロンドンラザードを支配した。出版社としての歴史はそう長くないし、他のメディア産業も展開している。.

新しい!!: SPINモデルチェッカとピアソン (企業) · 続きを見る »

データ圧縮

データ圧縮(データあっしゅく)とは、あるデータをそのデータの実質的な性質(専門用語では「情報量」)を保ったまま、データ量を減らした別のデータに変換すること。高効率符号化ともいう-->。アナログ技術を用いた通信技術においては通信路の帯域幅を削減する効果を得るための圧縮ということで帯域圧縮ともいわれた。デジタル技術では、情報を元の表現よりも少ないビット数で符号化することを意味する。 データ圧縮には大きく分けて可逆圧縮と非可逆圧縮がある。というより正確には非可逆圧縮はデータ圧縮ではない。可逆圧縮は統計的冗長性を特定・除去することでビット数を削減する。可逆圧縮では情報が失われない。非可逆圧縮は不必要な情報を特定・除去することでビット数を削減する。しかしここで「不必要な」とは、例えばMP3オーディオの場合「ヒトの聴覚では通常は識別できない」という意味であり、冒頭の「情報量を保ったまま」という定義を破っている。データファイルのサイズを小さくする処理は一般にデータ圧縮と呼ばれるが、データを記録または転送する前に符号化するという意味では情報源符号化である。 圧縮は、データ転送におけるトラフィックやデータ蓄積に必要な記憶容量の削減といった面で有効である。しかし圧縮されたデータは、利用する前に伸長(解凍)するという追加の処理を必要とする。つまりデータ圧縮は、空間計算量を時間計算量に変換することに他ならない。例えば映像の圧縮においては、それをスムースに再生するために高速に伸長(解凍)する高価なハードウェアが必要となるかもしれないが、圧縮しなければ大容量の記憶装置を必要とするかもしれない。データ圧縮方式の設計には様々な要因のトレードオフがからんでおり、圧縮率をどうするか、(非可逆圧縮の場合)歪みをどの程度許容するか、データの圧縮伸長に必要とされる計算リソースの量などを考慮する。 新たな代替技法として、圧縮センシングの原理を使ったリソース効率のよい技法が登場している。圧縮センシング技法は注意深くサンプリングすることでデータ圧縮の必要性を避けることができる。.

新しい!!: SPINモデルチェッカとデータ圧縮 · 続きを見る »

分散コンピューティング

分散コンピューティング(ぶんさんコンピューティング、英: Distributed computing)とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理(ぶんさんしょり)ともいう。並列コンピューティングの一形態に分類されるが、一般に並列コンピューティングと言えば、同時並行に実行する主体は同じコンピュータシステム内のCPU群である。ただし、どちらもプログラムの分割(同時に実行できる部分にプログラムを分けること)が必須である。分散コンピューティングではさらに、それぞれの部分が異なる環境でも動作できるようにしなければならない。例えば、2台の異なるハードウェアを使ったコンピュータで、それぞれ異なるファイルシステム構成であっても動作するよう配慮する必要がある。 問題を複数の部分問題に分けて各コンピュータに実行させるのが基本であり、素数探索や数多く試してみる以外に解決できない問題の対処として用いられているものが多い。分散コンピューティングの例としてBOINCがある。これは、大きな問題を多数の小さな問題に分割し、多数のコンピュータに分配するフレームワークである。その後、それぞれの結果を集めて大きな解を得る。一般的に処理を分散すると一台のコンピュータで計算する場合と比べ、問題データの分配、収集、集計するためのネットワークの負荷が増加し、問題解決の為のボトルネックとなるため、部分問題間の依存関係を減らすことが重要な課題となる。 分散コンピューティングは、コンピュータ同士をネットワーク接続し、効率的に通信できるよう努力した結果として自然に生まれた。しかし、分散コンピューティングはコンピュータネットワークと同義ではない。単にコンピュータネットワークと言った場合、複数のコンピュータが互いにやり取りするが、単一のプログラムの処理を共有することはない。World Wide Web はコンピュータネットワークの例であるが、分散コンピューティングの例ではない。 分散処理を構築するための様々な技術や標準が存在し、一部はその目的に特化して設計されている。例えば、遠隔手続き呼出し (RPC)、Java Remote Method Invocation (Java RMI)、.NET Remoting などがある。.

新しい!!: SPINモデルチェッカと分散コンピューティング · 続きを見る »

オートマトン

ートマトン (単数形: automaton, 複数形: オートマタ(automata )) とは、自動人形などとも呼ばれる「オートマタ」と同じ語であるが、計算理論において、計算モデルに関して有限オートマトンなどの総称として使われる。また特に「オートマトン理論」と呼ばれる分野では、計算機械のうち計算可能性の点でチューリングマシンよりも制限されているものを特に指して言うこともある。.

新しい!!: SPINモデルチェッカとオートマトン · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: SPINモデルチェッカとC言語 · 続きを見る »

線形時相論理

線形時相論理(せんけいじそうろんり、Linear Temporal Logic、LTL)とは、時間に関する様相を持つ様相時相論理である。LTLでは、ある条件が最終的に真となるとか、別の事実が真になるまでその条件は真であるとかいった将来の出来事について論理式で表すことができる。.

新しい!!: SPINモデルチェッカと線形時相論理 · 続きを見る »

産業技術総合研究所

国立研究開発法人産業技術総合研究所(さんぎょうぎじゅつそうごうけんきゅうしょ、英語表記:National Institute of Advanced Industrial Science and Technology、略:AIST)は、日本の独立行政法人である国立研究開発法人の一つで、公的研究機関。略称は産総研(さんそうけん)。.

新しい!!: SPINモデルチェッカと産業技術総合研究所 · 続きを見る »

表明

表明(ひょうめい、assertion)とは、プログラミングにおける概念のひとつであり、そのプログラムの前提条件を示すのに使われる。アサーションとも呼ばれる。表明は、プログラムのその箇所で必ず真であるべき式の形式をとる。多くの言語ではそのような前提条件のチェックに表明を使用するが、設計上の判断を文書化するのに使う場合もある。表明が偽となった場合、プログラムにバグが潜在していることを示している。これを「表明違反; assertion failure」と呼ぶ。表明を言語構文や標準ライブラリとしてサポートするプログラミング言語も存在する。 プログラマは、開発過程でソースコードに表明を追加する。デバッグを単純化し、問題を早期に検出するためである。表明違反はバグを示していることが多いため、表明の実装では問題の元を示すために追加情報を表示するようになっていることが多い(ソースコードのファイル名と行番号、スタックトレースなど)。ほとんどの実装では、そのプログラムの実行が即座に停止する。.

新しい!!: SPINモデルチェッカと表明 · 続きを見る »

英語

アメリカ英語とイギリス英語は特徴がある 英語(えいご、)は、イ・ヨーロッパ語族のゲルマン語派に属し、イギリス・イングランド地方を発祥とする言語である。.

新しい!!: SPINモデルチェッカと英語 · 続きを見る »

手続き型プログラミング

手続き型プログラミング(てつづきがたプログラミング、Procedural programming)は、「手続き呼び出し」の概念に基づくプログラミングパラダイムの一種。命令型プログラミングと同義に扱われることが多い。「手続き」はプロシージャ、ルーチン、サブルーチン、メソッド、関数(数学の関数とは異なる。)など様々な呼称があるが、実行すべき一連の計算ステップを持つものと定義できる。手続きはプログラム実行中の任意の時点で呼び出すことができ、他の手続きからの呼び出しも、自分自身からの呼び出し(再帰呼び出し)も含まれる。 手続き型プログラミングは単純な逐次型プログラミングや非構造化プログラミングよりも多くの場合よりよい選択である。非構造化プログラミングでは複雑なコードを組むことは困難であり、保守性が悪い。手続き型プログラミングには、以下のような利点がある.

新しい!!: SPINモデルチェッカと手続き型プログラミング · 続きを見る »

1995年

この項目では、国際的な視点に基づいた1995年について記載する。.

新しい!!: SPINモデルチェッカと1995年 · 続きを見る »

2001年

また、21世紀および3千年紀における最初の年でもある。この項目では、国際的な視点に基づいた2001年について記載する。.

新しい!!: SPINモデルチェッカと2001年 · 続きを見る »

2004年

この項目では、国際的な視点に基づいた2004年について記載する。.

新しい!!: SPINモデルチェッカと2004年 · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »