State-based models are valuable for a range of software development tasks. They help the developer to understand how the system works. They formally document the system behaviour. Most importantly, a range of powerful, automated model-based testing techniques can be used to rigorously test im-

plementations against their state-based specifications. Numerous automated model-based testing frameworks have been developed that are tailored to suit a range of development paradigms and domain-specific software systems such as telecoms systems [10] or network protocols [3].