| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Modelling.PetriNet.Conflict
Synopsis
- type ConflictPlaces = ((Transition, Transition), [Place])
- checkConflictConfig :: BasicConfig -> ConflictConfig -> Maybe String
- checkFindConflictConfig :: FindConflictConfig -> Maybe String
- checkPickConflictConfig :: PickConflictConfig -> Maybe String
- conflictPlacesShow :: ConflictPlaces -> ((ShowTransition, ShowTransition), [ShowPlace])
- defaultFindConflictInstance :: FindInstance SimplePetriNet Conflict
- defaultPickConflictInstance :: PickInstance SimplePetriNet
- findConflict :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => FindConflictConfig -> Int -> RandT g m (p n String, PetriConflict' String)
- findConflictEvaluation :: forall (m :: Type -> Type) net. (Alternative m, Monad m, OutputCapable m) => FindInstance net Conflict -> (Transition, Transition) -> Rated m
- findConflictGenerate :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => FindConflictConfig -> Int -> Int -> m (FindInstance (p n String) Conflict)
- findConflictPlacesEvaluation :: forall (m :: Type -> Type) n. (Alternative m, Monad m, OutputCapable m) => FindInstance n Conflict -> ConflictPlaces -> Rated m
- findConflictPlacesSolution :: FindInstance n (PetriConflict p t) -> ((t, t), [p])
- findConflictSyntax :: forall (m :: Type -> Type) net. OutputCapable m => FindInstance net Conflict -> (Transition, Transition) -> LangM' m ()
- findConflictTask :: 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) Conflict -> LangM m
- parseConflict :: MonadThrow m => AlloyInstance -> m (PetriConflict' Object)
- petriNetFindConflict :: FindConflictConfig -> String
- petriNetPickConflict :: PickConflictConfig -> String
- pickConflict :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => PickConflictConfig -> Int -> RandT g m [(p n String, Maybe (PetriConflict' String))]
- pickConflictGenerate :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => PickConflictConfig -> Int -> Int -> m (PickInstance (p n String))
- pickConflictTask :: 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
- simpleFindConflictTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> FindInstance SimplePetriNet Conflict -> LangM m
- simplePickConflictTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> PickInstance SimplePetriNet -> LangM m
Documentation
type ConflictPlaces = ((Transition, Transition), [Place]) Source #
conflictPlacesShow :: ConflictPlaces -> ((ShowTransition, ShowTransition), [ShowPlace]) Source #
findConflict :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => FindConflictConfig -> Int -> RandT g m (p n String, PetriConflict' String) Source #
findConflictEvaluation :: forall (m :: Type -> Type) net. (Alternative m, Monad m, OutputCapable m) => FindInstance net Conflict -> (Transition, Transition) -> Rated m Source #
Arguments
| :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) | |
| => FindConflictConfig | |
| -> Int | |
| -> Int | Seed |
| -> m (FindInstance (p n String) Conflict) |
findConflictPlacesEvaluation :: forall (m :: Type -> Type) n. (Alternative m, Monad m, OutputCapable m) => FindInstance n Conflict -> ConflictPlaces -> Rated m Source #
findConflictPlacesSolution :: FindInstance n (PetriConflict p t) -> ((t, t), [p]) Source #
findConflictSyntax :: forall (m :: Type -> Type) net. OutputCapable m => FindInstance net Conflict -> (Transition, Transition) -> LangM' m () Source #
findConflictTask :: 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) Conflict -> LangM m Source #
parseConflict :: MonadThrow m => AlloyInstance -> m (PetriConflict' Object) Source #
Parses the conflict Skolem variables for singleton of transitions and returns both as tuple. It returns an error message instead if unexpected behaviour occurs.
pickConflict :: forall (m :: Type -> Type) p (n :: Type -> Type) g. (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => PickConflictConfig -> Int -> RandT g m [(p n String, Maybe (PetriConflict' String))] Source #
pickConflictGenerate :: forall m p (n :: Type -> Type). (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => PickConflictConfig -> Int -> Int -> m (PickInstance (p n String)) Source #
pickConflictTask :: 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 #
simpleFindConflictTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> FindInstance SimplePetriNet Conflict -> LangM m Source #
simplePickConflictTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => Bool -> FilePath -> PickInstance SimplePetriNet -> LangM m Source #