Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

Version 1 Next »

The Connection Manager tab in the Syndeia Dashboard provides an easy-to-use, drag-n-drop interface for creating connections between SysML model elements and repository elements, and generating SysML models from repository models, and vice versa. 

The Connection Manager tab has four elements, as shown in Figure 61.

  1. The System Model Panel, which displays the SysML element from which the Syndeia Dashboard was launched, and its sub-elements. To select a different element, such as a different package, right click on any SysML element in the System Model Panel and select Go to.
  2. The Connection Type Panel, which displays the available connection types.
  3. The Repository Panel, which displays the repository to which connections can be made. The repository shown can be changed by clicking on the panel title bar.
  4. The Message Panel at the bottom, which displays status and error messages during operation.


Figure 61: Connection Manager


Users can swap repositories by clicking on the title bar of the Repository Panel and selecting a different repository (Figure 61) that has already been added using the Repository Manager (section 4.3.1).

Figure 62: Select different repositories in the Repository Panel of the Connection Manager



The normal operation of the Connection Manager involves the following main steps:

  1. Select a type of connection in the Connection Panel (middle)
  2. Drag and drop a SysML element to a repository element, or vice versa, to create a connection, or generate a model (which also creates connections).


The four main types of connection supported by this version of Syndeia are as follows:

  1. Reference Connection – This is the most basic type of connection between a SysML model element and a repository element. It establishes a traceability link between the two elements.
  2. Function Wrap Connection – This type of connection is used to wrap an external executable model (or code) with a SysML model element, such that when the SysML model element is executed, Syndeia can invoke the external model and bring back execution results to the SysML model for verification. For example, connections between SysML constraint blocks and external MATAB or Mathematica scripts and functions fall into this category.
  3. Data Map Connection – This type of connection is used to map the attributes/properties of a SysML model element with those of a repository element such that Syndeia can compare and bi-directionally sync the property values on-demand. For example, the connection between the value properties of a SysML block and the cells (or entries) in an Excel table row (or MySQL table row) are of this type.
  4. Model Transform Connection – This type of connection is used to map the structure of a SysML model element with that of a repository element such that Syndeia can compare and bi-directionally sync the structure on-demand. For example, the connection between a SysML block to a Windchill / Teamcenter part is an example of this type. The compare operation can show the differences in the structures by comparing the part properties of the SysML block with part BOM in Windchill / Teamcenter, and the bi-directional sync operations can be used to update the part properties of the SysML block or part BOM in Windchill / Teamcenter.

Each connection type has a specific purpose. Syndeia users must decide the purpose of connecting / integrating the SysML model elements with the repository elements, and then pick up a connection type that serves their needs. For guidance, refer to the tutorials in the Tutorials document. Not all types of connections are supported for all types of SysML model elements and repository elements. The tables in sections 4.5.1- 4.5.6 show the specific connection types that are supported for elements in each repository and the drag-n-drop operations to achieve the same. The Syndeia Tutorials provide step-by-step guide for these operations.


Additional Notes for Rhapsody

Rhapsody: Rhapsody 8.0.x does not allow SysML elements with spaces in names by default. Users should modify a property in their project to allow spaces in names on model elements. See the following link from the IBM website on how to do this: http://goo.gl/cvhBSk (short link). Users are requested to change this setting since it may cause issues in generating SysML model elements from other repositories (such as Windchill, Teamcenter, and MySQL) that allow for spaces in model element names.

Drag-n-drop operations for Creo

See the Creo section in the table in section 4.5.5. To learn more, refer to the Syndeia Tutorials document (section 3.2).

Drag-n-drop operations for DOORS-NG Repositories


#

Drag This

To This

With This Connection Type

And This Will Happen

D1

Anything from the System Model Panel (or Repository Panel)

Anything in the Repository Panel (or System Model Panel)

Reference

Reference Connection will be created but nothing will be generated.

D2

SysML requirement

DOORS-NG repository or folder

Model Transform

  • If the SysML requirement has a DOORS-NG Requirement Collection stereotype applied, a requirement collection will be generated in DOORS-NG with child requirements based on the nested requirements in SysML.
  • If the SysML requirement has a DOORS-NG Module stereotype applied, the same function will be executed as above. DOORS-NG modules cannot be generated programmatically, and hence a DOORS-NG requirement collection will be generated.
  • If the SysML requirement does not have any DOORS-NG related stereotypes applied, then a DOORS-NG requirement will be generated if the SysML requirement doesn't have nested requirements, or a DOORS-NG requirement collection will be generated if the SysML requirement has nested requirements.
  • Model transform connections will be created between the SysML requirements and DOORS-NG requirements and collections.

D3

SysML requirement

DOORS-NG repository or folder

Data Map

  • Same behavior as D2 except that a requirement structure will not be generated. So, the DOORS-NG requirement collection (if generated) will not have any child requirements even if the source SysML requirement had nested requirements.
  • A data map connection will be created between the SysML requirement and DOORS-NG requirement or requirement collection.

D4

DOORS-NG Module

SysML Package

Model Transform

  • SysML requirement structure (multi-level) will be generated based on the DOORS-NG module structure.
  • Model transform connections will be created between SysML requirements and DOORS-NG module and requirements.

D5

DOORS-NG Module

SysML Package

