Refinement of Statecharts with Run-to-Completion Semantics
Statechart modelling notations, with so-called ‘run to completion’ semantics and simulation tools for validation, are popular with engineers for designing systems. However, they do not support formal refinement and they lack formal static verification methods and tools. For example, properties concerning the synchronisation between different parts of a system may be difficult to verify for all scenarios, and impossible to verify at an abstract level before the full details of sub-states have been added. Open image in new window , on the other hand, is based on refinement from an initial abstraction and is designed to make formal verification by automatic theorem provers feasible, restricting instantiation and testing to a validation role. In this paper, we introduce a notion of refinement, similar to that of Open image in new window , into a ‘run to completion’ Statechart modelling notation, and leverage Open image in new window ’s tool support for proof. We describe the pitfalls in translating ‘run to completion’ models into Open image in new window refinements and suggest a solution. We illustrate the approach using our prototype translation tools and show by example, how a synchronisation property between parallel Statecharts can be automatically proven at an intermediate refinement level.
KeywordsSCXML Statecharts Event-B iUML-B Refinement
The authors would like to thank Jason Michnovicz for developing the IDS example used throughout the manuscript.
- 4.Eclipse Foundation: Sirius Project Website. https://eclipse.org/sirius/overview.html. Accessed Mar 2016
- 6.Hansen, C., Syriani, E., Lucio, L.: Towards controlling refinements of statecharts. CoRR, abs/1503.07266 (2015)Google Scholar
- 8.Hoang, T.S.: An introduction to the Event-B modelling method. In: Romanovsky, A., Thomas, M. (eds.) Industrial Deployment of System Engineering Methods, pp. 211–236. Springer, Heidelberg (2013)Google Scholar
- 10.Hoang, T.S., Snook, C., Ladenberger, L., Butler, M.: Validating the requirements and design of a hemodialysis machine using iUML-B, BMotion studio, and co-simulation. In: Butler, M., Schewe, K.-D., Mashkoor, A., Biro, M. (eds.) ABZ 2016. LNCS, vol. 9675, pp. 360–375. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33600-8_31CrossRefGoogle Scholar
- 12.Maraninchi, F.: The Argos language: graphical representation of automata and description of reactive systems. In: IEEE Workshop on Visual Languages (1991)Google Scholar
- 14.Meng, S., Naixiao, Z., Barbosa, L.S.: On semantics and refinement of UML statecharts: a coalgebraic view. In: Proceedings of the Second International Conference on Software Engineering and Formal Methods, SEFM 2004, pp. 164–173, September 2004Google Scholar
- 16.Morris, K., Snook, C.: Reconciling SCXML statechart representations and Event-B lower level semantics. In: HCCV - Workshop on High-Consequence Control Verification (2016)Google Scholar
- 17.Rumbaugh, J., Jacobson, I., Booch, G.: Unified Modeling Language Reference Manual, 2nd edn. Pearson Higher Education, Upper Saddle River (2004)Google Scholar
- 18.Snook, C.: iUML-B statemachines. In: Proceedings of the Rodin Workshop 2014, Toulouse, France (2014). http://eprints.soton.ac.uk/365301/
- 21.Szasz, N., Vilanova, P.: Behavioral refinements of UML-Statecharts. Technical report RT 10–13, Universidad de la República, Montevideo, Uruguay (2010)Google Scholar
- 22.W3C: State chart XML SCXML: State machine notation for control abstraction. http://www.w3.org/TR/scxml/. Accessed Sept 2015