The challenges of non-stable predicates

Σχετικά έγγραφα
Bounding Nonsplitting Enumeration Degrees

2 Composition. Invertible Mappings

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

EE512: Error Control Coding

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Section 8.3 Trigonometric Equations

Every set of first-order formulas is equivalent to an independent set

Example Sheet 3 Solutions

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Finite Field Problems: Solutions

C.S. 430 Assignment 6, Sample Solutions

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Jordan Form of a Square Matrix

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

ST5224: Advanced Statistical Theory II

Fractional Colorings and Zykov Products of graphs

Reminders: linear functions

Numerical Analysis FMN011

6.3 Forecasting ARMA processes

About these lecture notes. Simply Typed λ-calculus. Types

Statistical Inference I Locally most powerful tests

Inverse trigonometric functions & General Solution of Trigonometric Equations

Other Test Constructions: Likelihood Ratio & Bayes Tests

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Approximation of distance between locations on earth given by latitude and longitude

Concrete Mathematics Exercises from 30 September 2016

12. Radon-Nikodym Theorem

2. Let H 1 and H 2 be Hilbert spaces and let T : H 1 H 2 be a bounded linear operator. Prove that [T (H 1 )] = N (T ). (6p)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 7η: Consumer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

Problem Set 3: Solutions

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

Homomorphism of Intuitionistic Fuzzy Groups

Solutions to Exercise Sheet 5

Chapter 6: Systems of Linear Differential. be continuous functions on the interval

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

Partial Differential Equations in Biology The boundary element method. March 26, 2013

Strukturalna poprawność argumentu.

Μηχανική Μάθηση Hypothesis Testing

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

b. Use the parametrization from (a) to compute the area of S a as S a ds. Be sure to substitute for ds!

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Uniform Convergence of Fourier Series Michael Taylor

The Simply Typed Lambda Calculus

Homework 3 Solutions

Block Ciphers Modes. Ramki Thurimella

SOLUTIONS TO MATH38181 EXTREME VALUES AND FINANCIAL RISK EXAM

ORDINAL ARITHMETIC JULIAN J. SCHLÖDER

ω ω ω ω ω ω+2 ω ω+2 + ω ω ω ω+2 + ω ω+1 ω ω+2 2 ω ω ω ω ω ω ω ω+1 ω ω2 ω ω2 + ω ω ω2 + ω ω ω ω2 + ω ω+1 ω ω2 + ω ω+1 + ω ω ω ω2 + ω

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

Συστήματα Διαχείρισης Βάσεων Δεδομένων

TMA4115 Matematikk 3

Higher Derivative Gravity Theories

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

4.6 Autoregressive Moving Average Model ARMA(1,1)

On a four-dimensional hyperbolic manifold with finite volume

Models for Probabilistic Programs with an Adversary

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Lecture 2. Soundness and completeness of propositional logic

Section 7.6 Double and Half Angle Formulas

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

Congruence Classes of Invertible Matrices of Order 3 over F 2

derivation of the Laplacian from rectangular to spherical coordinates

A Bonus-Malus System as a Markov Set-Chain. Małgorzata Niemiec Warsaw School of Economics Institute of Econometrics

LTL to Buchi. Overview. Buchi Model Checking LTL Translating LTL into Buchi. Ralf Huuck. Buchi Automata. Example

forms This gives Remark 1. How to remember the above formulas: Substituting these into the equation we obtain with

( ) 2 and compare to M.

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

( y) Partial Differential Equations

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

Space-Time Symmetries

Homework 8 Model Solution Section

SOLUTIONS TO MATH38181 EXTREME VALUES AND FINANCIAL RISK EXAM

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

The Probabilistic Method - Probabilistic Techniques. Lecture 7: The Janson Inequality

Lecture 21: Properties and robustness of LSE

Instruction Execution Times

Durbin-Levinson recursive method

Right Rear Door. Let's now finish the door hinge saga with the right rear door

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

[1] P Q. Fig. 3.1

The Pohozaev identity for the fractional Laplacian

Locking to ensure serializability

Parametrized Surfaces

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 10η: Basics of Game Theory part 2 Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

MINIMAL CLOSED SETS AND MAXIMAL CLOSED SETS

Η ΠΡΟΣΩΠΙΚΗ ΟΡΙΟΘΕΤΗΣΗ ΤΟΥ ΧΩΡΟΥ Η ΠΕΡΙΠΤΩΣΗ ΤΩΝ CHAT ROOMS

Case 1: Original version of a bill available in only one language.

Η ΨΥΧΙΑΤΡΙΚΗ - ΨΥΧΟΛΟΓΙΚΗ ΠΡΑΓΜΑΤΟΓΝΩΜΟΣΥΝΗ ΣΤΗΝ ΠΟΙΝΙΚΗ ΔΙΚΗ

( )( ) ( ) ( )( ) ( )( ) β = Chapter 5 Exercise Problems EX α So 49 β 199 EX EX EX5.4 EX5.5. (a)

A Hierarchy of Theta Bodies for Polynomial Systems

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

