<datamodel> not handled as global
---------------------------------

                 Key: SCXML-101
                 URL: https://issues.apache.org/jira/browse/SCXML-101
             Project: Commons SCXML
          Issue Type: Bug
    Affects Versions: 0.9
            Reporter: Ingmar Kliche


The SCXML spec says: "Logically, there is a single globally visible data model 
for the entire state machine. As an authoring convenience, however, we allow 
<datamodel> as a child of any <state>, thus allowing parts of the data model to 
be distributed throughout the document closer to the locations where the data 
will be accessed. However, all instances of the <data> element are created and 
initialized when the state machine is instantiated and may be accessed from any 
state at any time." [1]

There are two issues:

1) The current impl of commons-scxml introduced a scoping, such that <data> in 
<datamodel> elements contained within a <state> are only visible in this state 
and its children (due to context chain). I.e. the <datamodel> is not entirely 
global.

2) Initialization of <datamodel>'s contained in a <state> (i.e. 
non-root-datamodels) take place while entering the corresponding state for the 
first time while creating the context (SCXMLInstance#getContext()). But 
initialization of <data> elements has to take place at state machine 
initialization time.

[1] http://www.w3.org/TR/scxml/#datamodel

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to