| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?xml version="1.1" ?>
- <diagram author="Sam Pieters" name="Dissasociate and associate an instance">
- <description>
- TODO: Does not work as I think it does
- Test 13: Dissasociate an instance and then associate an instance again
- </description>
- <inport name="ui"/>
- <outport name="ui"/>
- <class name="MainApp" default="true">
- <relationships>
- <association name="linkA" class="A" />
- </relationships>
- <constructor>
- <body>
- self.association_name = None
- </body>
- </constructor>
- <scxml initial="state1">
- <state id="state1">
- <onentry>
- <raise scope="cd" event="create_instance">
- <parameter expr='"linkA"' />
- <parameter expr='"A"' />
- </raise>
- </onentry>
- <transition event='instance_created' target='../state2'>
- <parameter name="association_name" type="string"/>
- <script>
- self.association_name = association_name
- </script>
- <raise port="ui" event="instance_created_succesfully">
- <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
- <parameter expr="association_name" />
- </raise>
- <raise scope="cd" event="start_instance">
- <parameter expr="association_name" />
- </raise>
- </transition>
- </state>
- <state id="state2">
- <transition event='instance_started' target='../state3'>
- <parameter name="association_name" type="string"/>
- <raise port="ui" event="instance_started_succesfully">
- <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
- <parameter expr="association_name" />
- </raise>
- <raise scope="narrow" event="link_check" target="association_name">
- <parameter expr="association_name" />
- </raise>
- </transition>
- </state>
- <state id="state3">
- <onentry>
- <raise scope="cd" event='disassociate_instance'>
- <parameter expr='"linkA"' />
- </raise>
- </onentry>
- <transition event='instance_disassociated' target='../state4'>
- <parameter name='deleted_links' />
- <raise port="ui" event="instance_disassociated_succesfully">
- <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
- <parameter expr="deleted_links" />
- </raise>
- </transition>
- </state>
- <state id="state4">
- <onentry>
- <raise scope="narrow" event="sanity_check" target="self.association_name" />
- </onentry>
- <transition target='../state5'>
- <raise scope="cd" event='associate_instance'>
- <parameter expr='self.association_name' />
- <parameter expr='"linkA"' />
- </raise>
- </transition>
- </state>
- <state id="state5">
- <transition event='instance_associated' target='.'>
- <parameter name='created_links' />
- <raise scope="narrow" event="sanity_check" target="created_links" />
- </transition>
- </state>
- </scxml>
- </class>
- <class name="A">
- <scxml initial="state1">
- <state id="state1">
- <onentry>
- <raise port="ui" event="statechart_started_succesfully">
- <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
- </raise>
- </onentry>
- <transition target="../state2" />
- </state>
- <state id="state2">
- <transition event="link_check" target=".">
- <parameter name='link_name' />
- <raise port="ui" event="instance_linked_succesfully">
- <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
- <parameter expr="link_name" />
- </raise>
- </transition>
- <transition event="sanity_check" target=".">
- <raise port="ui" event="not_possible">
- <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
- </raise>
- </transition>
- </state>
- </scxml>
- </class>
- </diagram>
|