Data Map

  • A SysML requirement will be generated based on the DOORS-NG module. Requirement structure will not be generated on the SysML side.
  • Data map connection will be created between the SysML requirement and the DOORS-NG module.

D4

DOORS-NG Requirement Collection

SysML Package

Model Transform

  • SysML requirement structure will be generated based on the DOORS-NG requirement collection.
  • Model transform connections will be created between SysML requirements and DOORS-NG requirement collection and requirements.

D5

DOORS-NG Requirement Collection

SysML Package

Data Map

  • A SysML requirement will be generated based on the DOORS-NG requirement collection. Requirement structure will not be generated on the SysML side.
  • Data map connection will be created between the SysML requirement and the DOORS-NG requirement collection.

D6

DOORS-NG Requirement

SysML Package

Model Transform

  • SysML requirement will be generated based on the DOORS-NG requirement.
  • Model transform connections will be created between SysML requirement and DOORS-NG requirement.

D7

DOORS-NG Requirement

SysML Package

Data Map

  • SysML requirement will be generated based on the DOORS-NG requirement.
  • Data map connections will be created between SysML requirement and DOORS-NG requirement.


In DOORS-NG, requirement and requirement collection are the base resource types. Different types of artifacts are defined in a DOORS-NG project based on these basic resource types. For example, System Requirement, Hardware Requirement, and Software Requirement may be three artifact types which have the same base type as requirement. When generating requirements or collections in DOORS-NG from SysML (operations D2 and D3 in the table above), you can set the specific type of artifact that needs to be generated in DOORS-NG, e.g. generate a System Requirement versus a basic requirement in DOORS-NG. Follow the steps below to do this:

  1. Go to Syndeia > Utils > DOORS-NG Utils menu by right clicking on any SysML element in the model tree. This will launch the DOORS-NG Utils window as shown below. Select your DOORS-NG repository, project, resource type, and press OK. Syndeia will query the DOORS-NG server and output all artifact types available for the given resource type in the specified DOORS-NG project.

    Figure 63: Query available artifact types in a DOORS-NG project for requirement or requirement collection resource

  2. For a given SysML requirement, apply the DOORS-NG module, requirement collection, or requirement stereotype, and set the value of the _artifact_type tag to one of the artifact type values obtained in the previous step, as shown below.


Figure 64: Set the value of _artifact_type tag in DOORS-NG requirement / collection / module stereotype to the relevant DOORS-NG artifact type


Drag-n-drop operations for JIRA Repositories


#

Drag This

To This

With This Connection Type

And This Will Happen

J1

Anything from the System Model Panel (or Repository Panel)

Anything in the Repository Panel (or System Model Panel)

Reference

Reference Connection will be created but nothing will be generated.

J2

SysML block

JIRA project

Model Transform

  • If the SysML block has a JIRA Issue stereotype applied, then an issue structure will be generated in JIRA based on the SysML block structure. JIRA issue attributes will be populated based on the value properties in the SysML block. Model transform connections will be created between SysML blocks and JIRA issues

J3

SysML block

JIRA project

Data Map

  • Same as J2 except that only a single JIRA issue is created based on the SysML block. A JIRA issue structure is not generated from the SysML block structure.
  • A data map connection will be created between the SysML block and JIRA issue.

J4

JIRA Issue

SysML Package

Model Transform

  • SysML block structure (multi-level) will be generated based on the JIRA issue structure. The block will have value properties based on the JIRA attributes.
  • Model transform connections will be created between SysML blocks and JIRA issues.

J5

JIRA Issue

SysML Package

Data Map

  • Same as J4 except that only a single SysML block is generated based on the JIRA issue. A SysML block structure is not generated from the JIRA issue structure.
  • Data map connection will be created between the SysML block and JIRA issue.

J6

SysML block, requirement, or activity

SysML Package

Reference

  • JIRA issue structure will be generated based on the SysML block/activity/requirement structure.
  • Reference connections will be created between SysML blocks/activities/requirements and JIRA issues.


Syndeia also provides the ability to view the status of a project in JIRA, directly from the SysML model. If you have SysML elements connected to JIRA issues (any connection type), then you can right click at the SysML project or package level in the SysML model tree and select Syndeia > Summarize Connected Artifacts. This will launch the JIRA Connected Issues Summary window, as shown in Figure 65. The top part of the table shows a list of all JIRA issues that are connected to SysML elements (recursively) in the package. The bottom part of the table shows overall issue analytics, such as total number of connected issues, number of open issues, number of issues reported by a user, or the number of issues assigned to a user. This can be very useful in tracking the status of a project in JIRA directly from the SysML model.

Figure 65: Launch JIRA issue summary from Syndeia and get a quick status of your project


Drag-n-drop operations for GitHub Repositories


#

Drag This

To This

With This Connection Type

And This Will Happen

D1

Anything from the System Model Panel (or Repository Panel)

Anything in the Repository Panel (or System Model Panel)

Reference

Reference Connection will be created but nothing will be generated.


Drag-n-drop operations for Local File System Repositories

This section presents a summary of drag-and-drop operations for models managed in local file system repositories. To learn more, refer to the step-by-step instructions for each model type in the Syndeia Tutorials document (see section 3.2 for details).

#

Drag This

To This

With Connection Type

And This Will Happen

L1

Anything from the System Model Panel (or Repository Panel)

Anything in the Repository Panel (or System Model Panel)

Reference

