commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacob Beard (JIRA)" <>
Subject [jira] Created: (SCXML-142) Proper handling of SCXML events
Date Wed, 23 Jun 2010 15:45:50 GMT
Proper handling of SCXML events

                 Key: SCXML-142
             Project: Commons SCXML
          Issue Type: Sub-task
    Affects Versions: GSoC
            Reporter: Jacob Beard
            Assignee: Jacob Beard

Current implementation is not fully compliant with Specifically:

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.

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.

View raw message