Model Checking (2) Temporal Logic

Slides:



Advertisements
Similar presentations
Localized hole on Carbon acceptors in an n-type doped quantum wire. Toshiyuki Ihara ’05 11/29 For Akiyama Group members 11/29 this second version (latest)
Advertisements

だい六か – クリスマスとお正月 ぶんぽう. て form review ► Group 1 Verbs ► Have two or more ひらがな in the verb stem AND ► The final sound of the verb stem is from the い row.
Humble and Honorific Language By: Word-Master Leo, Mixer of Ill Beats.
第 5 章 2 次元モデル Chapter 5 2-dimensional model. Contents 1.2 次元モデル 2-dimensional model 2. 弱形式 Weak form 3.FEM 近似 FEM approximation 4. まとめ Summary.
一階述語論理 (first-order predicate logic) 一階述語論理入門 構文論(論理式の文 法) 意味論(論理式の解 釈) 認知システム論 知識と推論(4) 知識と論理でを組み合わせて問題を解決する.
Essay writing rules for Japanese!!. * First ・ There are two directions you can write. ・よこがき / 横書き (same as we write English) ・たてがき / 縦書き (from right to.
VE 01 え form What is え form? え? You can do that many things with え form?
英語特別講座 疑問文 #1    英語特別講座 2011 疑問文.
Model Checking (1) Modeling Concurrent Systems
Model Checking (1) Modeling Concurrent Systems
All Rights Reserved, Copyright (C) Donovan School of English
The Bar バー.
英語勉強会.
Chapter 11 Queues 行列.
Ex7. Search for Vacuum Problem
日本語... ジェパディー! This is a template for you to use in your classroom.
と.
3月6日(金曜日) 漢字 #6-10 Verbs! (continued) Particles Time References
Ex8. Search for Vacuum Problem(2)
じょし Particles.
What did you do, mate? Plain-Past
プログラムの正当性(2) 正当性証明の基本原理
Noun の 間(に) + Adjective Verb てform + いる間(に) during/while.
項書換え系(3) 合流性 Term Rewriting Systems(3) Confluence 知能ソフトウェア特論
How do you talk about Positions/ Locations?
点素パス問題に対するアルゴリズム 小林 佑輔 東京大学 大学院情報理工学系研究科 組合せ最適化セミナー 2012 年 7月 13日
V 03 I do NOT eat sushi. I do NOT do sumo.
Reasonので + Consequence clause
Chapter 4 Quiz #2 Verbs Particles を、に、で
The Sacred Deer of 奈良(なら)
モデル検査(1) 並行システムとモデル検査 1.並行システム 2.モデル検査 3.モデル検査の実施 4.システムとアルゴリズム
“You Should Go To Kyoto”
ストップウォッチの カード ストップウォッチの カード
フードピラミッド(Food Pyramid)
モデル検査(2) プロセス代数に基づくモデリング
The Syntax of Participants シンタックスの中の話者と聞き手
点素パス問題に対するアルゴリズム 小林 佑輔 東京大学 大学院情報理工学系研究科 組合せ最適化セミナー 2012 年 7月 13日
National adviser Japanese Yuriko Kayamoto
Causative Verbs Extensively borrowed from Rubin, J “Gone Fishin’”, Power Japanese (1992: Kodansha:Tokyo) Created by K McMahon.
7 ソフトウェア工学 Software Engineering モデル検査 MODEL CHECKING.
WLTC Mode Construction
-Get test signed and make corrections
Model Checking (2) Temporal Logic
くれます To give (someone gives something to me or my family) くれました くれます
Term paper, Report (1st, first)
Where is Wumpus Propositional logic (cont…) Reasoning where is wumpus
逐次プログラムの正当性(2) 帰納的アサーション法(フロイド法)
モデル検査(3) 手続き型言語に基づくモデリング
クイズやゲーム形式で紹介した実例です。いずれも過去のインターン作です。
Ex7. Search for Vacuum Problem
プログラムの正当性(2) 正当性証明の基本原理
Expressing uncertainty: Might
2019/4/22 Warm-up ※Warm-up 1~3には、小学校外国語活動「アルファベットを探そう」(H26年度、神埼小学校におけるSTの授業実践)で、5年生が撮影した写真を使用しています(授業者より使用許諾済)。
第1回レポートの課題 6月24日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
モデル検査(5) CTLモデル検査アルゴリズム
モデル検査(1) 並行システムのモデリング 知能ソフトウェア特論 Intelligent Software
知能ソフトウェア特論 Intelligent Software
知能ソフトウェア特論 Intelligent Software
Created by L. Whittingham
論理的に推論 L4. Reasoning Logically Knowledge Representation (知識表現)
東北大 情報科学 田中和之,吉池紀子 山口大 工 庄野逸 理化学研究所 岡田真人
4 形式的設計検証技術 検証 verification 形式的検証 (4.1.2)
英語音声学(7) 音連結.
The Facilitative Cues in Learning Complex Recursive Structures
Cluster EG Face To Face meeting
せつぞくし 接続詞 Conjunctions.
Grammar Point 2: Describing the locations of objects
点素パス問題に対するアルゴリズム 小林 佑輔 東京大学 大学院情報理工学系研究科 組合せ最適化セミナー 2012 年 7月 13日
アノテーションガイドラインの管理を行う アノテーションシステムの提案
Improving Strategic Play in Shogi by Using Move Sequence Trees
Presentation transcript:

Model Checking (2) Temporal Logic 知能ソフトウェア特論 Intelligent Software モデル検査(2) 時相論理 Model Checking (2) Temporal Logic 1.時相論理の概要 2.状態遷移系の形式化 3.線形時相論理 LTL 4.計算木時相論理 CTL 1. Overview of temporal logic 2. Formalization of state transition systems 3. Linear Temporal Logic: LTL 4. Computational Tree Logic: CTL ■Reference Model Checking, E.M. Clarke, Jr. et al, MIT Press (1999)

(state transition system) モデル検査器の概要   (Overview of model checker) モデル検査器 model checker モデル model 検査結果 result 状態遷移系 OK/反例 性質 property (state transition system) The result is either OK or a counterexample (error trace). モデル記述言語 プロセス代数 C言語風言語 安全性,活性 (safety, liveness) 性質記述言語 時相論理

1.時相論理の概要 (Overview of temporal logic) To verify sequential programs, it is enough to represent the systems by input/output relationships in classical logic. To verify reactive, concurrent systems, which are often non-terminating, it is important to represent the internal state transitions of the systems in non-classical logic.

時相論理の概要 (Overview of temporal logic) Temporal logic allows you to describe properties of reactive, concurrent systems, describe properties related to time, describe properties of state transition using temporal operators. LTL: Linear Temporal Logic CTL: Computational Tree Logic

2. 状態遷移系の形式化 (Formalization of state transition systems) (the set of variables in a concurrent system) (domain: a finite set of values taken by the variables) (state: a vector of values taken by the variables) (the set of atomic propositions: Their truth values are determined in each state. For example, “v1=3” is an atomic proposition whose value is true in the states where the value of v1 is 3.)

クリプキ構造 (Kripke structure) :状態遷移系の一種 State transition systems are formally modeled by the Kripke structure defined as 4-tuple. (S is a finite set of states) (S0 ⊆ S is a set of initial states) (R ⊆ S×S is a state transition relation) ベキ集合 (APのすべての部分集合の集合) (L: S→2AP is a labeling function, which assigns each state in S with a label, i.e. a subset of AP that are true in that state) powerset (the set of all subsets of AP)

クリプキ構造の例(オーブンレンジ) (An example of Kripke structure: an oven) 初期状態 (initial state) start oven open door cook open door close door done close door open door reset start oven start cooking warmup

パス (Path) We assume every state s has a state s’ to which transition from s is possible. Otherwise, we will fix R so that transition from s to s itself is possible. A path from a state s is an infinite sequence of states p=(s0s1s2…). where s0=s and (si , si+1) ∈R for all i.

3.線形時相論理 LTL (Linear Temporal Logic: LTL) Is c true in this path? false false true false a b a b c a このパスでは,いつか必ず c が成り立つ LTLでは,この性質を Fc で表す In this path, c will be eventually true. In LTL, this property is expressed as Fc.

LTLの構文論 LTL式 (Syntax of LTL) The syntax for LTL formulas are defined inductively by using temporal operators X, F, G, and U as follows. LTL式 (LTL formulas) An atomic proposition p is an LTL formula. These eight formulas are LTL formulas, if f and g are LTL formulas.

LTLの直観的な意味(1/2) (Intuitive meaning of LTL) The truth of an LTL formula is determined for each path. f is true in the neXt state on the path. f will be Finally true in some state on the path. f is true in all the states (Globally) on the path. g is true in some state s on the path, and f is true in all the states before s (Until g is true).

LTLの直観的な意味(2/2) (Intuitive meaning of LTL) p p with no temporal operators f neXt f ¬f ¬f ¬f f Future f f f f f f Globally f f∧¬g f∧¬g f∧¬g g f Until g

LTLの形式的意味論(1/3) 表記法 (Formal semantics of LTL: Notation) A path is represented by an infinite sequence p=(s0s1s2…) of states. A subpath of p starting from si , i.e. (sisi+1…), is denoted by pi. The LTL formula f is true for the path p (p fulfills f ). The negation of the above formula

LTLの形式的意味論(2/3) 時相演算子を含まないとき (Formal semantics of LTL: When no temporal operators involved) The inductive definition of the truth for LTL formulas, where p is an atomic proposition and f, g are LTL formulas. s0に付けられた ラベル(原始命題の集合) the label (a subset of AP) attached to s0 If f involves no temporal operators, the truth of f is its truth in the initial state s0 of the path p.

LTLの形式的意味論(3/3) 時相演算子を含むとき (Formal semantics of LTL: When temporal operators involved) p=(s0s1s2…) pi=(sisi+1…)

LTLモデル検査器 (LTL Model Checker) SPIN など When an LTL formula f is input to an LTL model checker such as SPIN, it checks all the paths p starting from the initial states to see if p |= f. If it finds a path with p |= ¬f, it will output that path.

4.計算木時相論理 CTL (Computation Tree Logic: CTL) 計算木 computation tree path クリプキ構造 計算木 a b Kripke structure computation tree a b b c c b c c a b c c path

CTLの構文論 CTL式 (Syntax of CTL) (CTL uses the path quantifiers E and A in addition to LTL temporal operators) CTL式 (CTL formulas) An atomic proposition p is a CTL formula. These 12 formulas are CTL formulas, if f and g are CTL formulas.

CTLの直観的な意味: E,A (Intuitive meaning of CTL: E,A) The truth of a CTL formula is determined for each computation tree starting from a state. There exists a path in the computation tree for which f is true. f is true for all paths in the computation tree.

CTLの直観的な意味: Eの使用例 (Intuitive meaning of CTL: Sample use of E) EX blue EF blue EG blue E(gray U blue) There exists a path such that the next state is blue. There exists a path that will, in future, get blue. There exists a path that is globally blue. There exists a path that is gray until blue.

CTLの直観的な意味: Aの使用例 (Intuitive meaning of CTL: Sample use of A) AX blue AF blue AG blue A(gray U blue) For all paths, the next state is blue. For all paths, it will finally become blue. For all paths, it is globally blue. For all paths, it is gray until blue.

CTLの形式的意味論(1/3) 表記法 (Formal semantics of CTL: Notation) The CTL formula f is true for the computation tree starting from the state s (s fulfills f ). (The negation of the above formula)

CTLの形式的意味論(2/3) 時相演算子を含まないとき (Formal semantics of CTL: When no temporal operators involved) The inductive definition of the truth for CTL formulas, where p is an atomic proposition and f, g are CTL formulas. s に付けられた ラベル(原始命題の集合) the label (a set of atomic propositions) attached to s If f involves no temporal operators, the truth of f is its truth in the state s , the root of the computation tree.

CTLの形式的意味論(3/3) 時相演算子を含むとき (Formal semantics of CTL: When temporal operators involved)

CTL式の例(1/4) (Example of CTL formula) There exists a path where in future we will see that start is true but ready is not. ready start ready start

CTL式の例(2/4) (Example of CTL formula) For all paths, we will see that deviceEnabled will be finally true. devEn devEn = deviceEnabled devEn

CTL式の例(3/4) (Example of CTL formula) In any path, it is always true that if req is true at that time, then for all paths after that, ack will be eventually true. req ack ack

CTL式の例(4/4) (Example of CTL formula) From any state, there is a path to reach a restart state. restart

演習問題4 Exercise 4 Prove the following identical equations. 参考