a boolean algebra of contracts for assume guarantee
play

A Boolean algebra of contracts for assume-guarantee reasoning Yann - PowerPoint PPT Presentation

Introduction A Model for Contracts Use Case Conclusion Further work A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche with Jean-Pierre Talpin Paul Le Guernic Thierry Gautier 1 INRIA, Resarch Unit of


  1. Introduction A Model for Contracts Use Case Conclusion Further work A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche with Jean-Pierre Talpin Paul Le Guernic Thierry Gautier 1 INRIA, Resarch Unit of Rennes-Bretagne-Atlantique, Rennes, France Team ESPRESSO December 1, 2008 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  2. Introduction A Model for Contracts Use Case Conclusion Further work Introduction 1 Context Motivations Goals A Model for Contracts 2 Process Process-filter Contract Use Case 3 Conclusion 4 Further work 5 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  3. Introduction A Model for Contracts Use Case Conclusion Further work Introduction 1 Context Motivations Goals A Model for Contracts 2 Process Process-filter Contract Use Case 3 Conclusion 4 Further work 5 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  4. Introduction A Model for Contracts Use Case Conclusion Further work Introduction 1 Context Motivations Goals A Model for Contracts 2 Process Process-filter Contract Use Case 3 Conclusion 4 Further work 5 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  5. Introduction A Model for Contracts Use Case Conclusion Further work Introduction 1 Context Motivations Goals A Model for Contracts 2 Process Process-filter Contract Use Case 3 Conclusion 4 Further work 5 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  6. Introduction A Model for Contracts Use Case Conclusion Further work Introduction 1 Context Motivations Goals A Model for Contracts 2 Process Process-filter Contract Use Case 3 Conclusion 4 Further work 5 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  7. Introduction A Model for Contracts Use Case Conclusion Further work Introduction 1 Context Motivations Goals A Model for Contracts 2 Process Process-filter Contract Use Case 3 Conclusion 4 Further work 5 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  8. Introduction A Model for Contracts Use Case Conclusion Further work Context Polychyrony Tool used for embedded 1 systems design Developed by the team 2 ESPRESSO 3 Design of concurrent systems architecture exploration simulation and checking A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  9. Introduction A Model for Contracts Use Case Conclusion Further work Context S IGNAL hypothesies: Abstraction of the real time 1 Communications and calculus 2 are instantaneous The set of tags is equipped 3 with a partial order relation Abstract the components by their interface Abstract description of distributed architectures A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  10. Introduction A Model for Contracts Use Case Conclusion Further work Motivations Use a formal concept for integrating a system in Polychrony for: Testing the compatibility between the implementation of a 1 component and its interface Checking the substituability between two components in a 2 system Checking the adequation between an application and its 3 environment execution Finding the errors at all steps of the system design 4 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  11. Introduction A Model for Contracts Use Case Conclusion Further work Motivations Use a formal concept for integrating a system in Polychrony for: Testing the compatibility between the implementation of a 1 component and its interface Checking the substituability between two components in a 2 system Checking the adequation between an application and its 3 environment execution Finding the errors at all steps of the system design 4 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  12. Introduction A Model for Contracts Use Case Conclusion Further work Motivations Use a formal concept for integrating a system in Polychrony for: Testing the compatibility between the implementation of a 1 component and its interface Checking the substituability between two components in a 2 system Checking the adequation between an application and its 3 environment execution Finding the errors at all steps of the system design 4 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  13. Introduction A Model for Contracts Use Case Conclusion Further work Motivations Use a formal concept for integrating a system in Polychrony for: Testing the compatibility between the implementation of a 1 component and its interface Checking the substituability between two components in a 2 system Checking the adequation between an application and its 3 environment execution Finding the errors at all steps of the system design 4 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  14. Introduction A Model for Contracts Use Case Conclusion Further work Goals Use the concept of assume/guarantee for designing the 1 S IGNAL processes Extend the S IGNAL language for operating with type 2 system based on the assume/guarantee reasoning A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  15. Introduction A Model for Contracts Use Case Conclusion Further work Goals Use the concept of assume/guarantee for designing the 1 S IGNAL processes Extend the S IGNAL language for operating with type 2 system based on the assume/guarantee reasoning A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  16. Introduction A Model for Contracts Use Case Conclusion Further work Introduction 1 Context Motivations Goals A Model for Contracts 2 Process Process-filter Contract Use Case 3 Conclusion 4 Further work 5 A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  17. Introduction A Model for Contracts Use Case Conclusion Further work Processes Definition: Behavior V be an infinite, countable set of variables, D a set of values; for Y , a finite set of variables included in V , Y nonempty, a Y -behavior is a function c : Y → D ; the set of Y -behaviors is B Y . B Y = ∆ Y → D , B ∅ = ∆ ∅ (1) A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  18. Introduction A Model for Contracts Use Case Conclusion Further work Processes Definition: Behavior restriction c | X = ∆ { ( x , c ( x )) / x ∈ X } (2) A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  19. Introduction A Model for Contracts Use Case Conclusion Further work Processes Definition: Process For X , a finite set of variables ( X ⊂ V ), a X -process p is a nonempty set of X -behaviors; P X is the set of X -processes; (3) A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  20. Introduction A Model for Contracts Use Case Conclusion Further work Processes Definition: Process For X , a finite set of variables ( X ⊂ V ), a X -process p is a nonempty set of X -behaviors; P X is the set of X -processes; Ω = ∆ {∅} , ✵ = ∆ ∅ (3) A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  21. Introduction A Model for Contracts Use Case Conclusion Further work Processes Definition: Process complement For X , a finite set of variables ( X ⊂ V ), the complement � p of a process p ∈ P X is defined by: p ∈ P X = p = ∆ ( B X \ p ) = { b ∈ B X / b �∈ p } ⇒ � (4) A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  22. Introduction A Model for Contracts Use Case Conclusion Further work Example Let p a process (with var ( p ) = { x , y } , and x , y ∈ N ), defined by the set of behaviors such that x > 0 ∧ y is odd then � p is the set of behaviors such that x ≤ 0 ∨ y is even . A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  23. Introduction A Model for Contracts Use Case Conclusion Further work Processes Definition: Process restriction and extension When X , Y are finite sets of variables such that X ⊆ Y ⊂ V , Y nonempty, { c | X / c ∈ q } q | X = ∆ (5) p | Y { c ∈ B Y / c | X ∈ p } = ∆ (6) A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  24. Introduction A Model for Contracts Use Case Conclusion Further work Processes Example Example Let p a process (with var ( p ) = { x , y , z } , and Let p a process (with var ( p ) = { x , y } , and x , y , z ∈ N ), defines by the set of behaviors x , y , z ∈ N ), defines by the set of behaviors such that x > 0 ∧ y is odd ∧ z < 2 such that x > 0 ∧ y is odd then p | { x , y } is the set of behaviors such that then p | { x , y , z } is the set of behaviors such x > 0 ∧ y is odd . that x > 0 ∧ y is odd ∧ z ∈ N . A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

  25. Introduction A Model for Contracts Use Case Conclusion Further work Processes Definition: Strict processes extension For X , Y nonempty, finite sets of variables such that X ⊆ Y ⊂ V and p ∈ P X , p � q states that q is a full extension of p to Y : a variable in Y \ X may hold any legal value ; thus ⇒ (( var ( p ) ⊆ var ( q ) ) ∧ ( p | var ( q ) = q )) ( p � q ) ⇐ (7) Corollary. ( P , � ) is a poset. A Boolean algebra of contracts for assume-guarantee reasoning Yann Glouche

Recommend


More recommend