test_functions.xml 905 B

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