Logics for Petri nets with propagating failures Leandro Gomes, Alexandre Madeira and Mario Benevides 8 th IPM International Conference on Fundamentals of Software Engineering, 2 nd May 2019
Outline Background and motivations Petri nets with A -failures Dynamic logics for Petri nets with A -failures: GP ( A ) Conclusions
Outline Background and motivations Petri nets with A -failures Dynamic logics for Petri nets with A -failures: GP ( A ) Conclusions
Propositional dynamic logic (in a rush) Signatures Are pairs ( Prop , Π) where Prop and Π are disjoint sets of propositions , and atomic programs
Propositional dynamic logic (in a rush) Signatures Are pairs ( Prop , Π) where Prop and Π are disjoint sets of propositions , and atomic programs Sentences ϕ ::= p | � π � ϕ | [ π ] ϕ | ¬ ϕ | ϕ ∨ ϕ | ϕ ∧ ϕ π ::= π 0 | π + π | π ; π | π ∗ | ? ϕ and p ∈ Prop
Propositional dynamic logic (in a rush) Signatures Are pairs ( Prop , Π) where Prop and Π are disjoint sets of propositions , and atomic programs Sentences ϕ ::= p | � π � ϕ | [ π ] ϕ | ¬ ϕ | ϕ ∨ ϕ | ϕ ∧ ϕ π ::= π 0 | π + π | π ; π | π ∗ | ? ϕ and p ∈ Prop � � Models Models are Kripke structures, i.e. tuples W , V , R W is a set V : Prop → P ( W ) is a function R = ( R π ⊆ W × W ) π ∈ Π is an Π-family of binary relations
Propositional dynamic logic (in a rush) Satisfaction M , w | = p iff w ∈ V ( p ) = ϕ ∧ ϕ ′ iff M , w | = ϕ ′ M , w | = ϕ and M , w | = ϕ ∨ ϕ ′ iff M , w | = ϕ ′ M , w | = ϕ or M , w | M , w | = ¬ ϕ iff it is false that M , w | = ϕ
Propositional dynamic logic (in a rush) Satisfaction M , w | = p iff w ∈ V ( p ) = ϕ ∧ ϕ ′ iff M , w | = ϕ ′ M , w | = ϕ and M , w | = ϕ ∨ ϕ ′ iff M , w | = ϕ ′ M , w | = ϕ or M , w | M , w | = ¬ ϕ iff it is false that M , w | = ϕ = � π � ϕ iff there is a w ′ ∈ W such that ( w , w ′ ) ∈ R a M , w | and M , w ′ | = ϕ ; = [ π ] ϕ iff for any w ′ ∈ W such that ( w , w ′ ) ∈ R a we M , w | have M , w ′ | = ϕ ;
Petri Nets - It is a tuple of the form ( P , T , w, m 0 ) where: - P represents a finite set of places ; - T represents a finite set of transitions ; - w : ( P × T ) ∪ ( T × P ) → N 0 attributes to each arc a non-negative integer, representing its multiplicity. - m 0 : P → N 0 defines an Initial Marking
Example y ℓ t 1 t 2 t 3 x m c Figure: Example of a Petri net
Proposition dynamic logic for Petri nets: Petri-PDL ⋆ (Bruno Lopes, 2014) and (Mario Benevides, 2016)
Proposition dynamic logic for Petri nets: Petri-PDL ⋆ (Bruno Lopes, 2014) and (Mario Benevides, 2016) Basic programs Π 0 ( P ) : π ::= at 1 b | abt 2 c | at 3 bc where t i is of type T i , i = 1 , 2 , 3 and a , b , c ∈ P
Proposition dynamic logic for Petri nets: Petri-PDL ⋆ (Bruno Lopes, 2014) and (Mario Benevides, 2016) Basic programs Π 0 ( P ) : π ::= at 1 b | abt 2 c | at 3 bc where t i is of type T i , i = 1 , 2 , 3 and a , b , c ∈ P Petri net Programs Π( P ) : η ::= π | π ⊙ η | η ⋆ for π ∈ Π 0 ( P )
Proposition dynamic logic for Petri nets: Petri-PDL ⋆ (Bruno Lopes, 2014) and (Mario Benevides, 2016) Basic programs Π 0 ( P ) : π ::= at 1 b | abt 2 c | at 3 bc where t i is of type T i , i = 1 , 2 , 3 and a , b , c ∈ P Petri net Programs Π( P ) : η ::= π | π ⊙ η | η ⋆ for π ∈ Π 0 ( P ) Formulas Fm Petri − PDL ⋆ ( Prop ) : ρ ::= p | ⊤ | ¬ ρ | ρ ∧ ρ | � s , η � ρ where p ∈ Prop .
Petri-PDL ⋆ dynamics – firing function f : S × Π 0 → S � s 2 | c ∈ s 2 , � if a , b ∈ s f ( s , abt 2 c ) = ǫ, if a / ∈ s or b / ∈ s y ℓ t 1 t 2 t 3 x m c
Petri-PDL ⋆ dynamics – firing function f : S × Π 0 → S � s 2 | c ∈ s 2 , � if a , b ∈ s f ( s , abt 2 c ) = ǫ, if a / ∈ s or b / ∈ s y y ℓ ℓ t 1 t 1 − → t 2 t 3 t 2 t 3 x x m c m c Figure: Dynamics for transitions of type abt 2 c
Models: � ( W , R π , M ) , V � - W is a non-empty set of states, M : W → S , R π is a binary relation over W . - V is a valuation function V : Prop → 2 W .
Models: � ( W , R π , M ) , V � - W is a non-empty set of states, M : W → S , R π is a binary relation over W . - V is a valuation function V : Prop → 2 W . Satisfaction: V : Prop → 2 W - M , w | = p iff w ∈ V ( p ); - M , w | = ⊤ always; - M , w | = ¬ ρ iff M , w �| = ρ ; = ρ ∧ ρ ′ iff M , w | = ρ ′ ; - M , w | = ρ and M , w | = � s , η � ρ if there exists w ′ ∈ W , wR η w ′ , s � M ( w ) - M , w | and M , w ′ | = ρ .
Example y ℓ t 1 t 2 t 3 x m c
Example y y ℓ ℓ t 1 t 1 → − t 2 t 3 t 2 t 3 x x m c m c
Example y y y ℓ ℓ ℓ t 1 t 1 t 1 − → → − t 2 t 3 t 2 t 3 t 2 t 3 x x x m c m c m c Figure: Execution of the program ℓ mt 2 x ; xt 3 yc in a chocolate vending machine M , ℓ m | = � ℓ mt 2 x ; xt 3 yc �⊤ = ⊤
Failures in machines After putting a coin in a vending machine, the desired chocolate gets stuck behind of the glass
Failures in machines After putting a coin in a vending machine, the desired chocolate gets stuck behind of the glass How to model these phenomena?
Outline Background and motivations Petri nets with A -failures Dynamic logics for Petri nets with A -failures: GP ( A ) Conclusions
Construction parameter Klenne Algebra Residuated Lattice Action Lattice Generic model for Generic truth computations space
Construction parameter Klenne Algebra Residuated Lattice Action Lattice Generic model for Generic truth computations space Action lattice (Pratt 90, Kozen 91) A = ( A , + , ; , 0 , 1 , ∗ , → , · ) ( A , + , ; , 0 , 1 , ∗ ) is a Kleene algebra ; → is a residue wrt ; ( A , + , . ) is a lattice wrt relation a ≤ b ≡ a + b = b
Examples: 2 - linear two-values lattice. 2 = ( {⊤ , ⊥} , ∨ , ∧ , ⊥ , ⊤ , ∗ , → , ∧ ) ∨ ⊥ ⊤ ∧ ⊥ ⊤ → ⊥ ⊤ ∗ ⊥ ⊥ ⊤ ⊥ ⊥ ⊥ ⊥ ⊤ ⊤ ⊥ ⊤ ⊤ ⊤ ⊤ ⊤ ⊥ ⊤ ⊤ ⊥ ⊤ ⊤ ⊤
Examples: W k finite Wajsberg hoops For a fixed natural k > 0 and a generator a , W k = ( W k , + , ; , 0 , 1 , ∗ , → , · ) where - W k = { a 0 , a 1 , · · · , a k } , 1 = a 0 and 0 = a k , - For any m , n ≤ k : a m + a n = a min { m , n } , a m ; a n = a min { m + n , k } , ( a m ) ∗ = a 0 , a m → a n = a max { n − m , 0 } , a m · a n = a max { m , n }
Examples: � L - the � Lukasiewicz arithmetic lattice � L = ([0 , 1] , max , ⊙ , 0 , 1 , ∗ , → , min) where x ⊙ y = max { 0 , y + x − 1 } , x → y = min { 1 , 1 − x + y } and ∗ maps each point of [0 , 1] to 1.
Petri net with A -failures � � P = P , S , Π 0 , I , M 0 P is a set of places, S ⊆ P is the set of (admissible) markings , Π 0 ⊆ Π( P ) is the set of atomic programs , I : Π 0 → A is the atomic programs reliability degree and M 0 ∈ S is the initial marking .
Dynamics of Petri nets with A -failures - firing function f I ( π ) : S × S → A π α, if a , b ∈ s and c ∈ s ′ abt 2 c ( s , s ′ ) = α → 0 , if a , b ∈ s and a , b ∈ s ′ f α 0 if a , b / ∈ s y ℓ t 1 t 2 t 3 x m c
Dynamics of Petri nets with A -failures - firing function f I ( π ) : S × S → A π α, if a , b ∈ s and c ∈ s ′ abt 2 c ( s , s ′ ) = α → 0 , if a , b ∈ s and a , b ∈ s ′ f α 0 if a , b / ∈ s y y ℓ ℓ t 1 t 1 α − → t 2 t 3 t 2 t 3 x x m c m c Figure: Dynamics of transition of type abt 2 c
Interpretation of Petri net programs The algebra of A-firing functions F = ( F , ∪ , ◦ , ∅ , χ, ∗ ) where: F is the universe of all the α -firing functions, for all α ∈ A
Interpretation of Petri net programs The algebra of A-firing functions F = ( F , ∪ , ◦ , ∅ , χ, ∗ ) where: F is the universe of all the α -firing functions, for all α ∈ A Theorem F is a Kleene Algebra Proof. See (Gomes, 2017).
Interpretation of Petri net programs The algebra of A-firing functions F = ( F , ∪ , ◦ , ∅ , χ, ∗ ) where: F is the universe of all the α -firing functions, for all α ∈ A Theorem F is a Kleene Algebra Proof. See (Gomes, 2017). A-interpretations of programs - for any atomic program π ∈ Π 0 , � π � ( s , s ′ ) = f F ( π ) ( s , s ′ ) π - � π 1 ; π 2 � ( s , s ′ ) = ( � π 1 � ◦ � π 2 � )( s , s ′ ) - � η ∗ � ( s , s ′ ) = � η � ∗ ( s , s ′ ), for � η � ∗ ( s , s ′ ) = � i ≥ 0 � η � i ( s , s ′ ) where � η � 0 ( s , s ′ ) = χ ( s , s ′ ) and � η � i ◦ � η � for any i ≥ 0, � η � i +1 ( s , s ′ ) = ( s , s ′ ) � �
Outline Background and motivations Petri nets with A -failures Dynamic logics for Petri nets with A -failures: GP ( A ) Conclusions
PDL for Petri Nets with A -failures – GP ( A ) The method is based on the one introduced in [Madeira, 2016].
Recommend
More recommend