Solutions to the Schrodinger equation atomic orbitals. Ψ 1 s Ψ 2 s Ψ 2 px Ψ 2 py Ψ 2 pz

CE 530 Molecular Simulation

Transcript:

The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program.

The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. Suppose we apply Φ to Σ s

The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. Suppose we apply Φ to Σ s Σ s Φ holding in does not preclude the possibility that our program violates safety!

The challenges of non-stable predicates Consider now a different non-stable predicate Φ. We want to determine whether Φ ever holds during a particular computation. Suppose we apply Φ to Σ s

The challenges of non-stable predicates Consider now a different non-stable predicate Φ. We want to determine whether Φ ever holds during a particular computation. Suppose we apply Φ to Σ s Φ holding in Σ s does not imply that Φ ever held during the actual computation!

Example x = 3 x = 4 x = 5 e 1 1 e 2 1 e 3 1 e 4 1 e 5 1 e 6 1 e 1 2 e 2 2 e 3 2 e 4 2 e 5 2 y = 6 y = 4 y = 2 Detect whether the following predicates hold: Assume that initially: x = y x = y 2 x = 0; y = 10

ccc Possibly x = y 2 Σ 41 Σ 31 Σ 42 53 Σ Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Σ 21 Σ 12 Σ 22 Σ 13 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 03 Σ s Σ 31 Σ 41 If is or,. x = y 2 is detected, but it may never have occurred Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

ccc Possibly x = y 2 Σ 41 Σ 63 Σ 31 Σ 42 53 Σ Σ 64 Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Σ 21 Σ 12 Σ 22 Σ 13 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 54 Σ 65 Σ 55 Σ 03 Σ s Σ 31 Σ 41 If is or,. x = y 2 is detected, but it may never have occurred Possibly( Φ) There exists a consistent observation of the computation O such that Φ holds in a global state of O

Definitely Σ 41 Σ 31 Σ 42 53 Σ Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Σ 21 Σ 12 Σ 22 Σ 13 Σ 32 Σ 23 Σ 33 Σ 43 x = y Σ 44 Σ 45 Σ 03 We know that x = y has occurred, but it may not be detected if tested before Σ 32 or after Σ 54 Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

Definitely Σ 41 Σ 63 Σ 31 Σ 42 53 Σ Σ 64 Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Σ 21 Σ 12 Σ 22 Σ 13 Σ 32 Σ 23 Σ 33 Σ 43 x = y Σ 44 Σ 45 Σ 54 Σ 65 Σ 55 Σ 03 We know that x = y has occurred, but it may not be detected if tested before Σ 32 or after Σ 54 Definitely( Φ) For every consistent observation O of the computation, there exists a global state of O in which Φ holds

Computing Possibly Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Scan lattice, level after level If Φ holds in one global state, then Possibly( Φ) Σ 41 Σ 31 Σ 42 53 Σ Σ 21 Σ 12 Σ 22 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 13 Σ 03 Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

Computing Possibly Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Scan lattice, level after level If Φ holds in one global state, then Possibly( Φ) Σ 41 Σ 31 Σ 42 53 Σ Σ 21 Σ 12 Σ 22 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 13 Σ 03 Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

Computing Possibly Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Scan lattice, level after level If Φ holds in one global state, then Possibly( Φ) Σ 41 Σ 31 Σ 42 53 Σ Σ 21 Σ 12 Σ 22 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 13 Σ 03 Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

Computing Possibly Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Scan lattice, level after level If Φ holds in one global state, then Possibly( Φ) Σ 41 Σ 31 Σ 42 53 Σ Σ 21 Σ 12 Σ 22 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 13 Σ 03 Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

Computing Possibly Scan lattice, level after level If Φ holds in one global state, then Possibly( Φ) Σ 41 Σ 63 Σ 31 Σ 42 53 Σ Σ 64 Σ 00 Σ 10 Σ 01 Σ 21 Σ 32 Σ 11 Σ 02 Σ 22 Σ 43 Σ 33 Σ 54 Σ 65 Σ 12 Σ 23 Σ 44 Σ 45 Σ 55 Possibly (x = y 2) Σ 13 Σ 03

Computing Definitely Scan lattice, level after level Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Σ 41 Σ 31 Σ 42 53 Σ Σ 21 Σ 12 Σ 22 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 13 Σ 03 Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

Computing Definitely Scan lattice, level after level Given a level, only expand nodes that correspond to states for which Φ Σ 41 Σ 31 Σ 42 53 Σ Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Σ 21 Σ 12 Σ 22 Σ 13 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 03 Σ 63 Σ 64 Σ 54 Σ 55 Σ 65

Computing Definitely Scan lattice, level after level Given a level, only expand nodes that correspond to states for which Φ If no such state, then Definitely( Φ) Σ l If reached last state, and Φ(Σ l ), then Definitely( Φ) Σ 41 Σ 63 Σ 31 Σ 42 53 Σ Σ 64 Σ 00 Σ 10 Σ 01 Σ 11 Σ 02 Σ 21 Σ 12 Σ 22 Σ 13 Σ 32 Σ 23 Σ 33 Σ 43 Σ 44 Σ 45 Σ 54 Σ 65 Σ 55 Σ 03

Computing Definitely Scan lattice, level after level Given a level, only expand nodes that correspond to states for which Φ If no such state, then Definitely( Φ) Σ l If reached last state, and Φ(Σ l ), then Definitely( Φ) Σ 41 Σ 31 Σ 00 Σ 10 Σ 01 Σ 21 Σ 32 Σ 42 Σ 33 Σ 11 Σ 02 Σ 12 Σ 22 Σ 03 Σ 13 Σ 23 Definitely (x = y)

Building the lattice: collecting local states To build the global states in the lattice, collects local states from each process. p 0 p 0 keeps the set of local states received from in a FIFO queue p i Key questions: 1. when is it safe for to discard a local state of? σ k i p i p 0 Q i 2. Given level i of the lattice, how does one build level i + 1?

. can Garbage-collecting local states For each local state σ k i, we need to determine: Σ min (σi k )), the earliest consistent state that can belong to σ k i Σ max (σi k )), the latest consistent state that belong to σ k i

Defining earliest and latest Consistent Global State

Defining earliest and latest Consistent Global State Consistent Cut

Defining earliest and latest Consistent Global State Consistent Cut Frontier

Defining earliest and latest Consistent Global State Consistent Cut Frontier Vector Clock

Defining earliest and latest Consistent Global State Consistent Cut Frontier Vector Clock Associate a vector clock with each consistent global state Σ min (σi k )) is the consistent global state with the lowest vector clock that has on its frontier σ k i Σ max (σi k )) is the one with the highest

Computing Σ min [1,0,0] [2,0,0] [3,4,1] [4,4,1] [5,5,5] σ k i [1,3,1] [1,5,1] [1,6,1] [1,0,0] [1,2,0] [1,4,1] [0,0,1] [0,0,2] [1,5,3] [4,5,4] [4,5,5] Label σi k with VC(e k i ) Σ min (σ k i ) = (σ c 1 1, σc 2 2,..., σc n n ) : j : c j = VC(σ k i )[j] Σ min (σ k i ) and σ k i have the same vector clock!

Computing Σ max [1,0,0] [2,0,0] [3,4,1] [4,4,1] [5,5,5] [1,3,1] [1,5,1] σ k i [1,6,1] [1,0,0] [1,2,0] [1,4,1] [0,0,1] [0,0,2] [1,5,3] [4,5,4] [4,5,5] Σ max (σ k i ) = (σ c 1 1, σc 2 2,... σc n n ) : j : VC(σ c j j )[i] VC(σk i )[i] ((σ c j j = σ c f j ) VC(σc j+1 j )[i] > VC(σi k )[i]))

Computing Σ max [1,0,0] [2,0,0] [3,4,1] [4,4,1] [5,5,5] [1,3,1] [1,5,1] σ k i [1,6,1] [1,0,0] [1,2,0] [1,4,1] [0,0,1] [0,0,2] [1,5,3] [4,5,4] [4,5,5] Σ max (σ k i ) = (σ c 1 1, σc 2 2,... σc n n ) : j : VC(σ c j j )[i] VC(σk i )[i] ((σ c j j set of local states one for each process, s.t. = σ c f j ) VC(σc j+1 j )[i] > VC(σi k )[i]))

Computing Σ max [1,0,0] [2,0,0] [3,4,1] [4,4,1] [5,5,5] [1,3,1] [1,5,1] σ k i [1,6,1] [1,0,0] [1,2,0] [1,4,1] [0,0,1] [0,0,2] [1,5,3] [4,5,4] [4,5,5] Σ max (σ k i ) = (σ c 1 1, σc 2 2,... σc n n ) : j : VC(σ c j j )[i] VC(σk i )[i] ((σ c j j = σ c f j ) VC(σc j+1 j )[i] > VC(σi k )[i])) set of local states one for each process, s.t. all local states are pairwise consistent with σ k i

Computing Σ max [1,0,0] [2,0,0] [3,4,1] [4,4,1] [5,5,5] [1,3,1] [1,5,1] σ k i [1,6,1] [1,0,0] [1,2,0] [1,4,1] [0,0,1] [0,0,2] [1,5,3] [4,5,4] [4,5,5] Σ max (σ k i ) = (σ c 1 1, σc 2 2,... σc n n ) : j : VC(σ c j j )[i] VC(σk i )[i] ((σ c j j = σ c f j ) VC(σc j+1 j )[i] > VC(σi k )[i])) set of local states one for each process, s.t. all local states are pairwise consistent with σ k i and they are the last such state

Assembling the levels To build level l wait until each Q i contains a local state for whose vector clock: n i=1 VC[i] l To build level l + 1 For each global state i1,i 2,...,i n on level l, build i1 +1,i 2,...,i n, i 1,i 2 +1,...,i n,..., i 1,i 2,...,i n +1 Using VC s, check whether these global states are consistent