sccd.xml 4.9 KB

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