「モデル検査の原理」第 3 章 線形時間特性 (線形時間特性)

第 3 章 線形時間特性

検証を目的として、検討中のシステムの遷移システム モデルには、検証される関連プロパティの仕様が伴う必要があります。**この章では、重要だが比較的単純な属性クラスをいくつか紹介します。これらのプロパティは正式に定義されており、これらのプロパティを自動的にチェックするための基本的なモデル チェック アルゴリズムが提案されています。**この章では、線形時間の動作に焦点を当て、さまざまなクラスの属性と追跡動作の間の関係を確立します。公平性の基本的な形式を紹介し、比較します。

3.1DeadLock(デッドロック)

発散の影響を受けない逐次プログラム (つまり、無限ループ) には、終了状態、つまり出力遷移のない状態があります。ただし、並列システムでは、通常、計算ではそれまでに処理されたミューテックスが考慮されません。このようなシステムでは、最終状態は望ましくなく、ほとんどの場合設計エラーを示します。したがって、システム全体が停止していますが、少なくとも 1 つのコンポーネントは実行を継続する可能性があります。典型的なデッドロック シナリオは、コンポーネントが相互に進行を待つときに発生します。

例3.1 欠陥設計の信号機のデッドロック

画像の説明を追加してください
1 つ目の信号機がアクション α との同期を待機している間、2 つ目の信号機はアクション β との同期を待機しているためブロックされます。

例 3.2. 哲学者の食事 (哲学者の食事問題)

5 人の哲学者が丸いテーブルに座っており、その真ん中にお茶碗が置かれています。哲学者(どこか別世界のような)にとって、人生は考えることと食べること(そして後でわかるように待つこと)で構成されています。哲学者が茶碗からご飯を取り出すには、2 本の箸が必要です。

しかし、隣り合う二人の哲学者の間には、箸が一本しかありません。したがって、いつでも、隣接する 2 人の哲学者のうちの 1 人だけが食事をすることができます。もちろん箸は専用のもので手で食べるのは禁止です。

すべての哲学者が 1 本の箸を持っている場合、デッドロック シナリオが発生することに注意してください。画像の説明を追加してください
画像の説明を追加してください
解決:

  • 最大 4 人の哲学者が同時にテーブルに座ることができます。
  • 哲学者は、両方の箸が利用可能な場合にのみ、両方の箸を持ち上げることができます (クリティカル ゾーン内で両方の箸を持ち上げる必要があります)。
  • 非対称ソリューションを使用します。つまり、奇数の哲学者は最初に左側の箸を取り、次に右側の箸を取り、偶数番号の哲学者は最初に右側の箸を取り、次に左側の箸を取ります。

3.2 Linear-Time Behavior (線形時間の動作)

遷移システムに代表されるコンピュータ システムを分析するには、アクション ベースのアプローチと状態ベースのアプローチのいずれかを採用できます。状態ベースのメソッドはアクションから抽出しますが、代わりに、一連の状態のラベルのみが考慮されます。対照的に、アクションベースのビューは状態を抽象化し、遷移のアクション タグのみを参照します。(アクションと状態に基づいたビューの組み合わせは可能ですが、より複雑な定義と概念になります。したがって、アクションまたは状態のラベルから抽象化するのが一般的です。) ほとんどの既存の仕様フォームと関連する検証方法は、対応して定式化された方法で実装できます。両方の観点から。

**この章では、主に状態ベースのアプローチに焦点を当てます。変換されたアクション タグは通信のモデリングにのみ使用されます。** したがって、次のセクションには関係ありません。代わりに、状態の原子命題を使用してシステムのプロパティを表現します。したがって、検証アルゴリズムは、アクション タグから抽出することによって遷移システムから導出される遷移システムの状態図に対して動作します。

3.2.1 パスと状態グラフ (パスと状態グラフ)

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

3.2.2 トレース画像の説明を追加してください

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

3.2.3 線形時間特性

以下では、命題 AP の固定セットを仮定します。線形時間 (プロパティ) 特性は、システムの軌道を変換するための要件です。

定義 3.10. LTプロパティ

画像の説明を追加してください

画像の説明を追加してください
画像の説明を追加してください

定義 3.11. LT特性の満足度関係

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

3.2.4 トレースの等価性と線形時間特性

軌道の等価性、軌道の包含、および LT 特性の満足度の間の正確な関係が、このセクションの主題です。

追跡の包含は LT 属性とどのような関係がありますか? 次の定理は、軌跡の包含が LT プロパティとして表現される要求仕様と互換性があることを示しています。

定理 3.15。トレースの包含と LT プロパティ画像の説明を追加してください

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
移行システムは、同じ一連の軌道を持つ場合、軌道が同等であると言われます。

定義 3.17. トレースの等価性

画像の説明を追加してください
画像の説明を追加してください

3.3 安全性の特性と不変条件

安全性能は「何も悪いことは起こらない」とよく言われます。相互排他性は、クリティカル セクションに最大でも 1 つのプロセスを持つ古典的な安全性です。それは、悪いこと(重要な部分で同時に 2 つ以上のプロセスが行われること)は決して起こり得ないと述べています。もう 1 つの典型的なセキュリティ機能は、デッドロックの解消です。たとえば、食事の哲学者にとって、この行き詰まりは、すべての哲学者が 2 番目の箸を手に取るのを待っている状況と説明できます。このような悪い(つまり、望ましくない)状況は発生すべきではありません。画像の説明を追加してください

