modelling-tasks-0.0.0.1
Safe HaskellSafe-Inferred
LanguageHaskell2010

Modelling.PetriNet.Concurrency

Synopsis

Documentation

findConcurrency :: (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => FindConcurrencyConfig -> Int -> RandT g m (p n String, Concurrent String) Source #

findConcurrencyGenerate :: (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => FindConcurrencyConfig -> Int -> Int -> m (FindInstance (p n String) (Concurrent Transition)) Source #

findConcurrencySyntax :: OutputCapable m => FindInstance net (Concurrent Transition) -> (Transition, Transition) -> LangM' m () Source #

findConcurrencyTask :: (Data (n String), Data (p n String), MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, Net p n, OutputCapable m, Typeable n, Typeable p) => FilePath -> FindInstance (p n String) (Concurrent Transition) -> LangM m Source #

parseConcurrency :: MonadThrow m => AlloyInstance -> m (Concurrent Object) Source #

Parses the concurrency Skolem variables for singleton of transitions and returns both as tuple. It throws an error instead if unexpected behaviour occurs.

pickConcurrency :: (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => PickConcurrencyConfig -> Int -> RandT g m [(p n String, Maybe (Concurrent String))] Source #

pickConcurrencyGenerate :: (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => PickConcurrencyConfig -> Int -> Int -> m (PickInstance (p n String)) Source #

pickConcurrencyTask :: (Data (n String), Data (p n String), MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, Net p n, OutputCapable m, Typeable n, Typeable p) => FilePath -> PickInstance (p n String) -> LangM m Source #

simpleFindConcurrencyTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => FilePath -> FindInstance SimplePetriNet (Concurrent Transition) -> LangM m Source #

simplePickConcurrencyTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => FilePath -> PickInstance SimplePetriNet -> LangM m Source #