Reference Connection will be created but nothing will be generated.

L2

SysML Block

Folder

Model Transform

User will be presented three options:

  • Generate Excel Workbook and Table – If selected, this will generate Excel workbook (.xlsx file) in the folder, a new sheet in the workbook, and a new table in the sheet—all with same names as the block. Columns corresponding to the value properties of the block will be generated in the Excel table. A model transform connection will also be created between the SysML block and Excel table for downstream compare and sync.
  • Generate NX CAD Model – If selected, this will generate a NX CAD model in the folder. The model will include a part structure based on the SysML block structure. A model transformation connection will also be created between the SysML block and NX CAD part for downstream compare and sync.
  • Generate Simulink Model – If selected, this will generate a Simulink model in the folder. The Simulink model will include blocks, ports, and lines generated from the internal block structure (part properties, flow ports, and connectors) of the SysML block. A model transformation connection will also be created between the SysML block and Simulink model for downstream compare and sync.

Excel

L3

SysML Block

Excel Workbook

Model Transform

  • A new sheet and a table in the sheet—both with same names as the block—will be generated in the workbook. Columns corresponding to the value properties of the block will be generated in the Excel table.
  • A model transform connection will be created between the SysML block and the Excel table.

L4

SysML Block

Excel Sheet

Model Transform

  • A new table in the context of the sheet will be generated with columns corresponding to value properties of the SysML block.
  • A model transform connection will be created between the SysML block and the Excel table.

L5

Excel Table

SysML package

Model Transform

  • A new SysML block will be generated with value properties corresponding to columns of the Excel table.
  • A model transform connection will be created between the SysML block and the Excel table.

L6

SysML Block

Excel Table

Data Map

  • A new row will be generated in the table with column values corresponding to the default values of the value properties of the SysML block ONLYIF a model transform connection exists between a parent block (supertype) of the given block and the Excel table (such as by operations L2 - L5).
  • A data map connection will be created between the SysML block and the Excel table row.

L7

SysML Block Instance

Excel Table

Data Map

  • A new row will be generated in the table with column values corresponding to the slot values of the SysML block instance ONLYIF a model transform connection exists between the classifying Classifying block is the block that was instantiated to create the given block instance. block of the instance and the Excel table (such as by operations L2 - L5).
  • A data map connection will be created between the SysML block instance and the Excel table row.

L8

Excel Row

SysML package

Data Map

  • User will be asked to select one of the two options: (1) generate a block instance (default option), or (2) generate a specialized (subtype) block.


    If the first option is selected, a SysML block instance will be generated with slot values corresponding to the columns values of the given row. This block instance will be an instance of the block that has a model transform connection to the table. If such a block does not exist, then a new block will also be generated with a model transform connection to the Excel table (same as operation L5). If the second option is selected, a SysML block will be generated with value properties (and default values) corresponding to the columns values of the given row. This block will be a child (subtype) of the block that has a model transform connection to the table. If such a block does not exist, then a new block will also be generated with a model transform connection to the Excel table (same as operation L5).
  • A data map connection will be created between the SysML block instance (or specialized block) and the Excel table row.

NX

L9

NX Part

SysML package

Model Transform

  • Generates a SysML block structure from NX CAD part structure.
  • Refer to section 4.4.5 for step-by-step instructions

L10

SysML Block

Folder

Model Transform

  • See L2 above
  • Refer to section 4.4.5 for step-by-step instructions

Creo

L9

Creo model

SysML package

Model Transform

  • Generates a SysML block structure from Creo model structure.
  • Refer to section 4.4.6 for step-by-step instructions

L10

SysML Block

Folder

Model Transform

  • See L2 above
  • Refer to section 4.4.6 for step-by-step instructions

Simulink

L9

SysML block

Folder

Model Transform

  • See L2 above
  • Refer to section 4.4.7 for step-by-step instructions

L10

SysML Activity

Folder

Model Transform

  • Same as L9 above
  • Refer to section 4.4.7 for step-by-step instructions

L11

Simulink model

SysML package

Model Transform

Users will be presented with 2 options:

  • Generate SysML block – Generates a SysML block structure (part properties and ports from Simulink model structure).
  • Generate SysML activity – Generates a SysML activity structure (call behavior actions and activity parameter nodes).
  • Refer to section 4.4.7 for step-by-step instructions

Creating connections between existing model elements

The drag-n-drop operations listed in the table above generate models. Starting with this release, Syndeia can also create model transform and data map connections between existing model elements without generation. You can then perform a compare and sync operation on these connections to sync the models. The following drag-n-drop operations are available between existing model elements:

  • SysML Block < – > Excel table (Model Transform)
  • SysML Block < – > Excel table row (Data Map)
  • SysML Block Instance < – > Excel table row (Data Map)
  • SysML Block < – > NX CAD model (Model Transform)
  • SysML Block < – > Creo model (Model Transform)
  • SysML Block < – > Simulink model (Model Transform)
  • SysML Activity < – > Simulink model (Model Transform)

