/
Exercise 10.9 - Simulink Requirements -> SysML Requirements

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.

1a: Drag and drop a single Simulink requirement

The steps for this exercise are as follows

1 Open Syndeia Simulink Examples.mdzip (get it here - SysML Models, Profiles and Mappings) model in MagicDraw/Cameo.

2 Locate the Model Generation:: Requirements package.

3 Launch Syndeia Dashboard from Model Generation package just like in Exercise 10.7 - SysML Requirements -> Simulink Requirements tutorial.

Figure 1: Launch Syndeia Dashboard from Model Generation package

 

4 In Simulink, we have NewRequirement Set which we have obtained from Tutorial Exercise 10.7 - SysML Requirements -> Simulink Requirements 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.

Figure 3: Connection Manager in Syndeia Dashboard

 

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.

Figure 4: Model Transform Autonomous Flight Requirement from NewRequirementS1a set in Simulink to SysML package 1a

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

Figure 5: New Autonomous Flight SysML requirement shown in Connection Manager

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.

Figure 6: Connections shown in Connection Search tab

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

Figure 7: New Requirement in SysML Containment Tree

 


1b: Drag and drop a single Simulink requirement (with multiple levels of nested child requirements) to a SysML package

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.

Figure 8: NewRequirementsS1b Simulink requirements set shown in Syndeia dashboard
Figure 9: Model Transform Payload Mass requirement from Simulink requirements to Package 1b

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

Figure 10: New SysML requirement Payload Mass and nested requirements shown in Syndeia Dashboard

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.

Figure 11: All connections shown in Connection Search tab

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

Figure 12: SysML containment tree showing new requirement Payload Mass and nested requirements

1c (Multiple DnD): Drag and drop multiple Simulink requirements in a requirement set to a SysML package

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.

Figure 13: Model transform all requirements from Simulink requirements set NewRequirementsS1c to package 1c

2 Select Model Transform. Select Yes.

Figure 14: Confirming generation of SysML requirements from Simulink requirements

 

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

Figure 15: Syndeia dashboard showing new requirements in 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.

Figure 16: Connection Search showing all requirements

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

Figure 17: New requirements shown in SysML containment tree

1d: Drag and drop a Simulink requirement set to a SysML package

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.

Figure 18: Model transform Simulink requirements set NewRequirement1d to package 1d

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

Figure 19: Syndeia dashboard showing new requirements

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.

Figure 20: Connection Search showing all requirements

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

Figure 21: SysML containment tree showing new requirements

 

Related content