Extended Conscriptions Algebraically Walter Guttmann University of Canterbury 1. Assumptions 2. Conscriptions 3. Algebras
Assumption ⊢ � Commitment ( y > 1) ⊢ � (while x > 1 do x := x / y ) assumption • refers to pre-state only • condition for successful execution • execution might abort or not terminate if assumption is false commitment • relates pre- and post-state • effect of successful execution Walter Guttmann · RAMiCS · 2014-04-28 2
Relational model Q ⊢ � R state space A • Q , R : A ↔ A • Q = Q T operators • ( Q 1 ⊢ � R 1 ) + ( Q 2 ⊢ � R 2 ) = (( Q 1 ∩ Q 2 ) ⊢ � ( R 1 ∪ R 2 )) • ( Q 1 ⊢ � R 1 ) · ( Q 2 ⊢ � R 2 ) = (( Q 1 ∩ R 1 Q 2 ) ⊢ � ( R 1 R 2 )) � R ) ∗ = ( R ∗ Q ⊢ • ( Q ⊢ � R ∗ ) Walter Guttmann · RAMiCS · 2014-04-28 3
Matrix model � T Q � O ( Q ⊢ � R ) = R Q R state space A • T , O , Q , R : A ↔ A • Q = Q T operators • +, · , ∗ standard matrix operators • Q = states from which execution might abort or not terminate • R = possible successors of each state Walter Guttmann · RAMiCS · 2014-04-28 4
Further matrix models � T � T • total correctness Q ⊆ R Q = Q T Q R � T � O • general correctness Q = Q T Q R T T T P = P T P ⊆ Q • extended designs O T O P ⊆ R Q = Q T P Q R T O O P = P T O T O • Q = Q T P Q R Walter Guttmann · RAMiCS · 2014-04-28 5
Problems • generalise Q to arbitrary relation • determine properties of operators • find approximation order • unify with existing models Walter Guttmann · RAMiCS · 2014-04-28 6
Conscriptions (Dunne 2013) � I � O Q R state space A • I , O , Q , R : A ↔ A • no restriction on Q Q relates pre- and post-state • final state of aborting executions • stable state of non-terminating executions • abstraction of more detailed models Walter Guttmann · RAMiCS · 2014-04-28 7
Operators � I O � T T � I O � I O � � � I O � I O T O O T � � � I O I O O I � � I O O R � O O • R ⊆ I for tests • +, · standard matrix operators • refinement ≤ is componentwise ⊆ • approximation? Walter Guttmann · RAMiCS · 2014-04-28 8
Non-terminating executions • all non-terminating executions L � I � O L = T O • n ( x ) = set of states from which x has non-terminating executions • n ( x ) ≤ 1 • Galois connection n ( x )L ≤ y ⇔ n ( x ) ≤ n ( y ) • gives � I � � � I O O n = Q R O Q T ∩ I Walter Guttmann · RAMiCS · 2014-04-28 9
Axioms for n • bounded distributive lattice ( S , + , � , 0 , ⊤ ) • semiring ( S , + , · , 0 , 1) without x · 0 = 0 • n -algebra ( S , + , � , · , n , 0 , 1 , L , ⊤ ) n ( x ) + n ( y ) = n ( n ( x ) ⊤ + y ) n ( x ) ≤ n (L) � 1 n ( x ) n ( y ) = n ( n ( x ) y ) n ( x )L ≤ x n ( x ) n ( x + y ) = n ( x ) n (L) x ≤ x n (L) ⊤ n (L) x = ( x � L) + n (L0) x x n ( y ) ⊤ ≤ x 0 + n ( xy ) ⊤ x L = x 0 + n ( x L)L x ⊤ y � L ≤ x L y 1 • n ( S ) bounded distributive lattice • many instances of n -algebras S n (1) n ( S ) n (0) 0 Walter Guttmann · RAMiCS · 2014-04-28 10
Recursion • least fixpoint in approximation order ⊑ x ⊑ y ⇔ x ≤ y + L ∧ n (L) y ≤ x + n ( x ) ⊤ • gives � I � I � � O O ⊑ ⇔ Q 2 ⊆ Q 1 ∧ R 1 ⊆ R 2 ⊆ R 1 ∪ Q 1 T Q 1 R 1 Q 2 R 2 • ⊑ partial order with least element L • +, · , � L are ⊑ -isotone Walter Guttmann · RAMiCS · 2014-04-28 11
Recursion theorem • assume f is ≤ -, ⊑ -isotone and µ f , ν f exist • µ f / ν f / κ f is ≤ / ≥ / ⊑ -least fixpoint • ⊓ is ⊑ -meet • then equivalent • κ f exists • κ f and µ f ⊓ ν f exist and κ f = µ f ⊓ ν f • κ f exists and κ f = ( ν f � L) + µ f • n (L) ν f ≤ ( ν f � L) + µ f + n ( ν f ) ⊤ • n (L) ν f ≤ ( ν f � L) + µ f + n (( ν f � L) + µ f ) ⊤ • ( ν f � L) + µ f ⊑ ν f • µ f ⊓ ν f exists and µ f ⊓ ν f = ( ν f � L) + µ f • µ f ⊓ ν f exists and µ f ⊓ ν f ≤ ν f Walter Guttmann · RAMiCS · 2014-04-28 12
Iteration theorem • while p do w = if p then ( w ; while p do w ) else skip • f ( x ) = yx + z κ f = ( y ω � L) + y ∗ z = n ( y ω )L + y ∗ z = y ⋆ z • omega algebra ( S , + , · , ∗ , ω , 0 , 1 , ⊤ ) without x · 0 = 0 • n -omega algebra ( S , + , � , · , n , ∗ , ω , 0 , 1 , L , ⊤ ) n (L) x ω ≤ x ∗ n ( x ω ) ⊤ x L ≤ x L x L • ∗ , ω are ⊑ -isotone Walter Guttmann · RAMiCS · 2014-04-28 13
Strict models • n -algebras developed for non-strict computations • L x = L in strict models • κ f = y ◦ z • y ◦ = n ( y ω )L + y ∗ • sumstar, productstar, simulation properties ( x + y ) ◦ = ( x ◦ y ) ◦ x ◦ zx ≤ yy ◦ z + w ⇒ zx ◦ ≤ y ◦ ( z + wx ◦ ) ( xy ) ◦ = 1 + x ( yx ) ◦ y xz ≤ zy ◦ + w ⇒ x ◦ z ≤ ( z + x ◦ w ) y ◦ • models • Kleene algebra x ◦ = x ∗ • omega algebra x ◦ = x ω 0 + x ∗ • demonic refinement algebra x ◦ = x Ω Walter Guttmann · RAMiCS · 2014-04-28 14
Extended conscriptions (Dunne 2013) I O O O T O P Q R • P = aborting executions • Q = states with non-terminating executions • no restriction on P • Q = Q T • obtain n , ⊑ , ⋆ , ◦ similarly Walter Guttmann · RAMiCS · 2014-04-28 15
Further computation models I O O O I O P Q R • no restriction on P , Q • obtain n , ⊑ , ⋆ , ◦ similarly Walter Guttmann · RAMiCS · 2014-04-28 16
Conclusion • theory developed in Isabelle/HOL • approximation for new models • derive n using Galois connection • show n -algebra axioms • use approximation in n -algebras • future work • non-strict computations with general correctness • multirelations with infinite, aborting executions Walter Guttmann · RAMiCS · 2014-04-28 17
Recommend
More recommend