commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ate Douma (JIRA)" <>
Subject [jira] [Commented] (SCXML-101) <datamodel> not handled as global
Date Wed, 11 Feb 2015 22:49:12 GMT


Ate Douma commented on SCXML-101:

Some of the W3C specification implementation test [1] actually do check and require a 'flat'
or global datamodel.
To allow enforcing and passing these tests, I'll add an option to SCXMLExecutor to restrict
usage of a 'single' Context, e.g. scxmlExecutor.setSingleContext(boolean)
The default of course remains using hierarchical contexts. 

> <datamodel> not handled as global
> ---------------------------------
>                 Key: SCXML-101
>                 URL:
>             Project: Commons SCXML
>          Issue Type: Bug
>    Affects Versions: 0.9
>            Reporter: Ingmar Kliche
>            Assignee: Ate Douma
>             Fix For: 2.0
> 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]

This message was sent by Atlassian JIRA

View raw message