You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to the SCXML specification, a send element should have either a target or targetexpr attribute specifying the URI (in our case, a SCXML state machine's id) of the intended event's recipient (Sec. 6.2.2). In case both attributes are missing, the expected behavior is to add the event to the external event queue of the sending session (somewhere inside Sec. C.1).
These are the common use-cases we have for the target attribute:
target="ID" to explicitely name the target in case it is known (e.g., a plugin returning SUCCESS/RUNNING/FAILURE to the bt).
targetexpr="_event.origin" to send the event back to the sender of the event that is currently being processed.
targetexpr="ORIGIN" where ORIGIN is a location's id of type URI (which normally is used to "save" a previous _event.origin). This is usually done when neither of the above options is available.
Currently, AS2FM omits the target from send elements, and this is an issue for the generation of the channel system.
It would need to:
If there is a target in the source XML, include that same target in the generated send (provided the id doesn't get changed during compilation).
If there is a targetexpr, translate the expression (at least covering the above use-cases).
If the target is implied by some ROS-specific element (e.g. the list of subscribers for a topic), introduce the target(s) explicitely.
In case of multiple targets, these have to be handled separately by sending the event individually. There is no "targetList"-like attribute.
The text was updated successfully, but these errors were encountered:
According to the SCXML specification, a
send
element should have either atarget
ortargetexpr
attribute specifying the URI (in our case, a SCXML state machine's id) of the intended event's recipient (Sec. 6.2.2). In case both attributes are missing, the expected behavior is to add the event to the external event queue of the sending session (somewhere inside Sec. C.1).These are the common use-cases we have for the target attribute:
target="ID"
to explicitely name the target in case it is known (e.g., a plugin returning SUCCESS/RUNNING/FAILURE to the bt).targetexpr="_event.origin"
to send the event back to the sender of the event that is currently being processed.targetexpr="ORIGIN"
whereORIGIN
is a location's id of type URI (which normally is used to "save" a previous_event.origin
). This is usually done when neither of the above options is available.Currently, AS2FM omits the target from send elements, and this is an issue for the generation of the channel system.
It would need to:
targetexpr
, translate the expression (at least covering the above use-cases).In case of multiple targets, these have to be handled separately by sending the event individually. There is no "targetList"-like attribute.
The text was updated successfully, but these errors were encountered: