1234567891011121314151617181920212223242526272829303132333435363738394041 |
- include "primitives.alh"
- include "modelling.alh"
- include "object_operations.alh"
- Boolean function pn_print(model : Element):
- Element all_places
- String place
- String name
- Integer tokens
- String t
- Element all_t
- log("Places:")
- all_places = allInstances(model, "PetriNet/Place")
- while (set_len(all_places) > 0):
- place = set_pop(all_places)
- name = read_attribute(model, place, "name")
- tokens = read_attribute(model, place, "tokens")
- log(((" " + name) + ": ") + cast_value(tokens))
- log("Transitions:")
- all_places = allInstances(model, "PetriNet/Transition")
- while (set_len(all_places) > 0):
- place = set_pop(all_places)
- name = read_attribute(model, place, "name")
- log(" " + name)
- all_t = allIncomingAssociationInstances(model, place, "PetriNet/P2T")
- while (set_len(all_t) > 0):
- t = set_pop(all_t)
- log(" <-- " + cast_value(read_attribute(model, readAssociationSource(model, t), "name")))
- all_t = allOutgoingAssociationInstances(model, place, "PetriNet/T2P")
- while (set_len(all_t) > 0):
- t = set_pop(all_t)
- log(" --> " + cast_value(read_attribute(model, readAssociationDestination(model, t), "name")))
- return True!
|