commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ate Douma (JIRA)" <>
Subject [jira] [Closed] (SCXML-142) Proper handling of SCXML events
Date Sun, 16 Feb 2014 01:23:23 GMT


Ate Douma closed SCXML-142.

> Proper handling of SCXML events
> -------------------------------
>                 Key: SCXML-142
>                 URL:
>             Project: Commons SCXML
>          Issue Type: Sub-task
>    Affects Versions: GSoC
>            Reporter: Jacob Beard
>            Assignee: Jacob Beard
>             Fix For: GSoC
> Current implementation is not fully compliant with
> {quote}
> Events have names which are matched against the "event" attribute of transitions. These
names are strings consisting of alphanumeric characters plus the character '.' which is used
to segment names into tokens. The "event" attribute of a transition consists of one or more
event designators separated by spaces. A transition matches an event if one of its event designators
is identical to the event's name or if it is a sequence of tokens that form a prefix of the
event's name. Thus a transition with an "event" attribute of 'error foo' will match events
named 'error', 'error.send', 'error.send.failed', etc. (or 'foo', '' etc.) but would
not match events named '' or 'errorhandler.mistake' (or 'foobar'). For compatibility
with CCXML, and to make the prefix matching possibly more clear to a reader of the SCXML document,
an event designator may also end with the wildcard '.*', which matches zero or more tokens
at the end of the processed event's name. Note that a transition with "event" of 'error' and
one with 'error.*' are functionally equivalent since the transition selection algorithm always
runs prefix matching on the "event" attribute. As further syntactic sugar, an event designator
consisting solely of '*' can be used as a wildcard matching any sequence of tokens which thus
will match any event. Note that this is different from a transition lacking the "event" attribute
altogether. Such an eventless transition does not match any event, but will be taken whenever
its "cond" attribute evaluates to 'true'. As shown in B Algorithm for SCXML Interpretation,
the SCXML interpreter will check for such eventless transitions when it first enters a state,
before it looks for transitions driven by internal or external events.
> {quote}
> Currently, SCXML events are simply enumerated for efficiency. 

This message was sent by Atlassian JIRA

View raw message