Learn about Webel's comprehensive SysMLv2 Workshop Seminar course!
Webel now has a SysMLv2 Online Self-Study course with self-test Quizzes!
Learn about the Webel Q&A online self-testing system for SysML v2/v1

Cameo SysMLv2 Simulation Plugin (2026xR1): LIMITATION: Does not yet support processing feature values of a payload after a transition accept action via a port (so can't use in a transition effect action) [PARTIAL WORKAROUND available]

This page identifies a possible issue, inconsistency, concern, error, or bug!
One of the ways Webel IT Australia helps promote tools, technologies, and languages is by donating a lot of time identifying, tracking, and reporting potential issues, in order to help vendors and developers improve the tools and technologies. In some cases, we also offer workarounds and advice for users. All issues tracked on our public site are offered most constructively and with sincerest gratitude to the tool vendors and technology developers.
DISCLAIMER: Vendors do not officially endorse issue analysis by Webel IT Australia.
Icon class
icon_class
far fa-sticky-note
icon_class_computed
far fa-sticky-note
Note kind
Policy level
Specification keywords
SysMLv2 keywords
Keywords

So far transition accept actions seem to work as triggers only; any attempt to actually consume even a simple real r:Real value (from an attribute feature of payload) in a following effect action do statement either causes a payload drop or a "hang". Similarly, trying to use the received r:Real payload in an if guard fails.

PARTIAL WORKAROUND: If you have two parts (lets call them tx and rx) with ports (say tx.o and rx.i) with a port type with a primitive directed attribute r:Real, you can simply set tx.o.r using an assign and it will be "received" and can be read as rx.i.r. You don't need a binding connector between the port features for this to work, an interface between the ports suffices.

However, just setting tx.o.r does not act as a trigger. You therefore have to at the tx end both assign the port value AND then immediately also send via the port; you can then listen for the "change" using an accept for a new payload as trigger via the port rx.i and then "poll" it as rx.i.r to fetch the latest value and consume it (assign or otherwise use). Clean timing is however not guaranteed.

Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)