The Model Language (TML) is a language for describing Markov chain usage models. These models are used to represent the input domain in statistical testing of software. TML is a textual language for describing models. The basic entities of a TML description are:
In addition, each of the above three items can have two kinds of attachments:
Structurally, models contain states, states contain arcs, and arcs refer to other states or models. In this way it is possible to build hierarchical models using "submodels." There is no syntactic distinction between the definition of a model and that of a submodel.
The language used for constraints in TML is not part of the TML definition. The constraint parser and data objects are "pluggable," meaning that one can easily substitute a new version of the constraint language without impacting TML. This decision was made in order to allow the constraint language to mature without impacting the TML definition.
This document describes version 1.0 (26 June 1999) of the constraint language which ships with the TML distribution.