W3C home > Mailing lists > Public > www-voice@w3.org > April to June 2007

RE: [SCXML] <anchor> stuff?

From: Barnett, James <James.Barnett@aspect.com>
Date: Mon, 16 Apr 2007 08:24:54 -0400
Message-ID: <57686697B4E28949A90094A6469165C701DACDC9@ASP1EXCH1.aspect.com>
To: "Serge Voloshenyuk" <serge_voloshenyuk@yahoo.com>, <www-voice@w3.org>

Question 1:  <anchor> transitions can be chained.  Suppose states S1 and
S2 both have <anchor>s of type "Foo" and the machine enters S1, then S2,
then S3.  If the machine then takes a transition with 'anchor' "foo", it
will return to S2 and roll back the data model.  But now if in state S2
it takes a transition with 'anchor' "foo", it will go back to state S1
and roll back the data model again.  Thus the earlier anchors are not
unreachable and we must keep 2D array.


Question 2:  When the machine takes a transition with 'anchor' of "Foo"
back to state S2, the snapshots of all anchors visited since the last
time we were in S2 are erased (i.e. all snapshots "between" S2 and the
state that is the source of the transition.)  Given the logic of
anchors, none of these states can have an <anchor> of type "foo".


Question 3:  The current draft is not clear on this.  I would say it is
the state containing the <transition> with the 'anchor' attribute.  If
this is not a leaf state, this would involve re-entering its default
initial state, etc.  Parallel states would be treated exactly as they
would on normal state exit and entry.   We will clarify this in the next


- Jim



From: www-voice-request@w3.org [mailto:www-voice-request@w3.org] On
Behalf Of Serge Voloshenyuk
Sent: Saturday, April 14, 2007 1:35 PM
To: www-voice@w3.org
Subject: [SCXML] <anchor> stuff?


I would like to ask some questions about <anchor> stuff.
I really need answer for implementation.

1. Why do you use 2D array for DataSnapshots?
When machine enters to the state with <anchor>, other states with the
same type anchors become unreachable for transitions with anchor. So
DataSnapshots[<anchor type>] would suffice.
Or I lost something?

2. "As part of this restart, all intermediate anchors are erased.
Intermediate anchors are those that were set between the time the anchor
state was last visited and the point at which the transition with the
anchor state as target is taken. Note that all these anchors must have a
different type from the one that is the target of the transition."
Does this mean that snapshots of other type anchors will be erased? Or
only snapshots of the transition anchor's type?

3."If no state with a matching <anchor> type has been visited, the
current state is exited and re- entered."
What do you mean under "current state"?
 a. State of anchored transition.
 b. Leaf state(s) of subtree of compound state of anchored transition.
What about if this subtree has <parallel>s?
 c. All current leaf states of machine.
 d. LeastCommonAncestor of all current leaf states of machine.
 e. LeastCommonAncestor of all current leaf states which are childs of
the state of anchored transition.

With best regards, Serge.



Ahhh...imagining that irresistible "new car" smell?
Check out new cars at Yahoo! Autos.
Received on Monday, 16 April 2007 12:25:06 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:07:39 UTC