We describe a translation of a subset of executable UML (xUML) into the process algebraic specification language mCRL2. This subset includes class diagrams with class generalisations, and state machines with signal and change events. The choice of these xUML constructs is dictated by their use in the modelling of railway interlocking systems. The long-term goal is to verify safety properties of interlockings modelled in xUML using the mCRL2 and LTSmin toolsets. Initial verification of an interlocking toy example demonstrates that the safety properties of model instances depend crucially on the run-to-completion assumptions.
Additional Metadata
Keywords Software verification and validation, Specification languages, Model checking, Executable UML, Process algebra
MSC Specification and verification (program logics, model checking, etc.) (msc 68Q60), Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.) (msc 68Q85)
THEME Software (theme 1)
Publisher Springer
Journal Innovations in Systems and Software Engineering
Citation
Hansen, H.H, Ketema, J, Luttik, S.P, Mousavi, M.R, & van de Pol, J.C. (2010). Towards Model Checking Executable UML Specifications in mCRL2. Innovations in Systems and Software Engineering, 6, 83–90.