sccd.xml 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?xml version="1.1" ?>
  2. <diagram author="Sam Pieters" name="Create and Start Instance">
  3. <description>
  4. Test 8: Check if an instance is created and started successfully with constructor parameters (other than the main app)
  5. </description>
  6. <inport name="Inport" />
  7. <outport name="Outport"/>
  8. <class name="MainApp" default="true">
  9. <relationships>
  10. <association name="linkA" class="A" />
  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. <!-- Constructor parameters -->
  19. <parameter expr='1' type="int" />
  20. <parameter expr='3.14' type="float" />
  21. <parameter expr='"test"' type="string" />
  22. <parameter expr='[1, 2, 3]' type="list" />
  23. <parameter expr='{"1": 1, "2": 2, "3": 3}' type="dict" />
  24. </raise>
  25. </onentry>
  26. <transition event='instance_created' target='../state2'>
  27. <parameter name="association_name" type="string"/>
  28. <raise port="Outport" event="instance_created_succesfully">
  29. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  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='.'>
  39. <parameter name="association_name" type="string"/>
  40. <raise port="Outport" event="instance_started_succesfully">
  41. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  42. <parameter expr="association_name" />
  43. </raise>
  44. </transition>
  45. </state>
  46. </scxml>
  47. </class>
  48. <class name="A">
  49. <constructor>
  50. <parameter name='integer' type="int" />
  51. <parameter name='floating_point' type="float" />
  52. <parameter name='astring' type="string" />
  53. <parameter name='alist' type="list" />
  54. <parameter name='adict' type="dict" />
  55. <body>
  56. self.integer = integer
  57. self.floating_point = floating_point
  58. self.astring = astring
  59. self.alist = alist
  60. self.adict = adict
  61. </body>
  62. </constructor>
  63. <scxml initial="state1">
  64. <state id="state1">
  65. <onentry>
  66. <raise port="Outport" event="statechart_started_succesfully">
  67. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  68. </raise>
  69. <raise port="Outport" event="constructor_initialized_succesfully">
  70. <parameter expr="str('%.2f' % (self.getSimulatedTime() / 1000.0))" />
  71. <parameter expr="self.integer" />
  72. <parameter expr="self.floating_point" />
  73. <parameter expr="self.astring" />
  74. <parameter expr="self.alist" />
  75. <parameter expr="self.adict" />
  76. </raise>
  77. </onentry>
  78. </state>
  79. </scxml>
  80. </class>
  81. </diagram>