sccd.xml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?xml version="1.1" ?>
  2. <diagram author="Sam Pieters" name="MultipleClassesInitialisation">
  3. <description>
  4. Check if an instance of multiple classes are created and started successfully
  5. </description>
  6. <outport name="Outport"/>
  7. <class name="MainApp" default="true">
  8. <relationships>
  9. <association name="linkA" class="A" />
  10. <association name="linkB" class="B" />
  11. </relationships>
  12. <scxml initial="state1">
  13. <state id="state1">
  14. <onentry>
  15. <raise scope="cd" event="create_instance">
  16. <parameter expr='"linkA"' />
  17. <parameter expr='"A"' />
  18. </raise>
  19. </onentry>
  20. <transition event='instance_created' target='../state2'>
  21. <parameter name="association_name" type="string"/>
  22. <raise port="Outport" event="instance_created_succesfully">
  23. <parameter expr="association_name" />
  24. </raise>
  25. <raise scope="cd" event="start_instance">
  26. <parameter expr='association_name' />
  27. </raise>
  28. </transition>
  29. </state>
  30. <state id="state2">
  31. <transition event='instance_started' target='../state3'>
  32. <parameter name="association_name" type="string"/>
  33. <raise port="Outport" event="instance_started_succesfully">
  34. <parameter expr="association_name" />
  35. </raise>
  36. <raise scope="cd" event="create_instance">
  37. <parameter expr='"linkB"' />
  38. <parameter expr='"B"' />
  39. </raise>
  40. </transition>
  41. </state>
  42. <state id="state3">
  43. <transition event='instance_created' target='../state4'>
  44. <parameter name="association_name" type="string"/>
  45. <raise port="Outport" event="instance_created_succesfully">
  46. <parameter expr="association_name" />
  47. </raise>
  48. <raise scope="cd" event="start_instance">
  49. <parameter expr='association_name' />
  50. </raise>
  51. </transition>
  52. </state>
  53. <state id="state4">
  54. <transition event='instance_started' target='../state5'>
  55. <parameter name="association_name" type="string"/>
  56. <raise port="Outport" event="instance_started_succesfully">
  57. <parameter expr="association_name" />
  58. </raise>
  59. </transition>
  60. </state>
  61. <state id="state5" />
  62. </scxml>
  63. </class>
  64. <class name="A">
  65. <relationships>
  66. <association name="linkB" class="B" />
  67. </relationships>
  68. <scxml initial="state1">
  69. <state id="state1">
  70. <onentry>
  71. <raise port="Outport" event="statechart_started_succesfully" />
  72. </onentry>
  73. <transition event='instance_created' target='../not_possible' />
  74. </state>
  75. <state id="not_possible">
  76. <onentry>
  77. <raise port="Outport" event="should_not_happen" />
  78. </onentry>
  79. </state>
  80. </scxml>
  81. </class>
  82. <class name="B">
  83. <scxml initial="state1">
  84. <state id="state1">
  85. <onentry>
  86. <raise port="Outport" event="statechart_started_succesfully" />
  87. </onentry>
  88. <transition event='instance_created' target='../not_possible' />
  89. </state>
  90. <state id="not_possible">
  91. <onentry>
  92. <raise port="Outport" event="should_not_happen" />
  93. </onentry>
  94. </state>
  95. </scxml>
  96. </class>
  97. </diagram>