Additional Notes on SysML and Excel drag-n-drop operations


  1. Column names in the Excel table (header row) must be alpha numeric (white spaces and underscores are allowed) so that they can be used to generate block value properties.
  2. When generating SysML block / instances from Excel data, or when synchronizing Excel > SysML, the following data mapping rules are followed.

    Excel data type

    SysML value type

    String

    String

    Numeric

    Real

    Boolean

    Boolean

  3. When generating Excel tables and rows from SysML elements, or when synchronizing SysML > Excel, the following data mapping rules are followed.

    Note: Excel does not distinguish between integers and real numbers, so they are both mapped to Numeric type. 

    SysML value type

    Excel data type

    String value type

    String

    Real value type

    Numeric

    Integer value type

    Numeric

    Boolean

    Boolean

  4. Ensure that the Excel file is closed before any drag-n-drop or sync operations from SysML to Excel. If not, the information will not be written to Excel.
  5. Rhapsody stores the default values of values properties of a block as a String object, even if the value is a number, and hence when the value is written to an Excel table row, it is written as a String and not a Numeric object.
  6. The Syndeia profile for Rhapsody provides the following additional value types—String, Integer, and Boolean. These value types are not available with the default SysML profile in Rhapsody.

Drag-n-drop operations for MySQL Repositories

This section presents a summary of drag-and-drop operations for models managed in MySQL repository. Refer to the step-by-step instructions in the Syndeia Tutorials document (see section 3.2 for details).

#

Drag This

To This

With This Connection Type

And This Will Happen

M1

Anything from the System Model Panel (or Repository Panel)

Anything in the Repository Panel (or System Model Panel)

Reference

Reference Connection will be created but nothing will be generated.

M2

SysML Block

MySQL Database

Model Transform

  • A new table will be generated in the database with columns corresponding to value properties of the SysML block.
  • A model transform connection will be created between the SysML block and the MySQL table.

M3

MySQL Table

SysML package

Model Transform

  • A new SysML block will be generated with value properties corresponding to columns of the MySQL table.
  • A model transform connection will be created between the SysML block and the MySQL table.

M4

SysML Block

MySQL Table

Data Map

  • A new row will be generated in the table with column values corresponding to the default values of the value properties of the SysML block ONLYIF a model transform connection exists between a parent block (supertype) of the given block and the MySQL table (such as by operations M2 - M3).
  • A data map connection will be created between the SysML block and the MySQL table row.

M5

SysML Block Instance

MySQL Table

Data Map

  • A new row will be generated in the table with column values corresponding to the slot values of the SysML block instance ONLYIF a model transform connection exists between the classifying Classifying block is the block that was instantiated to create the given block instance. block of the instance and the MySQL table (such as by operations M2 – M3).
  • A data map connection will be created between the SysML block instance and the MySQL table row.

M6

MySQL Table Row

SysML package

Data Map

  • User will be asked to select one of the two options: (1) generate a block instance (default option), or (2) generate a specialized (subtype) block.


    If the first option is selected, a SysML block instance will be generated with slot values corresponding to the columns values of the given row. This block instance will be an instance of the block that has a model transform connection to the table. If such a block does not exist, then a new block will also be generated with a model transform connection to the MySQL table (same as operation M3). If the second option is selected, a SysML block will be generated with value properties (and default values) corresponding to the columns values of the given row. This block will be a child (subtype) of the block that has a model transform connection to the table. If such a block does not exist, then a new block will also be generated with a model transform connection to the MySQL table (same as operation M3).
  • A data map connection will be created between the SysML block instance (or specialized block) and the MySQL table row.


Creating connections between existing model elements
The drag-n-drop operations listed in the table above generate models. Starting with this release, Syndeia can also create model transform connections between existing model elements without generation. You can then perform a compare and sync operation on these connections to sync the models. The following drag-n-drop operations are available between existing model elements:

  • SysML Block < – > MySQL Table (Model Transform)
  • SysML Block < – > MySQL Table Row (Data Map)
  • SysML Block Instance < – > MySQL Table Row (Data Map)

Additional Notes on SysML and MySQL drag-n-drop operations

  1. Column names in the MySQL table must be alpha numeric (white spaces and underscores are allowed) so that they can be used to generate block value properties.
  2. When generating SysML block / instances from MySQL data, or when synchronizing MySQL > SysML, the following data mapping rules are followed.

    MySQL data type

    SysML value type

    int / INT

    Integer

    dec / DEC

    Real

    float / FLOAT

    Real

    double / DOUBLE

    Real

    char / CHAR

    String

    varchar / VARCHAR

    String

  3. When generating MySQL tables and rows from SysML elements, or when synchronizing SysML > MySQL, the following data mapping rules are followed.

SysML value type

MySQL data type

String

VARCHAR

Real

DOUBLE

Integer

INT


Drag-n-drop operations for NX

See the NX section in the table in section 4.5.5. To learn more, refer to the Syndeia Tutorials document (section 3.2).

Drag-n-drop operations for Simulink

See the Simulink section in the table in section 4.5.5. To learn more, refer to the Syndeia Tutorials document (section 3.2). Additional notes related to Syndeia – Simulink connection are provided below.

Defining a Simulink Library Block in SysML

Follow the general rules below to define a Simulink library block in SysML.

  1. Create a SysML block or activity, and assign it the Simulink_Library_Block stereotype available in the Syndeia profile
  2. Add a value property (for SysML blocks) or property (for SysML activities) called name and typed by the String value type. The default value of this property must be the exact name of the Simulink library block in the Simulink library. Activity models in Rhapsody are not allowed to have properties. Use local tags instead.
  3. Similarly, you may add other properties as required when using the Simulink library blocks, e.g. Add block uses a property Input with value ++ to indicate addition of two input arguments.
  4. Define flow with primitive value types (Real, Integer, Boolean) to represent the inputs and output of a Simulink library block.
  5. The input and output ports must be numbered in ascending alphanumeric manner, ending with numbers 1, 2, 3, and so on. For example, input ports on a Simulink library block must be named in1, in2, in3, etc. and output ports on a Simulink library block must be named out1, out2, out3, etc.

