Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Objectives

...

  • Completed Exercise 12.1 and either still has the SysML model open or has saved and reopened it.

Exercise

  1. We start from the Syndeia Tutorial Testbed.rpy rpy model at the end of Exercise 12.1. If you have not saved the connections created in this exercise, repeat the exercise. Save and close the Simulink model.

  2. Modify the SysML state machine by adding a new state and two transitions, as shown in Figure 1.

    Figure 1 Rhapsody showing Statechart state machine diagram after modification

  3. From the Syndeia Connection Browser (Figure 2), find the ThreeStates connection, right-click and select Compare Source & Target.

    Figure 2  Syndeia Dashboard, Connection Browser tab

  4. The Comparison Result tab should appear as shown in Figure 3.

    Figure 3  Syndeia Dashboard, Comparison Results tab,

  5. Back in the Syndeia Connection Browser (Figure 2), find the statechart_0 connection, right-click and select Sync Source -> Target (make sure Simulink model is saved and closed before updating). Re-open the Simulink statechart_0.slx model and double-click the state chart symbol to see the updated states and transitions (Figure 4).

    Figure 4  statechart_0 state machine after first update.


    Figure 5  statechart_0  state machine after second update

  6. Modify the ThreeStates model in StateFlow as shown in Figure 5 by moving the outgoing transition of the Standby state from the On state to the FailState state. Save the StateFlow model.

  7. In the Connection Browser, find the statechart_0 connection, right-click and select Compare Source & Target. The result should be similar to Figure 6. Note the difference in the Standby outgoing transition. Syndeia 3.3 cannot update Rhapsody state machines from Stateflow.

    Figure 6  Comparison Result after modifying Stateflow statechart_0 state machine diagram

...