test_functions.xml 947 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?xml version="1.0" ?>
  2. <test>
  3. <statechart>
  4. <datamodel>
  5. import sccd.action_lang.lib.utils;
  6. digit = func(i:int, pos:int) {
  7. pow = 10 ** pos;
  8. return i // pow % 10;
  9. };
  10. numdigits = func(i:int) {
  11. return float_to_int(log10(i)) + 1;
  12. };
  13. parameterless = func {};
  14. ok = numdigits(123) == 3 and digit(123, 1) == 2;
  15. </datamodel>
  16. <inport name="in">
  17. <event name="start"/>
  18. </inport>
  19. <outport name="out">
  20. <event name="ok"/>
  21. </outport>
  22. <root initial="ready">
  23. <state id="ready">
  24. <transition event="start" target="../final"
  25. cond="ok">
  26. <raise event="ok"/>
  27. </transition>
  28. </state>
  29. <state id="final"/>
  30. </root>
  31. </statechart>
  32. <input>
  33. <event port="in" name="start" time="0 d"/>
  34. </input>
  35. <output>
  36. <big_step>
  37. <event port="out" name="ok"/>
  38. </big_step>
  39. </output>
  40. </test>