TLA +「指定システム」ドラフト翻訳--Introduction

この本はどのようにコンピュータシステムの仕様TLA +言語を使用する方法をお教えします。それが必要な背景知識を学習するためとして、長い長さの全文が、ほとんどの人は唯一の83の前に十分な内容であるパー​​トをⅠ、読む必要が、このセクションでは、エンジニアのほとんどは、仕様書の作成について知っておく必要が含まれてい、学部工学やコンピュータサイエンスと仮定は、マスター数学とコンピュータの知識に期待されています。PartⅡは、より詳細な内容の期待に洗練された読者に提供します。本の残りの部分は、参照マニュアル--PartⅢTLA +ツールを導入することで、一部はⅣTLA +言語自体を紹介します。

TLAの公式サイトhttp://lamport.org TLA +ツール、トレーニング、参考資料と在庫調整を含む書籍のリソースを備えて。また、これらのページを見つけるuidlamporttlahomepage以下、この21文字の文字列を使用して、エンジンを検索することができますが、この文字列は、インターネット内の任意のドキュメントに表示されます入れないでください。

 

仕様は何ですか?

ライティングは、あなたをさせるの自然の方法です。

あなたの思考がいかにずさん知っています。

--Guindon

仕様は行う必要があり、システムを定義するために書かれています。システムを定義することは、私たちはそれをよりよく理解するのに役立ちます。仕様書を書くために最初に実装する前に、それを理解するために、システムの確立に先立ち、良いアイデアです。

この本は、機能や論理的な属性と呼ぶことができ、システムの動作プロパティを定義する方法についてです。これらの属性は、オペレーティングシステムを実行すべきかを定義します。パフォーマンス属性を含む、私たちは考えていない他の重要な属性の種類があります。最悪の場合のパフォーマンスは、一般的に行動属性として表現することができ、例えば、第9章では、一定時間内にシステムの必須の応答を定義する方法について説明します。しかしながら、この方法の範囲を超えて平均性能の定義は、本明細書に記載しました。

私たちは数学を書くツールの基本的な仕様。数学は、あなたの書き込みがあるため(たとえば、英語や中国語など)不正確な言語ではなく、どのように厳格な最も自然な方法で正確にすることは困難であることを知らせることです。エンジニアリング実際には、不正確では、基本的な言語として多くのミスなので、数理科学と工学を引き起こす可能性があります。

あなたは小さなから大への希望よりも数学は、より正式な数学を使用するには、このマニュアルで使用しました。数学的なフォームあなたは自然にあなたがずさん育った数学を使用する方法を知ることができるようにします。数学者や科学者の大半を書面で使用数学はそれだけで、正確な小規模の状況下ではなく、不正確な広い規模を言うことができ、非常に正確ではありません。各方程式は正確主張ですが、方程式や定理との関係の正確な意味を理解するために付随するテキストを読まなければなりません。論理学者は、これらの説明文と完全に正式な数学、これは完全に正確な方法を排除するために開発されています。

ほとんどの数学者や科学者は数学の形式は、非常に長い非常に退屈であることに同意し、私は彼らが間違っていると思いますが、普通の数学でも、正確な、コンパクト特急完全に正式な言語を使用することができます。第11章DierentialEquationsモジュールにおいて、溶液は、費やす必要約20行の任意の微分方程式を決定することができます。しかし、このような複雑な仕様の数学を使用し、最も単純にいくつかの標準的な数学的概念をすることができ適用する必要はほとんどありません。

 

なぜTLA +?

私たちは、その実行中に発生する可能性のある記述することで、システムの動作を定義します。1977年、アミール・プヌーリ時相論理は、システムの振る舞いを記述するために導入しました。理論的には、システムを記述するために、単一の時相論理式で可能であるが、それは実用的では動作しません。彼の時相論理は、システムの特定の特性のために理想的には説明するが、他の特性に非常に厄介使用されます。従って、典型的な方法を説明し、より伝統的なシステムと組み合わされます。

1980年代後半に、私は、時相論理のアクションに基づいてTLAを、発明した - これは、単純な変種のPnueliオリジナルのロジックです。TLAは、単一の式によって記述可能システムになるようにします。最もTLA仕様は一般数式、非一時的なロジックで構成することができます。記載されているものを記述する際に一時的な論理が唯一の良い属性で重要な役割を果たしています。TLAは、システムの推論のモードを調整するための良い方法を提供し、このモデルは実際には最も有効であることが証明され、アサーション推論と呼ばれています。しかし、この本は、ほとんど証拠なしに仕様、についてです。

