An use case model, containing several use cases and actors. The name of the actor in a useCase is a key. Every actor in a basic path action must be an actor in the use case. Every actor in an alternative path action must be an actor in the use case. The name of the subject described by this use case model. The actors name are keys. Every actor must be in the list of actors participating in the use case model. A use case. The description of the use case. The actors involved in this use case. The precondition that must be true to execute the use case. The postcondition that must be true after the use case execution. The use case's basic flow. The name of the use case. Alternative flow in the use case. A alternative flow can extend another alternative flow. The number of the step extended. The condition to execute the alternative path. An actor for the use case model. It has only a name. The name of the actor. A step type can be a if, while or a single action. Represents a single action executed by an agent involved in the use case. The number of the action, denoting its sequence in the path (although it is normally used to indicate the steps order, the most important use in the model is to be a reference. The name of the actor. If not described, the actor is the subject. Step's number must be unique in the flow of events. Represents a list of steps that can be optionally executed, depending on the evaluation of its conditions. The condition to execute the steps. Represents a loop for a list of steps. The loop is executed while its condition holds true. The condition that must be satisfied to execute the loop. A Flow of events can have an alternative flow. Represents a step number. It can be anything in "[digit.(letter in small caps | digit)*]". As an example: "1.a.1", "2.1", "7.10.a.1.a".