You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Jacob Beard (JIRA)" <ji...@apache.org> on 2010/07/22 20:16:50 UTC

[jira] Resolved: (SCXML-142) Proper handling of SCXML events

     [ https://issues.apache.org/jira/browse/SCXML-142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jacob Beard resolved SCXML-142.
-------------------------------

    Fix Version/s: GSoC
       Resolution: Fixed

Resolved in svn r966772

> Proper handling of SCXML events
> -------------------------------
>
>                 Key: SCXML-142
>                 URL: https://issues.apache.org/jira/browse/SCXML-142
>             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 http://www.w3.org/TR/scxml/#events. Specifically:
> {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', 'foo.bar' etc.) but would not match events named 'errors.my.custom' 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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.