Cameo Simulation Toolkit 18.4 Documentation
- Deferred Events
- Recording Verification Status of Runtime Values
- Automated Extraction of Constraints from Text-Based Requirements
- Completion Events and Transitions
- Execution of Incomplete/Dummy Models
Web Server and HTML UI Mockups
Version 18.4 of Cameo Simulation Toolkit introduces the ability to monitor and control simulation processes remotely via a locally deployed server. This web server, in combination with a built-in web socket connection, allows for real-time communication with user-defined HTML 5 UI mockups. Your simulation can present user-defined UI mockups in an HTML page or other interfaces. In addition, the built-in web socket connection allows for two-way communication and value updates over those interfaces.
Figure 1: Three examples of different HTML 5 user interface mockups that can be deployed from Cameo Simulation Toolkit's new functionality.
Nested Property Selection for Configurations
In version 18.4 of Cameo Simulation Toolkit, configurations such as Time Series Charts, Timelines, Sequence Diagram Recorder, and CSV Export have been updated to support nested properties. Additionally, you can represent the classifier in your configuration, and allow your value property to take nested property values. Figure 2 illustrates the selection of the nested properties actualTemperature and boilingTemperature under the Steam Boiler root classifier.
Figure 2: The selection of multiple nested properties of the Kaffeeautomat sample model.
Figure 3: A deferred clause used in an elevator state machine to defer the opening of its doors while in motion.
Version 18.4 of Cameo Simulation Toolkit introduces support for Deferred Events in State Machine diagrams. States can now specify whether an event should result in an action, or if it should be deferred. In Figure 3, the 'open' signal is deferred during the elevator's 'moving' state, so, as long as the elevator is in 'moving' state, the doors 'open' signal will never execute. This feature adds a new layer of complexity to your models by allowing unexpected events to occur while deferring expected events to a later time.
Recording Verification Status of Runtime Values
It's now possible to store the requirement verification status from a simulation runtime. You can now view the stored verification status in the Requirements table and Instance table. Status values can be either exported to an instance specification, or set as a default value. The verification of success or failure will now color-code their associated values in both Instance and Requirements tables as shown below in Figure 4.
Figure 4: Instance table showing that a stored verification status showing that the value (30.0) of the thruster does not satisfy Requirement 1 - "Estimated mass shall be less than allocated mass".
Automated Extraction of Constraints from Text-Based Requirements
Another addition to the Cameo Simulation Toolkit is the ability to automatically extract constraint equations from the text of a requirement. As seen in Figure 5 below, if a requirement text states that a car must have a mass less than or equal to 1500 kg, then the constraint equation “mass <= 1500” is automatically extracted from the requirement text, and evaluated upon execution of a simulation. This leverages MagicDraw's glossary mechanism to match commonly used phrases with mathematical constructs. Users can see this term glossary in the tool, as well as define their own condition phrases.
Figure 5: A requirement satisfied by a mass value property showing the underlined text from the Requirement Language Glossary.
Completion Events and Transitions
Cameo Simulation Toolkit has also added support for UML standard Completion Events and Transitions in state machines. A Completion Transition is triggered by the Completion Event which signifies that all behaviors associated with the source state of the Completion Transition have completed execution. Enabling this feature allows for more fine-tuned control over the creation and execution of state machines.
Figure 6: A state machine that utilizes the new support for Completion Events and Transitions. The above State Machine diagram has two states: 'off' and 'on' with a Completion Transition.
Execution of Incomplete/Dummy Models
In version 18.4 of Cameo Simulation Toolkit, you are now able to execute Incomplete or Dummy models. Whereas previously the execution would halt if any values were missing or properties were unspecified, now, the execution will continue, and a null value token will replace that pin. Different actions behave differently during execution. For example, Figure 7 below shows the execution of a Call Behavior Action in which all the Argument pins are either unspecified or absent. The updated feature will allow you to execute activity diagrams that are incomplete or are a component of dummy models. This is a powerful option for users to test their activities at all phases of design.
Figure 7: A Call Behavior Action with unspecified Arguments pins. A yellow warning box appears allowing the execution to continue.
Cameo Simulation Toolkit now features the ability to export simulation results to a CSV file. A new configuration named CSV Export has been added, which uses the following parameters:
Figure 8: The new executionListeners configuration property of the SimulationConfig and the CSV export to which it points.
- File Name – The name of the file in which to write the exported results. The path is the same as the project directory.
- Represents – Specifies the classifier represented by the configuration.
- Value - The values that will be recorded from the simulation, and written to CSV file. More than one value can be specified.
When a simulation runs, the selected values from the simulation results are written to the file name specified by the File Name parameter as illustrated in Figure 8.
In version 18.4, an option to specify how numerical values are initialized at runtime has been added. This environment option allows the system to use numerical values that do not have a default value without having to manually initialize them to zero.
Cameo Simulation Toolkit's Auto Open Diagrams functionality has undergone a slight change. In previous versions, this option, if enabled, would open the diagrams in different tabs. Now, this option will open the diagrams in the same tab.
Live, editable HTML tables allow you to represent selected properties from your simulation in a live HTML. You are able to export them as an HTML table with Name-Value columns. Your newly generated HTML table is also editable. You can modify, create, and delete elements in the Name-Value columns, and they will update in Cameo Simulation Toolkit.
Simulation time is used in log time stamps. Absolute time (simulation time) is supported in time events.
Value changes are recorded in sequence diagram using "=" instead of "==".