123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?xml version="1.0" ?>
- <diagram
- xmlns="msdl.uantwerpen.be/sccd"
- author="Joeri Exelmans"
- name="take_many_queue">
- <description>
- Internal event lifeline - Queue-semantics: Internally raised events are treated like external events and are added to the object's event queue. They become present in another big step later on.
- </description>
- <inport name="in"/>
- <outport name="out"/>
- <class name="c" default="true">
- <scxml initial="a" big_step_maximality="take_many" internal_event_lifeline="queue">
- <state id="a">
- <onentry>
- <raise event="entered_a" port="out"/>
- </onentry>
- <transition event="e" port="in" target="../b">
- <raise event="f"/>
- </transition>
- </state>
- <state id="b">
- <onentry>
- <raise event="entered_b" port="out"/>
- </onentry>
- <transition event="f" target="../c"/>
- </state>
- <state id="c">
- <onentry>
- <raise event="entered_c" port="out"/>
- </onentry>
- </state>
- </scxml>
- </class>
- <test>
- <input>
- <event name="e" port="in" time="0.0"/>
- </input>
- <expected>
- <slot>
- <!-- initialization -->
- <event name="entered_a" port="out"/>
- </slot>
- <slot>
- <!-- big step, input events = [e] -->
- <event name="entered_b" port="out"/>
- </slot>
- <slot>
- <!-- big step, input events = [f] -->
- <event name="entered_c" port="out"/>
- </slot>
- </expected>
- </test>
- </diagram>
|