Rules and Limitations

Syndeia's SysML-Simulink capabilities have the following rules and limitations. Several of these are due to inherent modeling restrictions in Simulink.

  1. SysML port types – Syndeia supports full, proxy, and flow ports in SysML. Full ports must be typed by a block with one or more flow properties. Proxy ports must be typed by a block with one or more flow properties. Flow ports must be typed by a value type or a flow specification with one or more flow properties.
  2. Direction – The following rules are used to determine the direction of information flow in SysML for generating ports and signals in Simulink.
    1. If the direction of a port / activity parameter node (APN) / pin is IN or OUT, then that direction will be used. If the direction of the flow properties typing that port / APN / pin contradicts the direction of the port / APN / pin, Syndeia will show a warning message in the log window.
    2. If the direction of a port / APN / pin is INOUT or not specified/null, Syndeia will use the flow property direction(s). If port / APN / pin direction is INOUT, Syndeia will show a warning.
    3. If the flow properties are null / mixed directions / INOUT in the case of item 2 above, Syndeia will show a warning AND ignore the port / APN / pin.
  3. Value typed for ports and flow properties - The flow properties in blocks, interface blocks, or flow specifications typing full, proxy, and flow ports respectively may be typed by Real, Integer, and Boolean value types which map to double, int32, and boolean types respectively in Simulink. The same is true for value types used for atomic flow ports.
  4. Activity parameter node types – Activity parameter nodes must either be typed by Real, Integer, or Boolean value types (as for ports), or blocks with one or more flow properties that are typed by these value types.
  5. Assign name and type - All ports and activity parameter nodes must have a name and type. Part properties and call behavior actions must have a name and type.
  6. Avoid spaces in names - SysML model elements with spaces in names are not recommended since Simulink does not allow them. However, Syndeia substitutes spaces in names with an underscore when generating Simulink models. Name uniqueness may be violated if two elements are named the same except where one has an underscore and the other has a space, i.e. "Bus 1" and "Bus_1"
  7. Simulink Library block caveats – For SysML blocks and activities that are assigned the Simulink_Library_Block stereotype, ensure that the value properties, properties, or tags do not have white spaces in their names. Any model elements referenced in these properties should also not have names with white spaces. Users must verify the names and values of properties/tags corresponding to Simulink library blocks before attempting to generate in Simulink.
  8. SysML activity models - Parameters must agree with the corresponding activity parameter nodes in name and type. Input/output pins must agree with corresponding activity parameter nodes in name and type.

Drag-n-drop operations for Teamcenter (TC) Repositories

This section presents a summary of drag-and-drop operations for models managed in Windchill repository. Refer to the step-by-step instructions for each model type at the following locations:

  • Teamcenter items/parts- Refer to the Syndeia Tutorials document (see section 3.2 for details).
  • Teamcenter requirements and attributes - Refer to the Syndeia Tutorials document (see section 3.2 for details).
  • NX – Refer to section 4.3.2.7 on viewing NX models in Teamcenter, and section 4.5.5 for drag-n-drop details

#

Drag This

To This

With This Connection Type

And This Will Happen

T1

Anything from the System Model Panel (or Repository Panel)

Anything in the Repository Panel (or System Model Panel)

Reference

Reference Connection will be created but nothing will be generated.

T2

SysML Block

TC Folder

Model Transform

  • TC item structure (item revisions and BOM lines) will be generated based on the SysML block structure in a recursive manner. BOM lines will be created for each item in TC based on the part properties of the corresponding SysML block.
  • Model transform connections will be created between SysML blocks and TC item revisions.

T3

TC Item Revision

SysML package

Model Transform

  • SysML block structure (blocks and part properties) will be generated from the TC item structure in a recursive manner. Part properties will be created in each SysML block based on the BOM lines in the corresponding TC item revision
  • Model transform connections will be created between SysML blocks and TC item revisions

T4

TC Item

SysML package

Model Transform

Same as operation T3 for the latest revision of the item

T5

TC Part Revision

SysML package

Model Transform

Same as operation T3 but for part revisions instead of item revisions. In TC, Part Revision is a type of Item Revision.

T6

TC Part

SysML package

Model Transform

Same as operation T5 for the latest revision of the part

T7

SysML Requirement

TC Folder

Model Transform

  • TC requirement structure will be generated based on the SysML requirement structure in a recursive manner. For SysML requirements with the TC requirement spec (or TC paragraph) stereotype TC_RequirementSpec_Revision and TC_Paragaph_Revision stereotypes are included in the Syndeia Profile available with Syndeia Rhapsody plugin. applied, requirement specs or paragraphs will be generated in TC.
  • Model transform connections will be created between SysML requirements and TC Requirement Revisions, TC Requirement Spec Revisions, and TC Paragraph Revisions.

T8

TC Requirement Spec Revision

SysML package