時相論理は、基本的なロジックは、一般的な数学的な表現のために設定します。通常の数学的定式化を行うための多くの方法は、ほとんどのコンピュータ科学者は方法と同様の使い慣れたプログラミング言語を使用することを好む、があります。多くの場合、論理学者順序ロジックと集合論と呼ばれる - その代わりに、私はほとんどの数学者が「ロジック」を好む選びました。

TLAは、システムの説明のための数学的な基礎を提供します。仕様を書くために、私たちは言語に基づいて完全なシステムを構築する必要があります。私は当初、言語はTLAの意味論に基づいて行われます抽象プログラミング言語、あるべきと思いました。最初に私は、私はTLAに直接書き込み仕様に決めたので、どのような最高と言語構造をプログラミングするの知っているし、必要なときにプログラミング言語を紹介しませんでした。驚いたことに、私が見つけた後、私はそれを行う必要はありません、私は数式を記述するための強力な言語を必要としています。

数学者は書き込みのために科学的な式を開発しているが、彼らはエンジニアリングアプリケーションに変換されていないが。彼らは、小規模なアプリケーションのための数学記号を開発したが、大規模な数学的モデルにしません。実際のシステムの仕様は、ページの数十あるいは数百を有していてもよく、数学者ではなく、20ページの式より、式の20行を作成する方法を知っています。だから、私は、これらの方法は学んだ主な仕様モジュール言語から自分のスキルの恩恵を受けるの言語で長い数式を書くの象徴的な方法を紹介しました。

私は、この言語TLA +を呼び出します。異なるシステムの仕様を調製する際には、私TLA +は徐々に洗練されて。しかし、近年では、それが少し変わりました。私はTLA +がよく分散システムにプログラム・インターフェース(API)からの様々なシステムで定義することができるが見つかりました。ほとんどの個別のシステムのいずれかの種類正確であった正式な説明を記述するために使用することができます。説明したシステム、すなわち、厳密なロックステップ・アセンブリを有するシステムを強制しない、非同期に特に適しています。

 

本書について

7への章1を含め、本書のパートIは、あなたが最初から最後まで読む必要があり、この本の核心です。それは、知っているほぼすべての時間的ロジックを使用する必要はありませんこれらのプロパティを定義する仕様の必要性の準備の中で最もエンジニアであるセキュリティ属性(安全性)と呼ばれる属性カテゴリを定義する方法について説明します。

パートIを読んだ後、パートIIあなたは自分のニーズに応じて読むことができます。これは、各章の独立しています。第8章詳細時相論理、時間的な論理を活性特性(ライブネスプロパティ)を定義するために使用されます。第9章は、リアルタイム性(リアルタイム性)を定義する方法について説明し、第10章合成仕様を作成する方法について説明します。第11章では、より高度な例が含まれています。

構文アナライザパーサ、TLATEX組版プログラムとTLCモデルチェッカー:パートIIIは、以下の3つのツールTLA +リファレンスマニュアルです。使用TLA +は、これらのツールを使用する必要があります。あなたはからできるTLAページにそれらを取得します。TLCは、最も複雑なの一つです。Web上の例は、TLCと、使い慣れ助けることができますが、深さにTLCの有効利用を検討したい場合は、第14章を読まなければなりません。

PartⅣはTLA +言語リファレンスマニュアルです。PartⅠは、ほとんどの目的のために、言語の十分な実践的な知識を提供してきた質問の構文と意味の唯一のキーポイントはPartⅣがあるかどうかを確認する必要があります。第15章は、TLA +の構文について説明します。すべての組み込み演算子と一般的な形態のTLA +正確な意味の第16章、第17章には、正確な構成(例えば、定義された)を意味TLA +のすべての上位レベルを記述する。これらの2つの章では、一緒にTLA +の意味を説明します。第18章は、TLCモジュールリアルタイムモジュールに加えて、標準モジュールを説明し、あなたは意志の基本的な数学のTLA +正式な標準を使用する方法場合は、第14章、第9章では、冒頭で説明し興味を持っている、この章を参照することもできます。

多くの有用な情報へのミニマニュアル、コンパクトな導入:パートIVは、あなたがしばしばで読む必要があるかもしれないいくつかのコンテンツを持っています。268から273のTLA +ページリストすべてのオペレータは、すべてのユーザ定義可能なシンボル、ASCII優先度、すべての演算子で定義された標準的なモジュールのすべての演算子、および⊕表すようなシンボルです。

リリース元の4件の記事 ウォンの賞賛1 ビュー5540

おすすめ

転載: blog.csdn.net/robinhzp/article/details/103280804