Modeling Languages

The MoMuT family of test case generation tools supports the following modeling languages:

  1. UML State Machines
  2. Timed Automata
  3. Requirement Interfaces
  4. Action Systems
  5. Event-B
  6. (Other Domain Specific Languages)

The following table sums up the main differences between these languages.

Modeling Language Graphical/Textual Model Synchronous/Asynchronous Event/State-based Testing Time
UML Graphical Async. Events Discrete
Timed Automata Graphical Async. Events Real-Time
Requirement Interfaces Textual Sync. State Discrete
Action Systems Textual Async. Events


Event-B Textual Async Events


Unified Modelling Language – UML

MoMuT::UML (pronounced as “MoMuT for UML”) is responsible for creating test cases from UML statecharts. The supported set of UML state machine language elements is quite complete as MoMuT::UML supports orthogonal regions, nesting, time triggers, change triggers, signal triggers, call triggers, completion triggers, choices, junctions, and OSLC expressions. MoMuT::UML uses AGSL as a simple action language.  The few limitations concern state-machine inheritance,  late-binding, and overloading of methods. The tool has been used with models in excess of 2800 live statecharts. More…

Timed Automata

MoMuT::TA supports test case generation for systems having real-time requirements and uses the excellent UPPAAL tool as model editor. More…

Requirement Interfaces

MoMuT::REQS is the tool of choice when it comes to test case generation from written requirements. In difference to UML, the REQS tool is text-based and supports an easy to learn language for expressing individual requirements as a set of assume-guarantee (“if-then”) pairs. All these pairs taken together form the synchronous model of the system. MoMuT::REQS allows for consistency checks and very sophisticated test-requirement mapping. Typical models are in excess of 500 requirements. More…

 Action Systems

MoMuT::OOAS is the MoMuT version for text-based modeling of asynchronous systems. It also forms the basis of MoMuT::UML as each UML model is turned into an object oriented action system for test-case generation.  Hence MoMuT::UML can be seen as a front-end to MoMuT::OOAS. The syntax of the action system language was – in parts – inspired by VDM and supports types like tuples, lists, enums, bools, integers, and action systems (“classes”). A custom scheduler for all active action system instances can be specified. MoMuT::OOAS has been used with object oriented action systems in excess of 25000 statements and more than 2800 parallel running instances. More…


Event-B is a formal method for system-level modelling and analysis. Key features of Event-B are the use of set theory as a modelling notation, the use of refinement to represent systems at different abstraction levels and the use of mathematical proof to verify consistency between refinement levels. More…