All Things Considered: Inspecting Statecharts by Model Transformation
Michael Breen · 2006
Inspections are a cost-effective way of finding errors. However, checklist-based inspections of statecharts can only find a limited class of flaws while scenario-based inspections can never practically traverse the vast numbers of possible combinations of states in complex models made up of multiple communicating finite state machines. A technique for systematic and comprehensive validation of such models is described, based on partitioning the overall behaviour into sets of transitions which show the system-level response in a simple and explicit way. This process is supported by a tool, Statestep, which helps the user to deal methodically and thoroughly with (for example) millions of possibilities. As an example, a subtle error is exposed in a small but non-trivial published statechart design. The technique offers the possibility of detecting any error, no matter how obscure the scenario in which it occurs