Programming: the derivation of algorithms
Programming: the derivation of algorithms
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Program development by stepwise refinement
Communications of the ACM
UML-B: Formal modeling and design aided by UML
ACM Transactions on Software Engineering and Methodology (TOSEM)
A theory of regression testing for behaviourally compatible object types: Research Articles
Software Testing, Verification & Reliability - UKTest 2005: The Third U.K. Workshop on Software Testing Research
Invariant based programming: basic approach and teaching experiences
Formal Aspects of Computing
Verification of Sequential and Concurrent Programs
Verification of Sequential and Concurrent Programs
Language and Tool Support for Class and State Machine Refinement in UML-B
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Modeling in Event-B: System and Software Engineering
Modeling in Event-B: System and Software Engineering
Rodin: an open toolset for modelling and reasoning in Event-B
International Journal on Software Tools for Technology Transfer (STTT) - Special Section on VSTTE 2008
Applying Event-B atomicity decomposition to a multi media protocol
FMCO'09 Proceedings of the 8th international conference on Formal methods for components and objects
Structured event-b models and proofs
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Refinement-animation for event-b: towards a method of validation
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
Experiments in program verification using Event-B
Formal Aspects of Computing
Refinement of statemachines using event b semantics
B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
Hi-index | 0.00 |
State machines are hierarchical automata that are widely used to structure complex behavioural specifications. We develop two notions of refinement of state machines, node refinement and edge refinement. We compare the two notions by means of examples and argue that, by adopting simple conventions, they can be combined into one method of refinement. In the combined method, node refinement can be used to develop architectural aspects of a model and edge refinement to develop algorithmic aspects. The two notions of refinement are grounded in previous work. Event-B is used as the foundation for our refinement theory and UML-B state machine refinement influences the style of node refinement. Hence we propose a method with direct proof of state machine refinement avoiding the detour via Event-B that is needed by UML-B.