We can see an example Recursive Markov Chain in the Fig. 1.
The PReMo syntax for defining RMCs is as follows: first we declare all components (procedures), using two numbers as parameters which denote the number of entries and exits; for instance in the example showed on fig. 1 B(1,2); declares ``Component has 1 entry and 2 exits''. Next, we define the components. Each component definition starts with a declaration of all the boxes contained in the component, together with the component it maps to, e.g., L2(B); declares a box named L2 that is mapped to component B. Next for all entries, internal nodes, and exits of the boxes, we specify a list of transitions available from that control state. A single transition is a probability followed by a goto, call or return instruction separated by a colon. We use goto instruction when the transition leads to an internal node of this component. An instruction call name_of_the_box(entry_number) is used when we want to call the component that is mapped to the box labeled name_of_the_box with a parameter entry_number. Finally we use return value; when we want to exit this component and return value value.
A formal grammar of the input language for RMCs is specified in 4.1.