Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 4 Current »

The objective of this exercise is to generate MagicDraw SysML blocks and instances from an Excel spreadsheet. Many organizations store data about products in such databases and it is desirable to be able to import this data into the SysML model. In this exercise, we will use the Excel table created in the previous example and import this information back into an empty model in MagicDraw.

  1. Create a new MagicDraw SysML project with an empty package and the Syndeia profile.
  2. Name the empty package Tutorial_2_09.
  3. Right-click on Tutorial_2_09 and open the Syndeia dashboard.
  4. Expand Syndeia Excel Files in the Connection Manager tab to show the worksheets and tables within the Excel_Testbed.xlsx spreadsheet. In this example, we are using the component table in the component worksheet, as shown in Figure 83.


    Figure 83 Syndeia Dashboard, Connection Manager tab, showing Excel repository msz


    Figure 84 Dialog box

  5. In the first exercise, we will create a block in SysML linked to the table component in Excel. Set the Connection Type to Model Transform. Drag the table component (see red arrow in Figure 83) into the Tutorial_2_09 package in the SysML model. Click Yes on the dialog box (Figure 84). When complete, component appears as a block in the SysML model panel as in Figure 85. Note that while the component block contains the structure of the component table, it does not contain any of the data about specific components. That is the object of the next step.


     Figure 85 Syndeia Dashboard, Connection Manager tab, showing Excel table component and the SysML block component


    Figure 86 Instance generation dialog box

  6. Set the Connection Type to Data Map. Select several of the individual records under the component table in the right-hand panel. Drag them into the Tutorial_2_09 package in the left panel. A dialog box as in Figure 86 will appear. Leave the "As Specialization" checkbox unchecked and click Yes. The new SysML instances are shown in Figure 87. The names of the instances correspond to the rows in the Excel worksheet they originated from.


    Figure 87 Syndeia Dashboard, Connection Manager tab, showing new SysML instances created

  7. Explore other options for creating transferring Excel records to the SysML model
    1. Drag more records from the component table into the Tutorial_2_09 package in SysML, but check the "As Specialization" checkbox on the Syndeia dialog box. This will create a series of blocks that are specializations of the component block, but with the default values of the value properties showing the information from the individual records.
    2. Create a new package in the SysML project and drag some Excel records into it. They will still be treated as instances (or specializations) of the component block even if they are not in the same package.
    3. In the Filter query box (upper left corner) of the Connection Manager., enter a valid MySQL syntax query, for example, Select * from component where Mass < '3'. Only those records satisfying the query will be displayed and can be dragged into the SysML model.
    4. Erase the current contents of the Tutorial_2_09 package in MagicDraw. Drag some Excel records into it. Note that a component block is created automatically, along with the instances (or specializations) corresponding to the individual records.
       
  8. In the next part of the exercise, we will make change to the data in the database and update the SysML model from Excel. Go to Excel and modify some details of the connected rows. For example, see Figure 65 where the left side shows the components table before making changes and the right side show the changes. The cost of the Communication Controller was reduced from 50 to 25 and the mass of the Atmospheric Sensor was decreased from 2 to 1.5.


    Figure 88 Modify contents of database in Excel Workbench

  9. Now, as shown in Figure 89, multiple select (using Ctrl key) connections C23 and C26 that correspond to the 2 modified rows. Right click and select Sync Target → SysML.


    Figure 89 Multiple select connections, right click, and select Sync Target → SysML
     
  10. The Syndeia log window will show messages similar to below:
    [11:07:27] INFO Processing 2 connections...
    [11:07:27] INFO Updating SysML block from Excel table row for connection C23.
    [11:07:27] INFO Default value of value property Mass is changed from 2 to 1.5
    [11:07:27] INFO C23 connected sources (SysML) updated.
    [11:07:27] INFO Updating SysML block from Excel table row for connection C26.
    [11:07:27] INFO Default value of value property Cost is changed from 50.0 to 25.0
    [11:07:27] INFO C26 connected sources (SysML) updated.
     
  11. In the Containment Tree, you can see that the appropriate values have been updated, as shown in Figure 90.

Similarly, you can change the SysML instance slot value or block (default) value in MagicDraw and sync to Excel by right-clicking the appropriate connection and selecting Sync SysML → Target.

  • No labels