blob: fe09a129a8abffb9429774e9b2c5788bff3208a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- we test that delayed <send> is not sent if the sending session terminates. In this case,
a subscript is invoked which sends the event childToParent delayed by 1 second, and then terminates. The
parent session, should not receive childToParent. If it does, we fail. Otherwise the
10 sec timer expires and we pass -->
<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="promela">
<state id="s0">
<onentry>
<send event="timeout" delayexpr="1000"/>
</onentry>
<invoke type="scxml">
<content>
<!-- exit before the delayed send can execute -->
<scxml initial="sub0" version="1.0" datamodel="promela">
<state id="sub0">
<onentry>
<send event="childToParent" target="#_parent" delayexpr="500"/>
</onentry>
<transition target="subFinal"/>
</state>
<final id="subFinal"/>
</scxml>
</content>
</invoke>
<transition event="childToParent" target="fail"/>
<transition event="timeout" target="pass"/>
</state>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="pass">
<onentry>
<log label="Outcome" expr="'pass'"/>
</onentry>
</final>
<final xmlns:scxml="http://www.w3.org/2005/07/scxml" id="fail">
<onentry>
<log label="Outcome" expr="'fail'"/>
</onentry>
</final>
</scxml>
|