You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Ate Douma (JIRA)" <ji...@apache.org> on 2014/04/21 21:48:17 UTC

[jira] [Resolved] (SCXML-203) Calculation of states to be entered can be depending on states to be exited and thereby also their possible history

     [ 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)