Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test variable characterisation of input/output parameters in Usage Model #51

Open
Entenwilli opened this issue Nov 6, 2023 · 0 comments

Comments

@Entenwilli
Copy link
Member

Entenwilli commented Nov 6, 2023

Description

The goal of the test is to verify that variable characterisations of input and output parameters of entry level system calls can be modified in the graphical editors.

The test description does not aim for a useful or even semantically valid model but just mechanically covers the editing abilities of the graphical editor.

Environment

  • Eclipse with Palladio Sirius editors (do one of the following)

    • Use PCM drop

    • Install the editors feature in your Eclipse instance

Test Case Description

  Test Step Expected Result
1 Create a new empty Palladio project and initialize it with the “Minimum Example Template”. Ensure that you are using the Palladio perspective. A new project is created containing a usage model, system model and repository model amongst others.
2 Unfold the default.usagemodel until the “UsageModel Diagram” appears. Double click on the diagram entry. The usage model diagram is shown.
3 Add a variable usage for an input parameter by selecting the “Variable Usage” tool in the toolbar and clicking in the “InputVariableUsageCompartment”. A dialog shows up asking for the name of the variable to characterise.
4 Enter the value “foo” in the dialog and confirm via the “OK” button. The dialog closes. A new variable characterisation appears in the “InputVariableUsageCompartment” that has a label “foo”.
5 Create a variable characterisation for the “foo” variable usage by selecting the “Variable Characterisation” tool in the toolbar and cliking in the “foo” variable usage. A new line “STRUCTURE=” appears in the lower compartment of the variable usage.
6 Set a value for the new characterisation by doing a slow double click on the previously added characterisation. Enter “1” and press enter. The inline StoEx editor appears. After adding the value and pressing enter, the line changes to “STRUCUTRE=1”.
7 Save the diagram.  
8 Verify that the variable characterisation applies to the correct feature. Open the “default.usagemodel” in the text editor (right click, open with, text editor). The XMI representation of the model is shown. There exists exactly one entry named “inputParameterUsages_EntryLevelSystemCall”.
9 Close the text editor.  
10 Verify that the changes done in the diagram are reflected in the model. Open the “default.usagemodel” in the tree editor (right click, open with, Usagemodel Model Editor). Unfold the model completely. A tree editor is shown. After unfolding, the variable usage, variable characterisation, random variable and variable reference are shown and holding the values specified in the graphical editor.
11 Close the tree editor.  
12 Delete the characterisation by selecting it and pressing DEL. The line “STRUCUTRE=1” disappears.
13 Delete the usage by selecting it and pressing DEL. The variable usage named “foo” disappears.
14 Save the diagram.  
15 Verify that the changes done in the diagram are reflected in the model. Open the “default.usagemodel” in the tree editor (right click, open with, Usagemodel Model Editor). Unfold the model completely. A tree editor is shown. After unfolding, there is no child element below the entry level system call.
16 Close the tree editor.  
17 Perform the steps 3-16 for an output parameter instead of an input parameter. Thereto, use the “OutputVariableUsageCompartment” as destination for the variable usage. The results from steps 3-16 apply in the same way but when checking the XMI representation, look for “outputParameterUsages_EntryLevelSystemCall” instead of “inputParameterUsages_EntryLevelSystemCall”.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants