Exercise 10.9 - Simulink Requirements -> SysML Requirements

Objectives

In this tutorial, we shall cover the following scenarios

  • 1a: Drag and drop a single Simulink requirement (has no child requirements) to a SysML package. This will generate a requirement in SysML (with nested requirements if the Simulink requirement had nested requirements). The SysML package will be connected to the requirement set, and each SysML requirement will be connected to the Simulink requirement.

  • 1b: Drag and drop a single Simulink requirement (with multiple levels of nested child requirements) to a SysML package. This will generate a requirement in SysML with nested requirements The SysML package will be connected to the requirement set, and each SysML requirement will be connected to the Simulink requirement.

  • 1c (Multiple DnD): Drag and drop multiple Simulink requirements in a requirement set to a SysML package. This will generate corresponding requirements in SysML (with nested requirements if Simulink requirement had nested requirements). The SysML package will be connected to the requirement set, and each SysML requirement will be connected to the Simulink requirement.

  • 1d: Drag and drop a Simulink requirement set to a SysML package. This will generate a new SysML package corresponding to the Simulink requirement set. The SysML package will be connected to the requirement set, and each SysML requirement will be connected to the Simulink requirement.

Preparation

This exercise assumes the student has

  • Cameo System Modeler 18.0 - 19.0 (or MagicDraw with SysML plug-in) installed correctly on his or her machine with a valid license for use.

  • Syndeia 3.3 installed as a plugin for Cameo/MagicDraw with a valid license for use.

  • Syndeia Simulink interface, correctly installed with a valid license for use.

  • MATLAB/Simulink R2016b or later installed correctly on his or her machine with a valid license for use.

  • In this tutorial, we will use the Simulink requirement model generated in the previous exercise.

The steps for this exercise are as follows

1 Open Syndeia Simulink Examples.mdzip (get it here - https://intercax.atlassian.net/wiki/spaces/SYN34/pages/2407364009) model in MagicDraw/Cameo.

2 Locate the Model Generation:: Requirements package.

3 Launch Syndeia Dashboard from Model Generation package just like in https://intercax.atlassian.net/wiki/spaces/SYN34/pages/2409171518 tutorial.

Figure 1: Launch Syndeia Dashboard from Model Generation package

 

4 In Simulink, we have NewRequirement Set which we have obtained from Tutorial https://intercax.atlassian.net/wiki/spaces/SYN34/pages/2409171518 Feature 1c: Step 4.

We Place this in a new folder and rename it as NewRequirementS1a Set. The user can choose a requirement set name and local folder directory as per their own choice.

Figure 2: NewRequirementS1a set in Simulink

5 In the Syndeia Dashboard expand the NewRequirementsS1a Requirement set in Simulink as shown below.

 

6 Select Autonomous Flight Requirement from NewRequirementS1a set in Simulink Requirements and drag and drop it to package 1a in Model Generation:: From Simulink Requirements package of SysML as shown below.

Click Yes.

7 Observe the newly created SysML requirement Autonomous Flight in SysML package 1a in From Simulink Requirements.

8 In the Connections Search tab, Click click the Get All button. The connections between SysML requirements and Simulink requirements generated in the previous step can be seen, as shown below.

9 In SysML in the Containment Tree the requirement for Autonomous Flight appears as below.

 


The steps for this exercise are as follows

1 In Syndeia Dashboard, select Payload Mass from Simulink requirements set NewRequirementsS1b, and drag and drop this to Package 1b in Model Generation:: From Simulink Requirements package of SysML as shown below.

Note this is the same package as created in the above exercise 1a just renamed to NewRequirementsS1b in Simulink and put in another folder S1b of the local machine.

3 In the Syndeia Dashboard you can observe the new SysML requirement Payload Mass and the two nested requirements also generated.

4 In the Connections Search tab, Click click the Get All button. The connections between SysML requirements and Simulink requirements generated in the previous step can be seen, as shown below.

5 In SysML in the Containment Tree the requirement Payload Mass and the two nested requirements can be seen.


The steps for this exercise are as follows.

1 In Syndeia Dashboard, select all the requirements from Simulink requirements set NewRequirementsS1c and drag-drop this to Package 1c in Model Generation:: From Simulink Requirements package of SysML as shown below.

2 Select Model Transform. Select Yes.

 

3 In the Syndeia Dashboard you can observe the new requirements created in Package 1c of SysML.

4 In the Connections Search tab, Click the Get All button. The connections between SysML requirements and Simulink requirements generated in the previous step can be seen, as shown below.

5 In SysML in the Containment Tree all the requirements generated can be seen.


The steps for this exercise are as follows.

1 In Syndeia Dashboard, select the Simulink requirements set NewRequirementsS1d from the local file folder S1d and drag and drop this set to Package 1d in Model Generation:: From Simulink Requirements in SysML. Select Model Transform. Select Yes.

2 In the Syndeia Dashboard you can observe the new requirements package NewRequirementsS1d created in Package 1d of SysML.

3 In the Connections Search tab, Click the Get All button. The connections between SysML requirements and Simulink requirements generated in the previous step can be seen, as shown below.

4 In SysML in the Containment Tree the requirement package NewRequirementsS1d and all requirements generated can be seen.