• No results found

Exam Program Verification 2008/2009 23-09-2009, 09:00-11:00

N/A
N/A
Protected

Academic year: 2021

Share "Exam Program Verification 2008/2009 23-09-2009, 09:00-11:00"

Copied!
3
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Exam Program Verification 2008/2009

23-09-2009, 09:00-11:00

Lecturer: Wishnu Prasetya

1. [2 pt] Consider the following Promela model, consisting of 3 processes.

chan select = [0] of {bit} ; chan x1 = [0] of {byte} ; chan x2 = [0] of {byte} ; active proctype SELECT () {

bit b = 0 ; do

:: atomic { b=!b; select!b } /* Alternatingly send 0 and 1 */

od }

active proctype STREAM() {

do /* can send 0s on channel x1, and 9s on channel x2 */

:: x1!0 :: x2!9 od }

byte port ;

active proctype MUX(){

bit b ;

byte v1 ; byte v2 ; do

:: select?b ; x1?v1 ; x2?v2 ; d_step {

if /* decide the value on port based on value of b */

:: b -> port = v1 ; :: else -> port = v2 ; fi

} od }

Express the following requirements in SPIN. You are free to use whatever verification ap- proach supported by SPIN (option, assertion, LTL, etc).

(a) The system does not dead-lock.

(b) MUX will alternately put 0 and 9 in the varible port.

1

(2)

2. [2.4 pt] Consider the Kripke structure K given below. The states are numbered (0,1,2).

Each state has been labelled by the set of atomic propositions that hold in the state. The propositions are taken from the set P rop = {thinking, eating}.

0 : {thinking}

1 : ∅ 2 : {thinking, eating}

The questions:

(a) Let π be an (infinite) execution of K, and let i be a natural number. Give a formal definition of:

π, i ` φ U ψ

where φ, ψ are arbitrary LTL formulas.

(b) Give a Buchi automaton L that represents the LTL formula:

thinking U X(thinking ∧ eating) (c) Construct the Buchi automaton M = K ∩ L.

(d) So, does the following property hold? (note the negation) K ` ¬(thinking U X(thinking ∧ eating))

If you think the property holds, explain why. Explain this in terms of M and the acceptance criterion of a Buchi automaton.

If you think the property does not hold, give an (infinite) sentence of M as your counter example. Explain why this sentence is a counter example in terms of M and the acceptance criterion of a Buchi automaton.

3. [2.4 pt] Consider again the Krikpe structure K from No. 2. We will encode each state by the following boolean functions:

State Encoding

0 x y

1 xy

2 xy

where f denotes ¬f , and f g denotes f ∧ g.

(a) Give a boolean formula that encodes the automaton K.

(b) If φ is a CTL formula, let Wφ denotes the set of states of K on which φ holds. More precisely, Wφ consists of all states s of K such that K, s ` φ.

Give a boolean formula that encodes WEX(thinking∧eating).

(c) We will now calculate Z = WE(thinking U EX(thinking∧eating)), but we will do so symbol- ically (via boolean formulas). This is calculated iteratively.

Give boolean formulas that encode Z0, Z1, and Z2. (d) So, does K satisfies the specification:

E(thinking U EX(thinking ∧ eating))

? Explain your answer.

2

(3)

4. [2.1 pt] Consider this CSP processes:

P = (a → ST OP ) 2 (a → Q) Q = (b → ST OP ) u (a → P )

The alphabets of both P and Q are {a, b}.

(a) Give all failures of P whose traces are of length 1.

(b) Give a non-deterministic automaton MP that generates exactly the same set of failues as P . You need to label each state of MP with its refusals.

(c) Does the process a → b → ST OP refines P ? Explain your answer.

5. [1.1 pt] We want to write a tactic DROP that drops its first assumption. So, DROP(t::A ?− u) = A ?− u

where t::A means t in front of the list A (what you in Haskell would write t:A).

In this exercise I want you to construct this tactic explicitly. A tactic is a function of this type:

type tactic = goal→ (goal list ∗ proofF unction) type goal = term list ∗ term

type proofF unction = thm list→ thm

where A∗B denotes the type of pairs over A and B (what you in Haskell would write (A, B)).

Here is a template to write DROP; you need to complete it:

fun DROP_TAC (t::A,u) = let

fun proofFunction thms = ...

val newgoals = ...

in

(newgoals,proofFunction) end ;

To help you, you are given the following inference rule R : term → thm → thm that can weaken a theorem like this:

R t(A ` u) = A ` t ⇒ u

3

Referenties

GERELATEERDE DOCUMENTEN

De aldus door het hof vastgestelde feiten komen er, naar de kern genomen, op neer dat sinds 1999 een situatie heeft bestaan waarin Holding als houdstermaatschappij en bestuurder

De rechtbank heeft in de omstandigheid, dat de stichting zowel maatrege1en diende te nemen in het kader van de beeindiging van de bestaande subsidierelatie als per 1 januari 2008

(b) the maximum possible change in the vertical velocity of air parcels (c) the layer stability between the ground and the capping inversion (v) The equation for thermal wind

(3/20) We use an optical model (a potential) to calculate the elastic cross sec- tion, by solving the radial Schr¨odinger equation in partial waves.. How many waves do you expect

(1.5/20) Use the predicted sequence of shell model orbitals, given in the figure below, to deduce the expected transferred angular momentum l for the popula- tion of the two

Explain the following concepts (maximally 1 A4 page for all four) and indicate for which range in stellar birth mass they are relevant:.. •

(a) Estimate the radiative temperature gradient inside this star at position r/R = 0.3 assuming that the Rosseland mean opacity is well approximated by the opacity due to

(a) We want to express that when home is true, there exists a path leading to a state where page 3 is true.. How to express this