SysML Modeling Sidebar

The new SysML Modeling Sidebar allows the users to create, view, and edit stereotype elements and diagrams. See the following screenshot that shows the Workbench Sidebar layout. Click the Modeling Sidebar Selection Icon to display the SysML Model Browser

When the Modeling Sidebar Selection button is pressed, the sysML default model is displayed in the browser.  If there are existing SysML models, press the Choose Model button at the top of the sidebar and select the desired model to be displayed in the Modeling Browser pane. In the following example the ‘SysML-Automobile’ model was selected.

  • New Package - Create a new package in the current model hierarchy. To create a top-level package in the model, highlight the top-level model node and press New Package button. To create a child/nested package highlight an existing package and press New Package button. 
  • New Diagram - Create a new diagram in the top model or a specific package by highlighting the desired node and pressing the New Diagram button. Specify the type of diagram to be created. The diagram will be opened in the drawing area and the Diagram Control Sidebar will be displayed. The Diagram Control Sidebar contains the diagram Symbol Palette.
  • New Element - Create a new stereotype element under the current selected top model or a specific package. From the new element dialog, select the type of stereotype element to be created

The modeling Sidebar has a top level «model» node within which a hierarchy of «package» nodes are defined to contain modeling information. Within each «package» there can be nested packages, list of all diagrams owned by the package, and an Elements folder in which all stereotype elements contained in the package are listed. See the nodes in the dashed box below.

Elements and diagrams contained in an owning package are cross reference linked to that package using the «containment» relationship. If a modeling element is reused in another package there is a «containment reuse» relationship that is created between the element and the reusing package. This allows elements to be reused as needed in different analysis views/packages.  If there are elements that are not cross reference linked to an owning package/model, they are listed in a special folder named ‘Orphaned Entities’ under the top level «model» node. The user can use the ‘move into package’ capability (described below) to fix any orphan problems. Once there are no longer any orphans the Orphaned Entities folder is removed.

Any element being reused in a non-owning package has a ‘qualified name’. A qualified name shows the hierarchy of containment/owning packages of the model element. Each entry in the qualified name is separated by a double colon symbol “::”, so that when reading the qualified name, the path is resolved from left to right. In the following example Boat is the element that is owned by package ‘Pkg_2’ that is contained in model ‘SysML Default’.

In Cradle we use the term ‘full symbol number’ rather than using the SysML term, ‘qualified name’. In the following example, the ‘Show full symbol number’ Checkbox, contained in the Diagram Control Sidebar, is used to show or hide the element’s ‘qualified name’.

The user can create an abstract element type or an instance of an abstract type. The modeling element on the left, in the following figure, represents an abstract element (because it doesn’t have a colon in the name), whereas the elements in the middle and on the right are instances of the Battery ‘type’ (because of the colon in the stereotype element name). An element instance is either a ‘named instance’ (see the two elements in the middle), or an ‘anonymous’ instance shown on the far right.

If an entity in a package needs to be moved to a different package, select the entity and drag to the other package and select ‘move into package’ from the right mouse button pop-up menu. The «containment» relationship will be automatically changed when the entity is inserted into the new package. In the following example a constraint is moved to a new package.

Any of the Cradle stereotypes can be created directly from the sidebar and later dragged and dropped onto a diagram that supports/uses that stereotype element.  Alternatively a stereotype element is created when a diagram symbol is drawn on a sysML diagram. The usage of the stereotypes on the different SysML diagrams are explained in the Diagram Description PDF files.

The sidebar also allows the user to create relationships between elements/diagrams by dragging a node (element or diagram) and dropping onto another node. When the node being dragged is dropped the Create Cross References dialog is displayed. The relationship name (also known in Cradle as the ‘link type’) is automatically set in the Create Cross References dialog if there is only one possible link type. If multiple link types are available the user must select one of the available link types. The diagram symbol definition tables specify which relationships are valid for each stereotype.