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
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
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
… 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
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
ω -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
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
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
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
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
ω -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
ω -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
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
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
ω -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
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
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
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
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
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
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
ω -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
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