Model Transform

  • SysML requirement structure will be generated from the TC requirement spec structure in a recursive manner. For Requirement Spec (or Paragraph) in the structure, TC requirement spec (or TC paragraph) stereotype6 will be applied to the SysML Requirements.
  • Model transform connections will be created between SysML Requirements and TC Requirement Spec Revision, TC Paragraph Revision, and TC Requirement Revision.

T9

TC Requirement Spec

SysML package

Model Transform

Same as operation T8 for the latest version of the requirement spec

T10

TC Paragraph Revision

SysML package

Model Transform

Same as operation T8 but for paragraph revision instead of requirement spec revision

T11

TC Paragraph

SysML package

Model Transform

Same as operation T10 for the latest version of the paragraph

T12

TC Requirement Revision

SysML package

Model Transform

Same as operation T8 but for requirement revision instead of requirement spec revision

T13

TC Requirement

SysML package

Model Transform

Same as operation T12 for the latest version of the requirement

T14

NX model

SysML package

Model Transform

  • SysML block structure is generated from NX part structure, and model transform connections are created between SysML blocks and NX parts.
  • Refer to section 4.3.2.7 on viewing NX models in Teamcenter, and section 4.5.5for drag-n-drop details


Creating connections between existing model elements (new)

The drag-n-drop operations listed in the table above generate models. Starting with this release, Syndeia can also create model transform connections between existing model elements without generation. You can then perform a compare and sync operation on these connections to sync the models. The following drag-n-drop operations are available between existing model elements:

  • SysML Block < – > Teamcenter Item Revision (Model Transform)
  • SysML Block < – > Teamcenter Part Revisions (Model Transform)
  • SysML Requirement < – > Teamcenter Requirement Revision (Model Transform)
  • SysML Requirement < – > Teamcenter Requirement Spec Revision (Model Transform)
  • SysML Requirement < – > Teamcenter Paragraph Revision (Model Transform)

Managing Teamcenter attributes (new)

Syndeia makes it possible for system engineers working with SysML to get, compare, sync, and populate attributes on Teamcenter requirements, requirement specs, and paragraphs from/to requirements in the SysML model. This capability will be extended to Teamcenter items / item revisions in general in the next release of Syndeia. The following sections present details of the new capability.
The Syndeia Profile provides stereotypes for Teamcenter requirement, requirement spec, and paragraph that can be used to control the specific attributes for these Teamcenter items that will be obtained from Teamcenter, or populated in Teamcenter, or compared/synchronized between SysML and Teamcenter. Figure 66 show the Teamcenter-specific stereotypes in the Syndeia profile for Rhapsody

Figure 66: Syndeia Profile in Rhapsody



The specific attributes of a Teamcenter requirement, requirement spec, or paragraph that Syndeia will get/populate/compare/sync are listed under the corresponding stereotypes and start with the prefix ro_ (indicating read-only attributes) or rw_ (read-write attributes). The stereotype tag names follow the convention: ro_<attribute_name> or rw_<attribute_name> where <attribute_name> is the internal name of the attribute in Teamcenter, as obtained from using BMIDE—Teamcenter's schema modeling environment. For example, the attributes of interest for Teamcenter requirement revisions (TC_Requirement_Revision) for Rhapsody are current_id, owning_user, body_text, and object_desc, as shown in Figure 66.

Attributes with the prefix ro_ are read-only attributes. This implies that their values can be obtained from Teamcenter when generating SysML model elements or synchronizing from Teamcenter -> SysML. Attributes with the prefix rw_ are read-write attributes. This implies that their values can be read from Teamcenter when generating SysML model elements or synchronizing from Teamcenter -> SysML, and their values can be populated in Teamcenter when generating Teamcenter model items or synchronizing SysML -> Teamcenter.

Users can add more or remove existing ro_ and rw_ tags corresponding to Teamcenter requirement-related attributes in any of the three Teamcenter stereotypes in the Syndeia profile. However, if every user in an organization / group selects a different set of Teamcenter attributes and adds tags to the stereotypes, it will result in issues when sharing models among the group members. Also, all users should not be modifying the Syndeia profile. It is highly recommended that the lead modeler (system engineer) in a group/organization updates the Syndeia profile with all the Teamcenter attributes that are relevant for that group/organization. He/She should then make the profile available to all users who can add the profile to their models but not modify it.

Teamcenter requirement / requirement spec / paragraph -> SysML

When a user drags a Teamcenter requirement, requirement spec, or paragraph from the Teamcenter repository to the SysML model in the Connection Manager of the Syndeia Dashboard, Syndeia dynamically looks up the ro_ and rw_ tags in Teamcenter requirement-related stereotypes in the Syndeia profile to collect the specific Teamcenter requirement / requirement spec / paragraph attributes whose values will be brought over to SysML. Teamcenter attribute values will be set as values of the ro_ and rw_ tags on the corresponding SysML requirements.

SysML requirement -> Teamcenter requirement / requirement spec / paragraph

