An exhibit state usage specifies that its owner exhibits a state specified by the exhibit state usage.

An exhibit state usage can be a feature of:

  • a part definition or usage, specifying that the referenced state is exhibited by the containing part. 
  • a state definition or usage, whereby the exhibit state usage represents a "call" from the containing state to the exhibited state.

There are two ways a state can be exhibited by another element:

Exhibiting a state by referencing a state usage defined elsewhere in the model

Exhibiting states via the Textual Editor

To exhibit states via the Textual Editor


  1. In the Textual Editor, within the body of the element that you want to exhibit a state, do one of the following:
    1. For an unnamed exhibit state, declare the exhibit keyword followed by the name of the exhibited state. 
    2. For a named one, declare the exhibit state keyword, specify the element name, then reference subset the exhibited state.
  2. Click the Synchronize button.

state vehicleStates;  // referenced state 

part vehicle {
// unnamed exhibit state referencing a state defined elsewhere in the model

    exhibit vehicleStates;

// named exhibit state referencing a state defined elsewhere in the model
    exhibit state operatingState references vehicleStates;
    // OR
    exhibit state operatingState ::> vehicleStates

}

Exhibiting states via the Drag and Drop handler in a view

To exhibit states via the Drag and Drop handler in a view


  • Drag a state element from the Containment tree or use its symbol's Drag and Drop handler and drop it on:
    • the target element symbol that you want to exhibit the state by referencing it using the Create Exhibit State command. 
    • the exhibit state usage symbol (keyword exhibit state) that you want to exhibit the state by referencing it using the Set Exhibited State command. 

Exhibiting states via the view palette

To exhibit states via the view palette


  1. In the view palette, under the States group, click exhibit.

    If the needed button is not displayed, click the down-facing arrow next to the exhibit state button and select the needed button in the dropdown menu.

  2. Do one of the following:
    1. To exhibit an existing state, in the view pane, click on the source element symbol, then on the state element symbol. 
    2. To exhibit a new state, in the view pane, click on the source element symbol, then elsewhere in the view pane to create a state element symbol. 
      The exhibit path is drawn between the element symbols.

Exhibiting states via the Create Relation command

To exhibit states via the Create Relation command 


  1. Right-click on the client (source) element.
  2. In the shortcut menu, click Create Relation, then in the submenu, under Outgoing, click exhibit. The Create... dialog opens.
  3. In the Create... dialog, do one of the following:
    1. In a view, click the element symbol you want to be the supplier (target). Hold Shift to select multiple elements.
    2. Click the Add button. The element selection dialog opens. In the element selection dialog, select the element you want to be the supplier (target) and click OK.
    3. Drag and drop the needed element you want to be the supplier (target) from the Containment tree onto the Create... dialog.
  4. In the Create... dialog, click OK

Exhibiting states via the Specification panel

To exhibit states via the Specification panel


  • Drag and drop a state element from the Containment tree or use its symbol's Drag and Drop handler and drop it on the Exhibited State field in the Properties section of the Specification panel for the exhibit state element. 
    The appropriate state is specified for the element.

Exhibiting a state via the owned exhibit state usage itself as the exhibited state

Exhibiting states via the Textual Editor

To exhibit states via the Textual Editor


  1. In the Textual Editor, within the body of the element that you want to exhibit a state, declare the exhibit state keyword followed by its name.
  2. Click the Synchronize button.

part vehicle {

// exhibited state is the defined exhibit state usage itself contained by the parent
    exhibit state vehicleStates;
}

Exhibiting states via the Create Element command

To exhibit states via the Create Element command


  1. In the Containment tree, right-click an element, and in the shortcut menu, click Create Element.

  2. In the Create Element dialog, select the exhibit state element.
  3. Name the element.
  4. Specify the exhibit state's features.

Exhibiting states via the view palette

To exhibit states via the view palette


  1. In the view palette, under the States group, click the exhibit state button.
  2. Click in the view pane where you want to create the exhibit state symbol.
  3. Name the element.
  4. Specify the exhibit state's features.