test_functions.xml 885 B

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