Usage of Usage Model Editor

The usage model editor allows specifying the interaction of users with the system. In order to do that, it is necessary to have a system specified via the assembly editor.

Usage model describing the interaction of a flight planner with the system by doing one call to the system.

Fig. 14 Simple usage model diagram

Contents of Editor

The editor contains multiple usage scenarios. A usage scenario describes the interaction of a certain type of users with the system. The scenario contains a behavior description. The description consists of a sequence of activies. The most important activities are calls to the system.

Specification of Characteristics for Usage Scenarios

Usage scenarios can have characteristics assigned. To assign characteristics, a data dictionary has to exist and contain characteristic types. This is essentially because the characteristics are typed by the characteristic types in the data dictionary.

Tool located in palette to create a characteristic

Fig. 15 Tool for creating a characteristic

Dialog asking to select a characteristic type

Fig. 16 Selection dialog for characteristic type

In order to create a characteristic, you have to select the corresponding tool shown in Fig. 10 and click into a usage scenario. This will open the dialog shown in Fig. 11 that asks for a characteristic type. Select the characteristic type, for which you would like to select values later. After you selected a type, press OK.

Properties view that allows to select values for a characteristic via the semantic tab

Fig. 17 Value selection for characteristics

A green rectangle will be added to the resource container as shown in Fig. 17. Initially, there are no values selected. You can change this by using the semantic tab of the properties view. Click into the cell in the Value column next to the Values property and press the button. In the opened dialog, you can select the values to be applied by double-clicking on them or selecting them and pressing Add. You can remove them again by double-clicking them or using the Remove button. After closing the dialog by pressing OK, the new values are visualized in the green rectangle.

Specification of Entry Level System Calls

Entry level system calls make calls to system services. The effect of a call on quality properties is specified by so called variable usages. A variable usage describes how a variable, which can essentially be a parameter or return value, is characterized. The variable is defined by a name shown in the top of the grey rectangles that visualize variable usages. The definition of characteristics shown below the name can refer to other characteristics, which enables the propagation of characteristics through the system.

Call actions allow to specify two types of variable usages: usages for parameters of the called service (i.e. characterizations of the sent parameters) and usages for the return value of the called service (i.e. characterizations of the received return value). To specify characteristics for a parameter, the variable usages has to have the very same name as the parameter in the signature of the called service. To specify characteristics of the return value, a variable usage with any name can be defined. However, when referring to the characteristics of the particular return value from the called service, the keyword RETURN has to be used.

We explain how to create variable usages for analyzing confidentiality on a separate page.