sccd.xml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?xml version="1.1" ?>
  2. <diagram author="Sam Pieters" name="DisassociateInstance">
  3. <description>
  4. Disassociate an instance
  5. </description>
  6. <outport name="Outport"/>
  7. <class name="MainApp" default="true">
  8. <relationships>
  9. <association name="linkA" class="A" />
  10. </relationships>
  11. <constructor>
  12. <body>
  13. self.association_name = None
  14. </body>
  15. </constructor>
  16. <scxml initial="state1">
  17. <state id="state1">
  18. <onentry>
  19. <raise scope="cd" event="create_instance">
  20. <parameter expr='"linkA"' />
  21. <parameter expr='"A"' />
  22. </raise>
  23. </onentry>
  24. <transition event='instance_created' target='../state2'>
  25. <parameter name="association_name" type="string"/>
  26. <script>
  27. self.association_name = association_name
  28. </script>
  29. <raise port="Outport" event="instance_created_succesfully">
  30. <parameter expr="association_name" />
  31. </raise>
  32. <raise scope="cd" event="start_instance">
  33. <parameter expr="association_name" />
  34. </raise>
  35. </transition>
  36. </state>
  37. <state id="state2">
  38. <transition event='instance_started' target='../state3'>
  39. <parameter name="association_name" type="string"/>
  40. <raise port="Outport" event="instance_started_succesfully">
  41. <parameter expr="association_name" />
  42. </raise>
  43. <raise scope="narrow" event="link_check" target="association_name">
  44. <parameter expr="association_name" />
  45. </raise>
  46. </transition>
  47. </state>
  48. <state id="state3">
  49. <onentry>
  50. <raise scope="cd" event='disassociate_instance'>
  51. <parameter expr='"linkA"' />
  52. </raise>
  53. </onentry>
  54. <transition event='instance_disassociated' target='../state4'>
  55. <parameter name='deleted_links' />
  56. <raise port="Outport" event="instance_disassociated_succesfully">
  57. <parameter expr="deleted_links" />
  58. </raise>
  59. </transition>
  60. </state>
  61. <state id="state4">
  62. <onentry>
  63. <raise scope="narrow" event="sanity_check" target="self.association_name" />
  64. </onentry>
  65. </state>
  66. </scxml>
  67. </class>
  68. <class name="A">
  69. <scxml initial="state1">
  70. <state id="state1">
  71. <onentry>
  72. <raise port="Outport" event="statechart_started_succesfully" />
  73. </onentry>
  74. <transition target="../state2" />
  75. </state>
  76. <state id="state2">
  77. <transition event="link_check" target=".">
  78. <parameter name='link_name' />
  79. <raise port="Outport" event="instance_linked_succesfully">
  80. <parameter expr="link_name" />
  81. </raise>
  82. </transition>
  83. <transition event="sanity_check" target=".">
  84. <raise port="Outport" event="not_possible" />
  85. </transition>
  86. </state>
  87. </scxml>
  88. </class>
  89. </diagram>