Parameterized Programs

# Temporal Verification of Reactive Systems: Safety

• Notes
• davidvictor
• 56

This preview shows pages 1–12. Sign up to view the full content.

CS256/Winter 2007 — Lecture #09 Zohar Manna Chapter 2 Invariance: Applications 9-1

This preview has intentionally blurred sections. Sign up to view the full version.

Parameterized Programs S : : 0 : loop forever do 1 : noncritical 2 : request y 3 : critical 4 : release y P 3 : : [ local y : integer where y = 1; [ S || S || S ] ] (with some renaming of labels of the S ’s.) P 4 : : [ local y : integer where y = 1; [ S || S || S || S ] ] . . . P n : : ? 9-2
Mutual exclusion: P 3 : 0 ( ¬ ( at - 3 at - m 3 ) ∧ ¬ ( at - 3 at k 3 ) ¬ ( at - m 3 at k 3 )) P 4 : 0 ( ¬ ( . . . ) . . . ∧ ¬ ( . . . )) P n : ? We want to deal with these programs, i.e., programs with an arbitrary number of identical components , in a more uniform way. Solution: parametrization 9-3

This preview has intentionally blurred sections. Sign up to view the full version.

Syntax Compound statements of variable size cooperation: M j =1 S [ j ] : [ S [1] || . . . || S [ M ] ] Selection: M OR j =1 S [ j ] : [ S [1] or . . . or S [ M ] ] S [ j ] is a parameterized statement . In what ways can j appear in S ? explicit variable in expression . . . := j + . . . explicit subscript in array x . . . := x [ j ] + . . . or x [ j ] := . . . implicit subscript of all local variables in S [ j ] z stands for z [ j ] implicit subscript of all labels in S [ j ] 3 stands for 3 [ j ] 9-4
Example: Program par-sum (Fig. 2.1) (parallel sum of squares) M 1 z = x [1] 2 + x [2] 2 + . . . + x [ M ] 2 9-5

This preview has intentionally blurred sections. Sign up to view the full version.

Program par-sum-e (Fig. 2.2) (Explicit subscripted parameterized statements of par-sum ) We write the short version, but we reason about this one. 9-6
Parameterized transition systems The number M of processes is not fixed, so there is an unbounded number of transitions. To finitely represent these, we use parameterization of transition relations. Example: par-sum The unbounded number of transitions associated with 0 are represented by a single transition relation using parameter j : ρ 0 [ j ]: move ( 0 [ j ] , ‘ 1 [ j ]) y 0 [ j ] = x [ j ] pres ( { x, z } ) where j = 1 . . . M. 9-7

This preview has intentionally blurred sections. Sign up to view the full version.

Array Operations Arrays (explicit or implicit) are treated as variables that range over functions: [1 . . . M ] 7→ integers Representation of array operations in transition relations: Retrieval: y [ k ] to retrieve the value of the k th element of array y Modification: update ( y, k, e ) the resulting array agrees with y on all i , i 6 = k , and y [ k ] = e 9-8
Properties of update update ( y, k, e )[ k ] = e update ( y, k, e )[ j ] = y [ j ] for j 6 = k Example: par-sum The proper representation of the transition relation for 0 [ j ] is ρ 0 [ j ]: move ( 0 [ j ] , ‘ 1 [ j ]) y 0 = update ( y, j, x [ j ]) pres ( { x, z } ) 9-9

This preview has intentionally blurred sections. Sign up to view the full version.

Parameterized Programs: Specification Notation: L i = { j | i [ j ] π } ⊆ { 1 , . . . , M } The set of indices of processes that currently reside at i N i = | L i | The number of processes currently residing at i Example: L i = { 3 , 5 } means i [3] , ‘ i [5] π and we have N i = 2 Invariant: 0 ( N i 0) Abbreviations: L i 1 ,i 2 ,...,i k = L i 1 L i 2 . . . L i k L i..j = L i L i +1 . . . L j N i 1 ,i 2 ,...,i k = | L i 1 ,i 2 ,...,i k | N i..j = | L i..j | 9-10
Parameterized Programs: Specification (Con’d) Example: Program mpx-sem (Fig 2.3) M 2 (multiple mutual exclusion by semaphores) where j M 1 = ( j mod M ) + 1 = ( j + 1 if j < M 1 if j = M Elaboration for M = 2 : Program mpx-sem-2 (Fig 2.4) mutual exclusion: 0 i, j [1 ..M ] . i 6 = j . ¬ ( at - 3 [ i ] at -

This preview has intentionally blurred sections. Sign up to view the full version.

This is the end of the preview. Sign up to access the rest of the document.
• '
• NoProfessor
• Dining philosophers problem, M2 Browning machine gun

{[ snackBarMessage ]}

### What students are saying

• As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

Kiran Temple University Fox School of Business ‘17, Course Hero Intern

• I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

Dana University of Pennsylvania ‘17, Course Hero Intern

• The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

Jill Tulane University ‘16, Course Hero Intern