sccd.xml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?xml version="1.1" ?>
  2. <diagram author="Sam Pieters" name="ClassParameterInitialisation">
  3. <description>
  4. Check if an instance is created and started successfully with constructor parameters (other than the default class)
  5. </description>
  6. <outport name="Outport"/>
  7. <class name="MainApp" default="true">
  8. <relationships>
  9. <association name="linkA" class="A" />
  10. </relationships>
  11. <scxml initial="state1">
  12. <state id="state1">
  13. <onentry>
  14. <raise scope="cd" event="create_instance">
  15. <parameter expr='"linkA"' />
  16. <parameter expr='"A"' />
  17. <!-- Constructor parameters -->
  18. <parameter expr='1' type="int" />
  19. <parameter expr='3.14' type="float" />
  20. <parameter expr='"test"' type="string" />
  21. <parameter expr='[1, 2, 3]' type="list" />
  22. <parameter expr='{"1": 1, "2": 2, "3": 3}' type="dict" />
  23. </raise>
  24. </onentry>
  25. <transition event='instance_created' target='../state2'>
  26. <parameter name="association_name" type="string"/>
  27. <raise port="Outport" event="instance_created_succesfully">
  28. <parameter expr="association_name" />
  29. </raise>
  30. <raise scope="cd" event="start_instance">
  31. <parameter expr="association_name" />
  32. </raise>
  33. </transition>
  34. </state>
  35. <state id="state2">
  36. <transition event='instance_started' target='.'>
  37. <parameter name="association_name" type="string"/>
  38. <raise port="Outport" event="instance_started_succesfully">
  39. <parameter expr="association_name" />
  40. </raise>
  41. </transition>
  42. </state>
  43. </scxml>
  44. </class>
  45. <class name="A">
  46. <constructor>
  47. <parameter name='integer' type="int" />
  48. <parameter name='floating_point' type="float" />
  49. <parameter name='astring' type="string" />
  50. <parameter name='alist' type="list" />
  51. <parameter name='adict' type="dict" />
  52. <body>
  53. self.integer = integer
  54. self.floating_point = floating_point
  55. self.astring = astring
  56. self.alist = alist
  57. self.adict = adict
  58. </body>
  59. </constructor>
  60. <scxml initial="state1">
  61. <state id="state1">
  62. <onentry>
  63. <raise port="Outport" event="statechart_started_succesfully" />
  64. <raise port="Outport" event="constructor_initialized_succesfully">
  65. <parameter expr="self.integer" />
  66. <parameter expr="self.floating_point" />
  67. <parameter expr="self.astring" />
  68. <parameter expr="self.alist" />
  69. <parameter expr="self.adict" />
  70. </raise>
  71. </onentry>
  72. </state>
  73. </scxml>
  74. </class>
  75. </diagram>