Exercise 11.6 - Using SysML-Teamcenter Mappings

Objectives

The new learning objectives of this exercise are to explore and use existing SysML-Teamcenter mappings for Data Map and Model Transform connections.

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, and

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

  • Syndeia Teamcenter interface, correctly installed with a valid license for user.

The user can use any Teamcenter repository they have available with the ability to create and edit model elements within a Teamcenter Bill of Materials. It is generally advisable to carry out these exercises in a non-production repository, a "sandbox", set up for training and practice purposes.
Using mapping in Syndeia requires two new elements which are provided with these tutorials

  1. A mappings file, syndeia34Tutorial.mappings, which contains the specific starting mappings used in this and the following exercises. To install this,

    1. Close MagicDraw, if it is open

    2. Rename the existing syndeia.mappings file in the .syndeia folder to something like syndeiaOld.mappings

    3. Copy syndeia34Tutorial.mappings into the .syndeia folder

    4. Rename syndeiaTutorial.mappings as syndeia.mappings

    5. When you have completed the mapping tutorial exercises, you may want to reverse this process to restore the original mappings file.

  2. A mappings profile, Syndeia_Mapping_Tutorials_Profile.mdzip (get it here - SysML Models, Profiles and Mappings), which is loaded automatically with the SysML project Syndeia_Teamcenter_Mapping_Tutorial.mdzip and can be used with other projects.

Exercise

  1. Open the SysML project Syndeia_Teamcenter_Mapping_Tutorial.mdzip (get it here - SysML Models, Profiles and Mappings), right-click the Teamcenter_Mapping package, and launch the Syndeia dashboard. Select a Syndeia Cloud project for the exercise, if necessary.

  2. Go to the Settings tab (Figure 1) and check the Use mapping element under the General heading, if not already checked. Click Apply.

    Figure 1 Syndeia dashboard, Settings tab, Use mapping checked

  3. Go to the Mappings tab. The contents of the main area on the right will depend on the element selected on the left. Expand Mapping Groups and select SysML-Teamcenter on the left to see the existing mappings in this area (Figure 2).

    Figure 2 Syndeia dashboard, Mappings tab, Mapping Groups/SysML-Teamcenter expanded on left

  4. The first task is to drag a hierarchy of SysML blocks into Teamcenter to create multiple Teamcenter items.

    1. Select the Connection Manager tab. Expand the SysML model in the left column and your Teamcenter repository in the left. Set Connection Type to Model Transform in the central column.

    2. Drag the Block_A block onto an empty target Teamcenter folder.

    3. Select Block-Item (no attributes) and click OK (Figure 3).

      Figure 3  Syndeia Dashboard, Connection Manager tab

  5. We can view the new Teamcenter items created by expanding the right side of the Connection Manager (see Figure 4). Teamcenter has assigned new id's to these items, but the structure from the SysML block structure is preserved.

    Figure 4  New Teamcenter items viewed in Syndeia dashboard

  6. In the second example, we will use a different mapping when we drag the Teamcenter items back into SysML.

    1. Return to the Mappings tab in the Syndeia dashboard and select the SysML-Teamcenter mapping Block – Item (attributes) in the left column (Figure 5). At the right, we see that this mapping is associated with a new SysML stereotype, <<Intercax_Artifact>>, which contains a set of tag values corresponding to some of the attributes of an Item in Teamcenter. Beside Attribute Definition Mappings, there is a table showing the desired mappings between the SysML (Source) element tag values and the Teamcenter (Target) attributes.

      Figure 5  Syndeia mapping for Block-Item (attributes)

    2. In the Syndeia dashboard, Connection Manager tab, select the Model Transform connection type, drag the Teamcenter 004392-Block_A item (your Teamcenter ID numbers will be different) into an empty SysML package (T3 in this example), and select the Block -Item (attributes) mapping.

    3. You can view the new blocks created in MagicDraw. It should appear similar to Figure 6. The <<Intercax_Artifact>> stereotype has been applied and the associated tag values have been added. Some of those tags (id, rev, and type) have been populated with default values by Teamcenter when the blocks were created earlier.

      Figure 6  New SysML blocks created by second mapping

  7. Use Syndeia's Compare and Sync capabilities to change the SysML model and push the changes to Teamcenter.

    1. Create the tag value "USA" in govClass in Block_A in SysML. Do not use HTML formatting or extraneous formatting characters will be displayed.

    2. Delete part property a2:Block_A2 in SysML.

    3. In the Syndeia dashboard, Connection Browser tab, find the connection from T3::Block_A to Teamcenter (Figure 7). Right-click this row and select Compare Source & Target.

      Figure 7 Syndeia dashboard, Connection Browser tab, T3::Block_A connection to Teamcenter

    4. The Comparison Result tab will show the differences between the SysML and Teamcenter models (Figure 8). The difference table shows that the SysML model is missing the child part of type Block_A2 and has a value for the "govClass" attribute.

      Figure 8 Syndeia dashboard, Comparison Result tab, T3::Block_A connection to Teamcenter

  8. Return to the Syndeia dashboard, Connection Browser tab, and the connection from T3::Block_A to Teamcenter (Figure 7). Right-click this row and select Sync Source to Target.

  9. Repeat the comparison and see that GovClass and Block_A2 differences have been resolved by updating the Teamcenter model. However, the update has created a new Item Revision in Teamcenter. The new item_revision_id in Teamcenter is B, which is different than the "rev" tag value in SysML for Block A. This difference may be resolved by syncing Target to Source for this connection, which will update the SysML "rev" tag value.

Â