r_fire_transition_rhs.od 939 B

1234567891011121314151617181920
  1. t:RAM_PNTransition {
  2. condition = ```
  3. # remove 1 token from every place connected with incoming arc
  4. for incoming in get_incoming(this, "arc"):
  5. in_place = get_source(incoming)
  6. in_place_state = get_source(get_incoming(in_place, "pn_of")[0])
  7. in_num_tokens = get_slot_value(in_place_state, "numTokens")
  8. set_slot_value(in_place_state, "numTokens", in_num_tokens - 1)
  9. print("PNPlace", get_name(in_place_state), "now has", in_num_tokens-1, "tokens")
  10. # add 1 token to every place connected with outgoing arc
  11. for outgoing in get_outgoing(this, "arc"):
  12. out_place = get_target(outgoing)
  13. out_place_state = get_source(get_incoming(out_place, "pn_of")[0])
  14. out_num_tokens = get_slot_value(out_place_state, "numTokens")
  15. set_slot_value(out_place_state, "numTokens", out_num_tokens + 1)
  16. print("PNPlace", get_name(out_place_state), "now has", out_num_tokens+1, "tokens")
  17. ```;
  18. }