| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Modelling.PetriNet.Concurrency
Synopsis
- checkFindConcurrencyConfig :: FindConcurrencyConfig -> Maybe String
- checkPickConcurrencyConfig :: PickConcurrencyConfig -> Maybe String
- defaultFindConcurrencyInstance :: FindInstance SimplePetriNet (Concurrent Transition)
- defaultPickConcurrencyInstance :: PickInstance SimplePetriNet
- findConcurrency :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => FindConcurrencyConfig -> Int -> RandT g m (p n String, Concurrent String)
- findConcurrencyEvaluation :: forall (m :: Type -> Type) net. (Monad m, OutputCapable m) => FindInstance net (Concurrent Transition) -> (Transition, Transition) -> Rated m
- findConcurrencyGenerate :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => FindConcurrencyConfig -> Int -> Int -> m (FindInstance (p n String) (Concurrent Transition))
- findConcurrencySolution :: FindInstance net (Concurrent a) -> (a, a)
- findConcurrencySyntax :: forall (m :: Type -> Type) net. OutputCapable m => FindInstance net (Concurrent Transition) -> (Transition, Transition) -> LangM' m ()
- findConcurrencyTask :: forall (n :: Type -> Type) p (m :: Type -> Type). (Data (n String), Data (p n String), MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, Net p n, OutputCapable m, Typeable n, Typeable p) => Bool -> FilePath -> FindInstance (p n String) (Concurrent Transition) -> LangM m
- parseConcurrency :: MonadThrow m => AlloyInstance -> m (Concurrent Object)
- petriNetFindConcur :: FindConcurrencyConfig -> String
- petriNetPickConcur :: PickConcurrencyConfig -> String
- pickConcurrency :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => PickConcurrencyConfig -> Int -> RandT g m [(p n String, Maybe (Concurrent String))]
- pickConcurrencyGenerate :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => PickConcurrencyConfig -> Int -> Int -> m (PickInstance (p n String))
- pickConcurrencyTask :: forall (n :: Type -> Type) p (m :: Type -> Type). (Data (n String), Data (p n String), MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, Net p n, OutputCapable m, Typeable n, Typeable p) => Bool -> FilePath -> PickInstance (p n String) -> LangM m
- simpleFindConcurrencyTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> FindInstance SimplePetriNet (Concurrent Transition) -> LangM m
- simplePickConcurrencyTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> PickInstance SimplePetriNet -> LangM m
Documentation
findConcurrency :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => FindConcurrencyConfig -> Int -> RandT g m (p n String, Concurrent String) Source #
findConcurrencyEvaluation :: forall (m :: Type -> Type) net. (Monad m, OutputCapable m) => FindInstance net (Concurrent Transition) -> (Transition, Transition) -> Rated m Source #
findConcurrencyGenerate :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => FindConcurrencyConfig -> Int -> Int -> m (FindInstance (p n String) (Concurrent Transition)) Source #
findConcurrencySolution :: FindInstance net (Concurrent a) -> (a, a) Source #
findConcurrencySyntax :: forall (m :: Type -> Type) net. OutputCapable m => FindInstance net (Concurrent Transition) -> (Transition, Transition) -> LangM' m () Source #
findConcurrencyTask :: forall (n :: Type -> Type) p (m :: Type -> Type). (Data (n String), Data (p n String), MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, Net p n, OutputCapable m, Typeable n, Typeable p) => Bool -> 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 :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => PickConcurrencyConfig -> Int -> RandT g m [(p n String, Maybe (Concurrent String))] Source #
pickConcurrencyGenerate :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => PickConcurrencyConfig -> Int -> Int -> m (PickInstance (p n String)) Source #
pickConcurrencyTask :: forall (n :: Type -> Type) p (m :: Type -> Type). (Data (n String), Data (p n String), MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, Net p n, OutputCapable m, Typeable n, Typeable p) => Bool -> FilePath -> PickInstance (p n String) -> LangM m Source #
simpleFindConcurrencyTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> FindInstance SimplePetriNet (Concurrent Transition) -> LangM m Source #
simplePickConcurrencyTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> PickInstance SimplePetriNet -> LangM m Source #