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

Ate Douma resolved SCXML-203.
-----------------------------

    Resolution: Fixed

> Calculation of states to be entered can be depending on states to be exited 
> and thereby also their possible history
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: SCXML-203
>                 URL: https://issues.apache.org/jira/browse/SCXML-203
>             Project: Commons SCXML
>          Issue Type: Bug
>    Affects Versions: 2.0
>            Reporter: Ate Douma
>            Assignee: Ate Douma
>            Priority: Minor
>             Fix For: 2.0
>
>
> Currently the SCXMLSemantics implementation calculates the states to be 
> exited and entered upfront, before the actual exiting and entering is 
> performed.
> This is done explicitly to be able to ensure the resulting active states 
> configuration is a valid one.
> However, the currently implementation overlooks the fact that for certain 
> transitions the states exited may have to be re-entered again. And if for 
> those exited state(s) history is recorded, then this might influence and 
> change the resulting set of entered states.
> Thus the current implementation therefore needs to be corrected for this.
> However, following the exact order of processing and execution as defined by 
> SCXML specification its algorithm for SCXML processing will result in exiting 
> states before the determination of the states to be entered. The resulting 
> active state configuration is 'assumed' to be always valid thereafter. 
>  
> To be able to still ensure the resulting active state configuration to be 
> valid *before* actually transition to it (like we do now), the calculation of 
> the states to exit will now be done by also upfront recording the histories 
> for these states (if applicable) as temporary configurations in the Step 
> itself.
> When the step to be taken is ensured to be valid, these 'pre-recorded' 
> histories will be persisted to the SCInstance when the states are actually 
> exited, while they already can be used before to determine the proper and 
> correct states to enter if needed.  



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to