msr 3 0
play

MSR 3.0: The Logical Meeting Point of Multiset Rewriting and - PowerPoint PPT Presentation

MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC http://theory.stanford.edu/~iliano FMSE Workshop @ CCS03 October 30, 2003


  1. MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC http://theory.stanford.edu/~iliano FMSE Workshop @ CCS’03 October 30, 2003

  2. History of MSR Not MicroSoft Research MSR 1 • [CSFW’99]  To formalize security protocols specification  First-order multiset rewriting with ∃ Undecidability of security protocol verification  Comparison with Strand Spaces  Creak! MSR 2 • [MMM’01]  Add typing infrastructure, liberalize syntax Specification of Kerberos V  Completeness of Dolev-Yao attacker  Subsorting view of type-flaw attacks  Implementation (undergoing)  Comparison with Process Algebra Hmm!  MSR 3.0 1

  3. MSR 3 From multisets to ω -multisets •  Embeds multiset rewriting MSR 1, 2  Paulson’s inductive traces  Tool-specific languages  – NRL Protocol Analyzer – Mur φ , …  Encompasses Process Algebra Strand spaces  Crypto-SPA  Spi-calculus   Founded on logic MSR 3.0 2

  4. … MSR 4 ? Give me 2 more years :-) • MSR 3 is so general that it won’t be • needed … but I thought that of MSR 2 … • Still lots of work on MSR 3 • MSR 3.0 3

  5. Rest of this Talk ω -multisets •  Logical foundations  Relation to multiset rewriting  Relation to process algebra MSR 3 •  Typing  Example  State-based vs. process based representation MSR 3.0 4

  6. ω -Multisets Instant recipe 1. Take multiset rewriting 2. Fold it onto itself 3. Realize it is linear logic 4. Add more linear logic 5. Let simmer till your next presentation Specification language for concurrent systems ω -multiset • - logic Crossroad of • - rewriting - processes State transition languages  MSR 3 Petri nets, multiset rewriting, …  Process calculi  CCS, π -calculus, …  (Linear) logic  MSR 3.0 5

  7. Syntax ::= a atomic object ω | 1 empty | formation ω ⊗ ω | rewrite ω ⎯ο ω | T no-op ω -multiset | & ω choice - logic ω - rewriting | ∀ x. ω instantiation - processes MSR 3 | ∃ x. ω generation | ! ω replication MSR 3.0 6

  8. Semantics: Running State ; p ; s Σ Signature Linear part Reusable part Constructor: “,”  Empty: “ • ”  ω -multiset is a list - logic • Σ - rewriting p and s are commutative monoids - processes • MSR 3 In s, we identify •  , with ⊗ with 1  • MSR 3.0 7

  9. Target State ; s Σ Identified with ∃ x 1 . … ∃ x n . s •  For Σ = x 1 , …, x n Mobility laws •  ∃ x. ∃ y. s = ∃ y. ∃ x. s ω -multiset  ∃ x. = • - logic • - rewriting  ∃ x. (s, s’) = s, ∃ x. s’ if x ∉ FV(s) - processes MSR 3 In s, we still identify •  , with ⊗ and • with 1 MSR 3.0 8

  10. Judgments Base step • ; p ; s  Σ ’ ; p’ ; s’ Σ Finite iteration • ; p ; s  * Σ ’ ; s’ Σ  Reflexive and transitive closure of  ω -multiset - logic - rewriting Infinite iteration - processes • MSR 3 ; p ; s  * Σ  Limit of _  *_ MSR 3.0 9

  11. ω -Multisets: Semantics 1 ; p ; (s, 1) ; p ; s  Σ Σ ; p ; (s, a ⊗ b) ; p ; (s, a, b)  ⊗ Σ Σ ; p ; (s, s’, a ⎯ο b) ; p ; (s, b)  ⎯ο Σ Σ if Σ ; p ; s’  * Σ ; a T (no rule) ω -multiset - logic & ; p ; (s, a 1 & a 2 ) ; p ; (s, a i )  Σ Σ - rewriting - processes ; p ; (s, ∀ x. a) ; p ; (s, [t/x] a )  MSR 3 ∀ Σ Σ if Σ |- t ; p ; (s, ∃ x. a) ( Σ , x) ; p ; (s, a)  ∃ Σ MSR 3.0 10

  12. ω -Multisets: Semantics (cont’d) ! ; p ; (s, !a) ; (p, a) ; s  Σ Σ ; (p, a) ; s ; (p, a) ; (s, a)  Σ Σ Σ ; p ; s, s’ Σ ; p ; a, s if Σ ; p ; s’ Σ ; a  *  Σ ; p ; s Σ ; p, a ; s if Σ ; p ; Σ ; a  *  • ω -multiset - logic - rewriting - processes Σ ; p ; s  * Σ ; s MSR 3 Σ ; p ; s  * Σ ’’ ; s’’ if Σ ; p ; s  Σ ’ ; p’ ; s’ and Σ ’ ; p’ ; s’ Σ ’’ ; s’’  * MSR 3.0 11

  13. Logical Foundations is exactly   Left rules of linear logic + Cut rules  * is  Axiom rule + Transitive closure of  Which linear logic? ω -multiset • - logic - rewriting  Pfenning’s LV / Barber’s DILL - processes  Judgment: MSR 3 ; Δ --> Σ C Γ MSR 3.0 12

  14. A Few Examples Σ ; p; (s, s’, a ⎯ο b) Σ ; p; (s, b)  Γ ; Δ ’ --> Σ A Γ ; Δ , B --> Σ C if Σ ; p; s’  * Σ ; a Γ ; Δ , Δ ’ , A ⎯ο B --> Σ C Σ ; p; (s, ∀ x. a)  Σ ; p; (s, [t/x] a ) |- t Γ ; Δ , [t/x]A --> Σ C Σ if Σ |- t Γ ; Δ , ∀ x.A --> Σ C Γ ; Δ , A --> Σ ,x C Σ ; p; (s, ∃ x. a) ( Σ , x); p; (s, a)  ω -multiset Γ ; Δ , ∃ x.A --> Σ C - logic - rewriting Γ , A; Δ --> Σ C Σ ; p; (s, !a)  Σ ; (p, a); s - processes Γ ; Δ , !A --> Σ C MSR 3 Σ ; p; s, s’ Σ ; p; a, s Γ ; Δ ’ --> Σ A Γ ; Δ, A --> Σ C  if Σ ; p; s’ Σ ; a  * Γ ; Δ , Δ ’ --> Σ C MSR 3.0 13

  15. ω -Multiset View of Derivations  * Γ ’’’; C --> Σ ’’’ C Γ ’’; Δ ’’ --> Σ ’’ C Step up: Γ ’; Δ ’ --> Σ ’ C  •  Left rules  ω -multiset - logic - rewriting Step across:  * • - processes Axiom MSR 3  Γ ; Δ --> Σ C Right rules not • used MSR 3.0 14

  16. Formal Correspondence Soundness • If ; p ; s  * Σ ; s’ Σ then p ; s --> Σ ⊗ s’ Notes •  Monoidal laws of ⊗ are congruence modulo --> ω -multiset  Mobility laws of ∃ are equivalence modulo --> - logic - rewriting - processes Completeness? • MSR 3  No! We have only crippled right rules ; • ; a ⎯ο b, b ⎯ο c  * • ; a ⎯ο c • MSR 3.0 15

  17. Notes on  * With cut, rule for ⎯ο can be simplified to • Σ ; p; (s, a, a ⎯ο b) Σ ; p; (s, b)  (without minor premise) Cut elimination seems to hold •  Turn subderivation into prefix ω -multiset  But … - logic Careful with extra signature symbols - rewriting  - processes Careful with extra persistent objects  MSR 3  Trivial without ! nor ∃ No rule for  needs a premise • does not depend on  *  MSR 3.0 16

  18. Other Connectives ? Possibly, but need more work • Looked into •  ⊕ , 0, ℘ , ⊥  Odd rewrite properties Not yet explored ω -multiset • - logic - rewriting  ?, (_) ⊥ - processes MSR 3 Beyond linear logic? • MSR 3.0 17

  19. Type Theoretic Side Very close to CLF • Concurrent Logical Framework  Linear type theory with Dependent function types: Π (LF)  Asynchronous connectives: ⎯ο , &, T (LLF)  Synchronous connectives: ⊗ , 1, !, ∃  Monadic sandboxing  ω -multiset Concurrency equations - logic  - rewriting  Faithful encoding of true concurrency - processes Petri nets, MSR 2 specs, π -calculus, concurrent ML MSR 3  Details of relation still unclear • MSR 3.0 18

  20. Multiset Rewriting Multiset: set with repetitions allowed • a ::= • | a, a  Commutative monoid Multiset rewriting (a.k.a. Petri nets) •  Rewriting within the monoid ω -multiset  Fundamental model of distributed computing - logic Competitor: Process Algebras - rewriting  - processes  Basis for security protocol spec. languages MSR 3 MSR family  … several others   Many extensions, more or less ad hoc MSR 3.0 19

  21. First-Order Multiset Rewriting a.k.a. MSR 1.0 Multiset elements are F0 atomic formulas • Rules have the form • ∀ x 1 …x n . a( x ) ∃ y 1 …y k . b( x , y ) → Semantics • ω -multiset Σ ; a( t ), s Σ , y ; b( t , y ), s  R, (a( x ) → ∃ y . b( x , y )) - logic - rewriting if Σ |- t - processes MSR 3 Several encodings into linear logic •  [Martí-Oliet, Meseguer, 91] MSR 3.0 20

  22. ω -Multisets vs. Multiset Rewriting MSR 1 is an instance of ω -multisets • Uses only ⊗ , 1, ∀ , ∃ , and ⎯ο  never nested, always persistent  ⎯ο  If Σ ; s Σ ’ ; s’  R then Σ ; R ; s  * Σ ’ ; s’ ω -multiset Interpretation of MSR as linear logic • - logic - rewriting  Logical explanation of multiset rewriting - processes MSR 3 MSR is logic   Guideline to design rewrite systems MSR 3.0 21

  23. Compiling ω -Multisets to MSR 1 Introduce intermediate tokens •  Examples a & b => (u → a), (u -> b) ; u  !a => (u → u, a) ; u  ∃ x. a => (u → ∃ x. a) ; u  ∀ x. b => ∀ x. (u → b) ; u  ω -multiset a ⎯ο (b ⎯ο c) => (a,u → v), (b,v → c) ; u  - logic … - rewriting  - processes MSR 3 Must keep track of variables •  Somewhat tricky (and tedious) MSR 3.0 22

Recommend


More recommend