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. (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 Discrete

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…