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.
Similarly, Hansen et al. REF describes a formalisation of a subset of xUML in the formal language mCRL2.
Towards model checking executable UML specifications in mCRL2
Innovations in Systems and Software Engineering
Innovations in Systems and Software Engineering
Computer Science