When a user drags a SysML requirement to Teamcenter in the Connection Manager of the Syndeia Dashboard, Syndeia dynamically looks up the rw_ tags in Teamcenter requirement-related stereotypes in the Syndeia profile and their values in the SysML requirement, and then sets those attributes values when generating Teamcenter requirement / requirement spec / paragraph items in Teamcenter. Once the Teamcenter items have been created, Syndeia gets values of their attributes (identified using the ro_ tags) and sets them in the SysML requirements.
Further, users can also create special types of Teamcenter requirements / specs / paragraphs by modifying the values of _item_type and _object_type tag values in the Teamcenter requirement-related stereotypes. The _item_type tag is set to the type of Teamcenter item (as defined using BMIDE) and the _object_type tag is set to the type of the corresponding Teamcenter item revision (as defined using BMIDE). By default, these are set to the base types of Teamcenter requirement / spec / paragraphs, e.g. Requirement and Requirement Revision for basic Teamcenter requirements. However, if an organization has defined special types of requirements using BMIDE, e.g. Business Requirement and Business Requirement Revision, then these values can be set in the _item_type and _object_type tag values in the Teamcenter requirement-related stereotypes. Next time, when a user attempts to generate a Teamcenter requirement from a SysML requirement, Syndeia will generate a Business Requirement and not the base Requirement in Teamcenter.

SysML requirement <-> Teamcenter requirement/requirement spec/paragraph

When a user invokes compare/sync operations on Syndeia connections between SysML requirements and Teamcenter requirements / requirement specs / paragraphs, Syndeia also performs a compare and sync on requirement-related attributes. It dynamically looks up the ro_ and rw_ tags on Teamcenter requirement-related stereotypes in the Syndeia profile and compares/syncs their values between the source end (SysML requirement) and target end (Teamcenter requirement / spec / paragraph) for each connection. For SysML -> Teamcenter sync, the values of rw_ tags are used to update the Teamcenter items. For Teamcenter -> SysML sync, the values of both ro_ and rw_ tags are used to update the SysML requirements.

Drag-n-drop operations for Windchill (WC) Repositories

This section presents a summary of drag-and-drop operations for models managed in Windchill repository. In addition, it provides step-by-step instructions for managing Windchill attributes. Refer to the step-by-step instructions for each model type at the following locations:

  • Windchill partsand attributes (new) - Refer to the Syndeia Tutorials document (see section 3.2 for details) and this section (especially for Windchill attributes).
  • Creo models (new) – Refer to section 4.3.2.6 on viewing Creo models in Windchill, and and section 4.5.5 for drag-n-drop details.

#

Drag This

To This

With This Connection Type

And This Will Happen

W1

Anything from the System Model Panel (or Repository Panel)

Anything in the Repository Panel (or System Model Panel)

Reference

Reference Connection will be created but nothing will be generated.

W2

SysML Block

WC Product

Model Transform

  • Windchill part structure (part versions and part occurrences) will be generated based on the SysML block structure in a recursive manner. Part occurrences will be created for each part in Windchill based on the part properties of the corresponding SysML block.
  • Model transform connections will be created between SysML blocks and Windchill part versions.

W3

SysML Block

WC Folder

Model Transform

  • Same as W2 above. Part will be generated in the target folder.

W3

WC Part Version

SysML package

Model Transform

  • SysML block structure (blocks and part properties) will be generated from the Windchill part structure in a recursive manner. Part properties will be created in each SysML block based on the part occurrences in the corresponding Windchill part version.
  • Model transform connections will be created between SysML blocks and Windchill part versions.

W4

WC Part (Master)

SysML package

Model Transform

Operation W3 will be invoked for the latest version of the Windchill part

W5 new

Creo model in a EPM Document Version

SysML package

Model Transform

  • Generates a SysML block structure from Creo model structure, and creates model transform connections between SysML block and Creo models.
  • See section 4.3.2.6 on viewing Creo models in Windchill, and section 4.5.5 for generating SysML block structure from Creo models.


Creating connections between existing model elements

The drag-n-drop operations listed in the table above generate models. Starting with this release, Syndeia can also create model transform connections between existing model elements without generation. You can then perform a compare and sync operation on these connections to sync the models. The following drag-n-drop operations are available between existing model elements:

  • SysML Block < – > Windchill Part Version (Model Transform)
  • SysML Block < – > Creo model (Model Transform)

Managing Windchill Attributes

Syndeia makes it possible for system engineers working with SysML to get, compare, sync, and populate attributes on Windchill parts to/from the SysML model. The following sections present details of the new capabilities.
Get attributes of Windchill parts to the SysML model
In the Syndeia Dashboard, when you drag a Windchill part version (or part master) to a SysML package to generate SysML block structure from Windchill part structure, Syndeia brings up the Select Part Attributes window, as shown in Figure 67 below. Select the specific attributes you need and click OK.

Figure 67: Select Windchill part attributes when generating SysML block structure

This will generate a SysML blocks structure from the Windchill part structure. The part attributes will be generated as value properties on the SysML blocks. The values of Windchill part attributes will be set as default values of the SysML block value properties, as shown in Figure 68 below. The units on Windchill part attributes are also brought over where applicable. The values and units are brought together as a String in the SysML model. This is primarily because Windchill 's web services provides those values as a string with a value and unit together.

Figure 68: Part attributes created as Block value properties. Attribute values brought over as default values of value properties.


Syndeia applies the WC_Part_Attribute stereotype (from the Syndeia Profile) to every value property generated for Windchill part attributes (Figure 69), and sets the _windchill_name tag from the stereotype to the internal name of the Windchill part attribute (Figure 70).

Figure 69: WC_Part_Attribute stereotype applied to value properties generated from WC part attributes


Figure 70: Syndeia sets the _windchill_name tag on the value property with the internal name of the Windchill part attribute

