Merge remote-tracking branch 'origin/master' into development

# Conflicts:
#	api/od.py
This commit is contained in:
Inte Vleminckx 2025-06-03 16:25:24 +02:00
commit 9475b1fdc5
38 changed files with 1028 additions and 15 deletions

View file

@ -1,3 +1,4 @@
from examples.schedule.RuleExecuter import RuleExecuter
from state.devstate import DevState
from api.od import ODAPI
from concrete_syntax.textual_od.renderer import render_od
@ -9,6 +10,10 @@ from transformation.ramify import ramify
from examples.semantics.operational import simulator
from examples.petrinet.renderer import show_petri_net
from examples.schedule.ScheduledActionGenerator import *
from examples.schedule.RuleExecuter import *
if __name__ == "__main__":
import os
@ -46,20 +51,25 @@ if __name__ == "__main__":
mm_rt_ramified,
["fire_transition"]) # only 1 rule :(
matcher_rewriter = RuleMatcherRewriter(state, mm_rt, mm_rt_ramified)
action_generator = ActionGenerator(matcher_rewriter, rules)
# matcher_rewriter = RuleMatcherRewriter(state, mm_rt, mm_rt_ramified)
# action_generator = ActionGenerator(matcher_rewriter, rules)
matcher_rewriter2 = RuleExecuter(state, mm_rt, mm_rt_ramified)
action_generator = ScheduleActionGenerator(matcher_rewriter2, f"models/schedule.od")
def render_callback(od):
show_petri_net(od)
# return render_od(state, od.m, od.mm)
return render_od_jinja2(state, od.m, od.mm)
sim = simulator.Simulator(
action_generator.generate_dot()
sim = simulator.MinimalSimulator(
action_generator=action_generator,
decision_maker=simulator.InteractiveDecisionMaker(auto_proceed=False),
# decision_maker=simulator.RandomDecisionMaker(seed=0),
renderer=render_callback,
termination_condition=action_generator.termination_condition,
# renderer=lambda od: render_od(state, od.m, od.mm),
)
sim.run(ODAPI(state, m_rt_initial, mm_rt))
sim.run(ODAPI(state, m_rt_initial, mm_rt))