RE: test for default history content

The current language in the spec requires this behavior, because we say things like: "If it has, the SCXML processor MUST behave as if the transition had taken the stored state configuration for that history state as its target. If it has not, the SCXML processor MUST behave as if the transition had taken the default stored state configuration for that history state as its target."  This kind of language means that transitions with history targets act as if they had been written with the history value as the target.  We can change this if we want to, but it would require a fair amount of thought and reworking of the spec to accomplish this.

- Jim

-----Original Message-----
From: David Junger [mailto:tffy@free.fr] 
Sent: Tuesday, April 08, 2014 4:03 PM
To: Voice List
Subject: Re: test for default history content

Le 8 apr 2014 à 21:36, Jim Barnett <1jhbarnett@gmail.com> a écrit :

>  Here's an example that shows why we have to dereference history states when computing the transition domain.  Consider a state S with a deep history state H1, plus two child  states S1 and S2, which are both deeply nested (have a number of descendent states.) Now add a transition to S1 with target H1 and type 'internal'.  What is the domain of this transition?  I think that it depends on whether the deep history value contains a descendent of S1 or of S2.  If the deep history value is a descendent of S1, then the target of the transition is a descendent of S1, so the transition is internal and the domain is S1.  However if the deep history value is a descendent of S2, the transition is not internal and the domain is S.  So I think that we do need to dereference the actual history value to compute the domain.

Hmmm. Is that what we want, though? Aren't State Charts supposed to be particularly friendly to static analysis, which would be somewhat thrown off by the need to recompute some transitions' LCCA at runtime? not that I'm doing any of that, but some people are.

			David

Received on Tuesday, 8 April 2014 20:25:41 UTC