fix runner_exec_pn

This commit is contained in:
Joeri Exelmans 2024-12-11 11:33:04 +01:00
parent 9e74075066
commit c7288635f8

View file

@ -17,7 +17,7 @@ from examples.semantics.operational.simulator import Simulator, RandomDecisionMa
from examples.semantics.operational.port import models
from examples.semantics.operational.port.helpers import design_to_state, state_to_design, get_time
from examples.semantics.operational.port.renderer import render_port_textual, render_port_graphviz
from examples.petrinet.renderer import render_petri_net
from examples.petrinet.renderer import show_petri_net
from examples.semantics.operational import simulator
import os
@ -68,12 +68,15 @@ if __name__ == "__main__":
matcher_rewriter = RuleMatcherRewriter(state, merged_mm, ramified_merged_mm)
action_generator = ActionGenerator(matcher_rewriter, rules)
def render(od):
show_petri_net(od) # graphviz in web browser
return renderer.render_od(state, od.m, od.mm) # text in terminal
sim = simulator.Simulator(
action_generator=action_generator,
decision_maker=simulator.InteractiveDecisionMaker(auto_proceed=False),
# decision_maker=simulator.RandomDecisionMaker(seed=0),
renderer=lambda od: render_petri_net(od) + renderer.render_od(state, od.m, od.mm),
# renderer=lambda od: render_od(state, od.m, od.mm),
renderer=render,
)
sim.run(ODAPI(state, model, merged_mm))