module CSPM.FiringRules.EnumerateEventsList
(
computeTransitions
,eventTransitions
,tauTransitions
,tickTransitions
)
where
import CSPM.CoreLanguage
import CSPM.CoreLanguage.Event
import CSPM.FiringRules.Rules
import qualified CSPM.FiringRules.EnumerateEvents as EE
import CSPM.FiringRules.Search (runSearch)
computeTransitions :: forall i. BL i
=> Sigma i -> Process i -> [Rule i]
computeTransitions events p
= runSearch $ EE.computeTransitions events p
eventTransitions :: forall i. BL i
=> Sigma i -> Process i -> [RuleEvent i]
eventTransitions sigma p = runSearch $ EE.eventTransitions sigma p
tauTransitions :: forall i. BL i => Process i -> [RuleTau i]
tauTransitions = runSearch . EE.tauTransitions
tickTransitions :: BL i => Process i -> [RuleTick i]
tickTransitions = runSearch . EE.tickTransitions