sccd.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?xml version="1.1" ?>
  2. <diagram author="Sam Pieters" name="Dissasociate multiple instances">
  3. <description>
  4. Test 23: Dissasociate multiple instances
  5. </description>
  6. <inport name="ui"/>
  7. <outport name="ui"/>
  8. <class name="MainApp" default="true">
  9. <relationships>
  10. <association name="linkA" class="A" />
  11. </relationships>
  12. <constructor>
  13. <body>
  14. self.association_name = None
  15. </body>
  16. </constructor>
  17. <scxml initial="state1">
  18. <state id="state1">
  19. <onentry>
  20. <raise scope="cd" event="create_instance">
  21. <parameter expr='"linkA"' />
  22. <parameter expr='"A"' />
  23. </raise>
  24. </onentry>
  25. <transition event='instance_created' target='../state2'>
  26. <parameter name="association_name" type="string"/>
  27. <script>
  28. self.association_name = association_name
  29. </script>
  30. <raise port="ui" event="instance_created_succesfully">
  31. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  32. <parameter expr="association_name" />
  33. </raise>
  34. <raise scope="cd" event="start_instance">
  35. <parameter expr="association_name" />
  36. </raise>
  37. </transition>
  38. </state>
  39. <state id="state2">
  40. <onentry>
  41. <raise scope="cd" event="create_instance">
  42. <parameter expr='"linkA"' />
  43. <parameter expr='"A"' />
  44. </raise>
  45. </onentry>
  46. <transition event='instance_created' target='../state3'>
  47. <parameter name="association_name" type="string"/>
  48. <script>
  49. self.association_name = association_name
  50. </script>
  51. <raise port="ui" event="instance_created_succesfully">
  52. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  53. <parameter expr="association_name" />
  54. </raise>
  55. <raise scope="cd" event="start_instance">
  56. <parameter expr="association_name" />
  57. </raise>
  58. </transition>
  59. </state>
  60. <state id="state3">
  61. <transition event='instance_started' target='../state4'>
  62. <parameter name="association_name" type="string"/>
  63. <raise port="ui" event="instance_started_succesfully">
  64. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  65. <parameter expr="association_name" />
  66. </raise>
  67. <raise scope="narrow" event="link_check" target="association_name">
  68. <parameter expr="association_name" />
  69. </raise>
  70. </transition>
  71. </state>
  72. <state id="state4">
  73. <onentry>
  74. <raise scope="cd" event='disassociate_instance'>
  75. <parameter expr='"linkA"' />
  76. </raise>
  77. </onentry>
  78. <transition event='instance_disassociated' target='../state5'>
  79. <parameter name='deleted_links' />
  80. <raise port="ui" event="instance_disassociated_succesfully">
  81. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  82. <parameter expr="deleted_links" />
  83. </raise>
  84. </transition>
  85. </state>
  86. <state id="state5">
  87. <onentry>
  88. <raise scope="narrow" event="sanity_check" target="self.association_name" />
  89. </onentry>
  90. </state>
  91. </scxml>
  92. </class>
  93. <class name="A">
  94. <scxml initial="state1">
  95. <state id="state1">
  96. <onentry>
  97. <raise port="ui" event="statechart_started_succesfully">
  98. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  99. </raise>
  100. </onentry>
  101. <transition target="../state2" />
  102. </state>
  103. <state id="state2">
  104. <transition event="link_check" target=".">
  105. <parameter name='link_name' />
  106. <raise port="ui" event="instance_linked_succesfully">
  107. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  108. <parameter expr="link_name" />
  109. </raise>
  110. </transition>
  111. <transition event="sanity_check" target=".">
  112. <raise port="ui" event="not_possible">
  113. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  114. </raise>
  115. </transition>
  116. </state>
  117. </scxml>
  118. </class>
  119. </diagram>