3.3.1 不変条件

実際、上記のセキュリティ プロパティは特別な種類のものであり、不変条件です。不変条件は、状態の条件 Φ によって与えられる LT プロパティであり、到達可能なすべての状態に Φ を適用する必要があります。画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

遷移システムが不変条件を満たすかどうかをどのように確認するのでしょうか? 命題式 Φ の不変量をチェックすることは、与えられた変換システム TS が有限である限り、ある初期状態から到達可能なすべての状態で Φ の妥当性をチェックすることと同等であるため、深さ優先探索 (DFS) または幅の標準グラフについては、 First Priority Search (BFS) などのトラバーサル アルゴリズムは、わずかな変更を加えて使用できます。画像の説明を追加してください
画像の説明を追加してください

3.3.2 安全性

画像の説明を追加してください
画像の説明を追加してください

定義 3.22. 安全性のプロパティ、不正なプレフィックス画像の説明を追加してください

画像の説明を追加してください

補題 3.25。安全性の満足度関係

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

定義3.26。プレフィックスとクロージャー

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

3.3.3 微量等価性と安全性

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

例3.32。有限と無限の遷移システム

画像の説明を追加してください

画像の説明を追加してください

3.4 活性プロパティ

非公式には、安全性の性質は「悪いことは決して起こらない」と述べています相互排他アルゴリズムの場合、「悪い」のは、複数のプロセスがクリティカル セクションにある場合であり、信号機の場合、「悪い」のは、赤色のフェーズの前に黄色のフェーズがない場合です。アルゴリズムは単に何もしないだけで安全性を簡単に実現できます。これは決して「悪い」状況につながることはないからです。これは通常は必要ないため、セキュリティ機能はある程度の進歩を必要とする機能によって補完されます。

このようなプロパティは「ライブ」プロパティと呼ばれます彼らは直感的に、将来「良いこと」が起こると言います安全性の特性は有限時間内に(つまり、有限システムの動作によって)違反されますが、活性特性は無限時間内に(つまり、無限システムの動作によって)違反されます。
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

3.4.2 安全性と生存性のプロパティ

このセクションでは、アクティビティと安全性の関係を検討します。特に、次の質問に答えます。

  • 安全性と活性性のプロパティは切り離されていますか?
  • 線形時間特性は安全性特性ですか、それとも活性特性ですか?

これから説明するように、最初の質問は肯定的に答えられますが、2 番目の質問は否定的な答えになります。ただし、興味深いのは、任意の LT プロパティ P について、同等の LT プロパティ P は何でしょうか? 安全性と活性性のプロパティの組み合わせ (つまり、交差) は存在します。したがって、要約すると、安全性と生存性の特性の特定により、線形時間特性の基本的な特徴付けが提供されると言えます。

最初の結果は、安全性と生存性の特性が実際にはほとんど切り離されていることを示しています。より正確には、安全でアクティブな唯一のプロパティは非制限的、つまりすべての可能な動作を許可すると述べています。論理的に言えば、これは「真の」安全性と生存性のプロパティに相当します画像の説明を追加してください
- Zhihu (zhihu.com)
画像の説明を追加してください

3.5 公平性
3.5.1 公平性の制約
  • 無条件の公平性: たとえば、「すべてのプロセスが無限に頻繁に実行されます。」

  • 強力な公平性: たとえば、「無限に頻繁に開始されるすべてのプロセスは、無限に頻繁に実行されます。」

  • 弱い公平性: 例: 「特定の瞬間以降、継続的に有効になっているすべてのプロセスは、無限に頻繁に実行されます。」

定義3.43。無条件、強い、弱い公平性画像の説明を追加してください

画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください
画像の説明を追加してください

定義3.46。公平性の仮定

画像の説明を追加してください

定義3.48。LT 物件の公正な満足関係

画像の説明を追加してください
画像の説明を追加してください

3.5.2 公平性戦略

前のセクションの例は、移行システム TS の活性特性を検証するために公平性の仮定が必要になる可能性があることを示しています。「非現実的な」計算を除外するには、TS の軌道に公平性の仮定を課し、TS (公平性なし) をチェックする代わりに TS |= FP をチェックします。P のチェックにはどのような公平性の仮定が適用されますか? 多くのモデル チェック ツールでは、組み込みの公平性の仮定を使用する可能性が提供されています。大まかに言えば、実際の実装では不可能な実行を除外することが目的です。しかし、これは正確には何を意味するのでしょうか? これについて洞察を得るために、同期同時システムに対するいくつかの公平性の仮定を検討します。目的は、関係するさまざまなプロセス間で公平なコミュニケーション メカニズムを確立することです。経験則として、(プロセス間で) 競合を適切に解決するには強い公平性が必要ですが、独立した (つまり、インターリーブされた) アクションの同時実行アクションのセットを表すには弱い公平性で十分です。

同時実行性 = インターリーブ (つまり、非決定性) + 公平性

同時実行性 = インターリーブ (つまり、不確実性) + 公平性

3.5.3 公平性と安全性
定理 3.55。実現可能な公平性は安全性とは無関係

画像の説明を追加してください
画像の説明を追加してください

3.6 概要

おすすめ

転載: blog.csdn.net/qq_40893490/article/details/126881349