<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.