verifying distributed systems with unbounded channels
play

Verifying distributed systems with unbounded channels egis Gascon - PowerPoint PPT Presentation

Verifying distributed systems with unbounded channels egis Gascon & R Eric Madelaine INRIA Sophia Antipolis SAFA Workshop - September 23rd, 2009 egis Gascon & Verifying distributed systems with unbounded channels R Eric


  1. Verifying distributed systems with unbounded channels egis Gascon & ´ R´ Eric Madelaine INRIA Sophia Antipolis SAFA Workshop - September 23rd, 2009 egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  2. Introduction VERCORS in a nutshell Platform for specification of distributed applications. Based on the semantics features of the ProActive library. http://www-sop.inria.fr/oasis/ProActive/ Generation of intermediate finite model. Various tools can then operate on these models: static analysis, model checking, code generation. . . The aim is to integrate the platform in a development environment, used by non-specialists. egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  3. Introduction Formal verification of pNets Basically, pNets are made of LTSs synchronized by mean of transducer (synchronization vector). Verifying pNets remains to verify systems: manipulating unbounded data, having a parameterized topology, using unbounded communication queues. Numerous sources of infinity ⇔ numerous complications for formal verification. Current platform uses only finite-sate based model-checkers (through finite abstraction). We want to apply infinite state model-checking techniques. egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  4. Introduction Infinite-state system verification Well studied theory: counter systems, pushdown systems, parameterized systems, . . . Few implementations for unbounded queue systems: LASH (Boigelot et al.), TReX (Bouajjani et al.). Difficult to find a tool that fits our goals integration to VERCORS possibility of extensions egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  5. Introduction Outline Introduction 1 Systems with unbounded FIFO queues 2 Reachability and Acceleration 3 Presentation of our prototype 4 Perspectives 5 egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  6. Systems with unbounded FIFO queues Communicating finite state machines Basically a finite state machine augmented with a set of queues. · · · · · · 0 0 0 0 0 read c ?0 τ write c !0 egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  7. Systems with unbounded FIFO queues Communicating finite state machines Formally, a communicating finite state machines (CFSM) is a tuple M = ( Q , q 0 , C , Σ , A , δ ) such that Q = is a finite set of states, q 0 ∈ Q is the initial state, C is a set of communicating channels/queues, Σ is the alphabet of messages, A is a finite set of internal actions, δ ⊂ Q × (( C × { ? , ! } × Σ) ∪ A ) × Q is the transition relation. egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  8. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  9. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 − → � q 0 , q 0 , 0 , ε � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  10. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 − − − → egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  11. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 − − − → egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  12. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 − − − → � q 0 , q 0 , 0000 , ε � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  13. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 → � q 0 , q 0 , 0000 , ε � K ?0 − − − − → � q 1 , q 0 , 000 , ε � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  14. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 → � q 0 , q 0 , 0000 , ε � K ?0 − − − − → � q 1 , q 0 , 000 , ε � K ?0 − → � q 1 , q 0 , 00 , ε � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  15. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → 0 � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 → � q 0 , q 0 , 0000 , ε � K ?0 − − − − → � q 1 , q 0 , 000 , ε � K ?0 → � q 1 , q 0 , 00 , ε � L !0 − − → � q 1 , q 0 , 00 , 0 � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  16. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 → � q 0 , q 0 , 0000 , ε � K ?0 − − − − → � q 1 , q 0 , 000 , ε � K ?0 → � q 1 , q 0 , 00 , ε � L !0 → � q 1 , q 0 , 00 , 0 � L !0 − − − → � q 1 , q 1 , 00 , ε � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  17. Systems with unbounded FIFO queues Short Example Execution: Sequence respecting the transition relation. Channel K → 0 0 K ?1 K ?0 K !0 K !1 K ?0 L ?0 q 0 q 1 q 0 q 1 K ?1 L ?1 L !1 L !0 L ?1 L ?0 Channel L → � q 0 , q 0 , ε, ε � K !0 → � q 0 , q 0 , 0 , ε � K !0 → · · · K !0 → � q 0 , q 0 , 0000 , ε � K ?0 − − − − → � q 1 , q 0 , 000 , ε � K ?0 → � q 1 , q 0 , 00 , ε � L !0 → � q 1 , q 0 , 00 , 0 � L !0 − − − → � q 1 , q 1 , 00 , ε � − → · · · egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  18. Systems with unbounded FIFO queues Operational Semantics We consider unbounded FIFO queues. Consider a set of CFSM sharing a set of queues { K , L } . Configuration: � q 1 , q 2 , w K , w L � (for a pair of CFSM) Global state + Queue contents Operations: Send (non-blocking). if � q 1 , K ! a , q ′ 1 � ∈ δ 1 then K ! a → � q ′ � q 1 , q 2 , w K , w L � − 1 , q 2 , w K · a , w L � Receive (blocking). Internal Action. egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  19. Systems with unbounded FIFO queues Operational Semantics We consider unbounded FIFO queues. Consider a set of CFSM sharing a set of queues { K , L } . Configuration: � q 1 , q 2 , w K , w L � (for a pair of CFSM) Global state + Queue contents Operations: Send (non-blocking). Receive (blocking). if � q 1 , K ? a , q ′ 1 � ∈ δ 1 then K ! a → � q ′ � q 1 , q 2 , a · w K , w L � − 1 , q 2 , w K , w L � Internal Action. egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

  20. Systems with unbounded FIFO queues Operational Semantics We consider unbounded FIFO queues. Consider a set of CFSM sharing a set of queues { K , L } . Configuration: � q 1 , q 2 , w K , w L � (for a pair of CFSM) Global state + Queue contents Operations: Send (non-blocking). Receive (blocking). Internal Action. if � q 1 , τ, q ′ 1 � ∈ δ 1 with τ ∈ A then → � q ′ τ � q 1 , q 2 , w K , w L � − 1 , q 2 , w K , w L � egis Gascon & ´ Verifying distributed systems with unbounded channels R´ Eric Madelaine

Recommend


More recommend