Since late June 2026 the SysMLv2 Simulation plugin for Magic Cyber-Systems Engineer® (Cameo Systems Modeler®) is here! It requires also a licence for Magic Model Analyst® (Cameo Simulation Toolkit®).
It is strictly EXPERIMENTAL, and there's quite a lot that one could do with Magic Model Analyst® (Cameo Simulation Toolkit®) for SysMLv1 that one can't yet do for SysMLv2, but there's certainly already a lot that one can do.
Webel IT Australia is ahead of the pack, and is already including examples and videos on SysMLv2 simulation in the Webel SysMLv2 courses:
Some limitations of the current EXPERIMENTAL SysMLv2 Simulation plugin
For a full list of restrictions visit the official documentation under External Links, the following just indicates some main things to be aware of:
- Binding connectors are restricted to only work with primitive types and simple enumerations.
- There doesn't seem to be support for full animation of flows yet (compare with Magic Model Analyst® (Cameo Simulation Toolkit®) for SysMLv1).
- Only a limited range of simpler actions are available and only as state actions (entry, do, exit).
- It seems not to be able to execute actions directly yet at all.
- Exhibited state usages and sub-state state usages must be coded "inline" directly. None of the following are supported yet: feature typing of state usages by state definitions; redefinition of state usages; subsetting of state usages; reference subsetting of state usages; = binding of state usages; multiplicity of state usages; modifiers for state usages such as ordered.
- You can't reference an existing action usage by name as a state action, it has to be coded inline (possibly with a body with restricted simple actions per line).
- A transition to done does nothing (you have to terminate the simulation using the GUI). Similarly for terminate nodes.
- Binding connections only work between attribute usages of primitive types (not between parts, ports, items etc.
- Binding of a value (such as a port feature value) to a parameter of a state doesn't seem to be supported yet. Just instead a transition with an accept action via the port.
- Ports of states seems not to be supported.
- The very useful Time Series Chart only seems to work for Integer and Real values (not Boolean AFAICT).
- The simulation does not check the direction of a directed Features (between ports).
- Whilst constraints in satisfied requirements are supported, asserted constraints in a part seem not to be (they ARE supported in the Evaluation Plugin).
- The simulation will run with interface connections shown using port proxy notation BUT it won't then show the last visited animation on the connection.
GOTCHA: If you use Stop a simulation it will close the Time Series Chart which can be inconvenient if you have it nicely configured and placed as a docked window.
Some things to be mindful of
- Use interface usages with interface definitions for all port-to-port connections.
- For flows use flows within interface definitions.
- You can only "run" (launch the Simulation windows) from a «part» usage (not a «part def»).
Some things known to work
- An «item def» works fine for a
payloadincluding for transition accept triggers. It is not restricted to primitive attribute types. - State usages CAN be structured (although the current guide to the experimental version says the Composite State is not supported, which is clearly wrong because the provided examples used structured exhibited state usages).