Users can change the name of the block value properties once they are generated from the Windchill part attributes. The internal name set on the value property will make it possible for Syndeia to correlate them with Windchill part attributes during compare/sync operations. This approach also makes it possible for users to add new value properties to the SysML blocks connected to Windchill parts. If the _windchill_name tag is not populated on these value properties, then they will be ignored during compare/sync operations. 

Create parts in Windchill with attribute values from the SysML model
Syndeia also makes it possible for system engineers using SysML to define blocks with value properties and set their values such that when SysML blocks are used for generating Windchill parts, the block value properties can be used to populate corresponding Windchill part attributes. This is especially useful when enterprise Windchill repositories are customized with business rules that mandate certain attributes be populated when creating parts. In those cases, SysML blocks with mandatory value properties can be setup before generating Windchill parts. Syndeia makes it possible to set the mandatory attributes on Windchill parts at the time of part creation. In addition, users can also create different types of Windchill parts by setting the custom part type on the SysML block. This is a very powerful feature of Syndeia. Follow the instructions below to learn about this feature.

  1. Right click on any SysML model element and select Syndeia > Utils > Windchill Utils.

    Figure 71: Launch Windchill utils

  2. This will launch the Windchill Utils window. Select your Windchill repository, select the base type as Windchill part, and click OK. It may take a few seconds for the results to appear in the window, as shown in Figure 72 below.

Figure 72: Windchill Utils

The base type of parts in out-of-the-box Windchill PLM system is WTPart. Organizations can develop their extensions of the base type and also add new attributes to those types. The result window above lists the base part type and all its extensions, and lists the attributes (out-of-the-box and custom) for each type. For example, it shows a custom part type (LPart), specifically WCTYPE|wt.part.WTPart|com.intercax.IPart|com.intercax.ipart.LPart that has an attribute with display name Bounding box size which you can see in the Windchill browser client, and internal name com.intercax.lpart.boundingBoxSize which is used for getting and setting its values programmatically. 

The part type and attribute results show the data dictionary for Windchill parts. This information will be used for generating custom Windchill parts and setting their attributes from SysML blocks in the following steps.

  1. Create a SysML block (e.g. My New Part) in your SysML model.


    Follow the remainder of the instructions in this step only if you want to set the part number for the Windchill part to be generated, or if you want to create a Windchill part of a specific type that is defined by your organization and which is not the base type (WTPart) defined out-of-the-box with PTC Windchill installation. If you don't follow the remainder of the instructions in this step, then a Windchill part of the base type (WTPart) will be generated and a part number will be automatically assigned by Windchill. 
    Apply the Windchill_Part stereotype, available from the Syndeia Profile, to the SysML block (Figure 73). Set the _part_number tag value to your desired value, and set the _part_type tag value to the type for the custom Windchill part (Figure 72) you want to create, e.g. WCTYPE|wt.part.WTPart|com.intercax.IPart|com.intercax.ipart.LPart, as shown in Figure 74.

    Figure 73: Apply the WC_Part stereotype

    Figure 74: Set the _part_number and _part_type tag values

  2. If you want to set one or more Windchill part attributes when generating a Windchill part, especially if these attributes are mandatory attributes, create a value property with a name of your choice typed by String value type in the SysML block for each of those attributes. For example, create 2 value properties (typed by String value type) in the SysML block created in the previous step for each of the 2 Windchill part attributes you want to set. For Rhapsody, use the String value type in the ValueTypes package under the Syndeia Profile.
  3. Set the default values of the value properties. This should be in the exact format as the default values set when SysML blocks and value properties are generated from Windchill parts (Figure 68 and Figure 69). For example, set the value of estimated mass as 45 kg (Figure 75).
  4. Apply the WC_Part_Attribute stereotype available from the Syndeia Profile to each of the value properties (Figure 75). Set the _windchill_name tag to the internal name of the Windchill attribute, e.g. com.intecax.lpart.mass.estimated (Figure 76). Look up the results in step 2 (Figure 72) to get the internal names of Windchill attributes.

    Figure 75: Apply the WC_Part_Attribute stereotype to the value property

    Figure 76: Set the _windchill_name tag for the value property

  5. Drag and drop the SysML block to a Windchill product or folder in the Connection Manager tab of the Syndeia Dashboard. This will generate a new Windchill part from the SysML block, as shown for the My New Part in the Windchill client (web browser) in Figure 77. Note that the name of the Windchill part is the same as SysML block name, the type of the Windchill part is LPart (as set in the stereotype tag), the part number of the Windchill part is MY NEW PART 1 (as set in the stereotype tag), and the value of estimated mass attribute is 45 kg (as set in the stereotype tag).

Figure 77: New part generated in Windchill with the given name, type, part number and attribute value


Compare/Sync SysML block structure with value properties with Windchill part structure with attributes
When a user invokes compare/sync operations on Syndeia connections between SysML blocks and Windchill parts, the Windchill-specific value properties of the SysML blocks and the attributes of the connected Windchill parts are also compared / synchronized. For example, Figure 78 shows the compare results for a Syndeia connection between a SysML block and a Windchill part. It shows that the value property Mass (estimated) in the SysML block is out-of-sync with the corresponding attribute on the Windchill part.

Figure 78: Compare and sync capabilities use SysML block value properties and Windchill part attributes

  • No labels