A Practical Introduction to Games, Infinity and the Edinburgh Concurrency Workbench

ion The Edinburgh Concurrency Workbench Abstraction Games  A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 23 Abstraction Observation Any interesting question (bisimulation, model-checking,...) on any reasonable language of value passing processes (e.g., including integers that can be incremented and a test for zero) is undecidable. :-(ion Observation Any interesting question (bisimulation, model-checking,...) on any reasonable language of value passing processes (e.g., including integers that can be incremented and a test for zero) is undecidable.  A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 24 Abstraction Observationion Observation Any interesting question (bisimulation, model-checking,...) on any reasonable language of value passing processes (e.g., including integers that can be incremented and a test for zero) is undecidable.  A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 25 Abstraction Observationion Observation Any interesting question (bisimulation, model-checking,...) on any reasonable language of value passing processes (e.g., including integers that can be incremented and a test for zero) is undecidable.  A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 26 Abstraction Observationion Observation Any interesting question (bisimulation, model-checking,...) on any reasonable language of value passing processes (e.g., including integers that can be incremented and a test for zero) is undecidable.  A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 27 Abstraction Observationion Observation Any interesting question (bisimulation, model-checking,...) on any reasonable language of value passing processes (e.g., including integers that can be incremented and a test for zero) is undecidable.  A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 28 Abstraction Need for abstractionion Need for abstraction Often it’s clear that although a process is technically infinite state, that doesn’t actually matter. E.g., data independent processes, like agent Buff = in(x:int).’out(x).Buff; Or cases where it’s obvious that a finite quotient will do: e.g., an integer is used, but only odd/even matters. Remarkably hard to formalise this, though – partly because it’s often questions, not processes, which are “easy”. Perdita Stevens: A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 29 Abstraction Little Red Workbench and the Undecidability Wolf Who cares about decidability, anyway?ion Little Red Workbench and the Undecidability Wolf Who cares about decidability, anyway? Perdita Stevens: A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 30 Abstraction Little Red Workbench and the Undecidability Wolfion Little Red Workbench and the Undecidability Wolf Who cares about decidability, anyway? Perdita Stevens: A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 31 Abstraction To summariseion To summarise I we need abstractions I often, it’s intuitively clear which abstraction I no hope of defining languages that express only decidable problems I but that’s OK So where can we get good abstractions? Perdita Stevens: A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 32 Abstraction Abstraction: manual or automaticion Abstraction: manual or automatic Until recently user had to define an abstraction manually. Lately a lot of work has been done on automatic abstraction techniques. CWB uses one such, generating an abstraction based on the question being answered (not just one process). This is one of the roles of games. Perdita Stevens: A practical introduction to games, infinity and the Edinburgh Concurrency Workbench, 33