1 / 6

Recipes for State Space Reduction

Recipes for State Space Reduction. Arend Rensink, University of Twente Dutch Model Checking Day, May 2014. Example (believe it or not): Dining Philosophers. Start configuration. First grab left fork. First grab right fork. Then grab left fork. Then grab right fork. Demo.

hector
Download Presentation

Recipes for State Space Reduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recipes for State Space Reduction Arend Rensink, University of TwenteDutch Model Checking Day, May 2014

  2. Example (believe it or not): Dining Philosophers • Start configuration First grableft fork First grabright fork Then grableft fork Then grabright fork Demo Releaseboth forks Recipes for State Space Reduction

  3. Raise atomicity level: Grab both forks • Suppose we’re not interested in deadlock or starvation • E.g., study average philosopher load under assumption of liveness • Essentially, we want to change the grain of atomicity • Define transactions on top of existing transition system: • recipeleftThenRight() { grab1left; grab2right; }reciperightThenLeft() { grab1right; grab2left; } or even • recipegrabBoth() {choice { grab1left; grab2right; }or { grab1right; grab2left; }} • Intuition • Abstracted system has single (recipe-labelled) transition(only) where original system has terminating trace of recipe Demo Recipes for State Space Reduction

  4. What is this presentation about? • Transition systems can grow very large • Too expensive to generate (time/memory) • Too large to analyse • Countermeasures • State space reduction (partial order, symmetry, …) • Abstraction (collapsing similar states) • Coarse-grained atomicity (doing more in one step) • Context: graph transformation as a modelling formalism • Transformation steps reflect the dynamics of a system • GTSs analysed e.g., through model checking Recipes for State Space Reduction

  5. Recipe semantics • Example: recipe c() { a; b; } • Challenging cases: • Refusal behaviour: recipe c() { try a1;b1 else a2; b2; } • Looping behaviour: recipe c() { alap { a1;b1 } } • Exploration strategy: • Local DFS within recipe body b d a d a a a a c c c c c d b b b b b Recipes for State Space Reduction

  6. Message What are recipes good for? • State space reduction • Coarse-grained transitions • Useful when state space used for further analysis • Performance gain • Quantified rules are evaluated faster Contribution • Atomicity through composition (on top of existing LTS) • Also unbounded behaviour • Compare: action refinement • Combination with refusals (try, as-long-as-possible)   Recipes for State Space Reduction

More Related