1234567891011121314151617181920 |
- t:RAM_PNTransition {
- condition = ```
- # remove 1 token from every place connected with incoming arc
- for incoming in get_incoming(this, "arc"):
- in_place = get_source(incoming)
- in_place_state = get_source(get_incoming(in_place, "pn_of")[0])
- in_num_tokens = get_slot_value(in_place_state, "numTokens")
- set_slot_value(in_place_state, "numTokens", in_num_tokens - 1)
- print("PNPlace", get_name(in_place_state), "now has", in_num_tokens-1, "tokens")
- # add 1 token to every place connected with outgoing arc
- for outgoing in get_outgoing(this, "arc"):
- out_place = get_target(outgoing)
- out_place_state = get_source(get_incoming(out_place, "pn_of")[0])
- out_num_tokens = get_slot_value(out_place_state, "numTokens")
- set_slot_value(out_place_state, "numTokens", out_num_tokens + 1)
- print("PNPlace", get_name(out_place_state), "now has", out_num_tokens+1, "tokens")
- ```;
- }
|