90 likes | 190 Views
Real-Time Systems Development by the Formal approach Final Assignment, 2004/5 Part A. Submission of this assignment will be taken as fulfillment of Part A in the final assignment of This course. It amounts to 40% of the final grade. Problem Definition.
E N D
Real-Time Systems Development by the Formal approach Final Assignment, 2004/5 Part A Submission of this assignment will be taken as fulfillment of Part A in the final assignment of This course. It amounts to 40% of the final grade
Problem Definition Recall the decision algorithm of LTL satisfiability showed in class. Given an LTL formula we constructed CL() - the closure of , see Slide 7 – and derived all the possible Atoms in CL() - see Slide 8. Then the next relation between Atoms has been defined (see Slide 8) and the graph of Atoms connected by the next relation has been constructed, call it G(). Then, we proved that has a model iff G() spans an Hantika sequence D0,D1,… (see Slide 9) s.t. D0 . In the alternative – on the fly – algorithm (see Slides 3,4) we constructed a graph of States by , resolution rules (see Slides 5,6) call this graph GS(). Prove: • Every State in GS() is an Atom • If State A is connected to State B in GS() then they satisfy the relation next(A,B) • G() spans an Hantika sequence s.t. D0 iff GS() spans an Hantika sequence s.t. D0 (alternatively you may prove directly that is satisfiable iff GS() spans an Hantika sequence s.t. D0)
Practical Graph Construction Step 1: Raw graph construction 1. Start with a root node that consists of: {, tt, Ott}. 2. Use , rules as long as possible. 3. Close nodes that contain formulae of the form: p,p. 4. Close all nodes which all of their off-springs are closed. 5. For every open leaf that contains “next” formulae: Op1,…,Opn (and may be other formulae) define a sub-node that consists of tt,Ott, p1,…,pn. If such node already exists in the graph connect the worked out node to that node, otherwise construct a new node. 6. Return to 2.
Step 2: States Graph Construction Let: - Boolean node - one that is generated by or rules. - Pre-state node - one that is developed by the O-rule. - Terminal node - one that is fully developed. Reduction of a tableau to a states graph: • define every pre-state and terminal nodes as states. • connect state A to state B iff there is a path of Boolean nodes leading from A to B. • connect every terminal-state to a new node {tt, Ott } thus connected to itself.
B* formulae Extended typeclassification
Closure of a Temporal Formula (Fisher-Ladner) CL() - the minimal set of formulae that satisfy: • , true, O(true)CL() • gCL() gCL() • gCL() c1c CL() where c1,c2 are the or components of g • Og CL() gCL()
Atom A set DCL(f) of down closed justifications: • true, O(true) D • g D g D • g CL(f) an -type, g D C1(g)C2(g) D • g CL(f) a -type g D C1(g)D or C2(g)D NEXT relation over atoms: X(D1,D2) gD2 for every O(g)D1
Hantika Sequence A sequence of atoms: D0, D1, … such that: • For every i=0,1,… X(Di,Di+1) • If Di is B* then ji s. t. b1*()Dj where: - B* = {p, p, pUq } - b1*(p)=p, b1*(p)=p, b1*(pUq)=q