modelling-tasks-0.0.0.1
Safe HaskellNone
LanguageHaskell2010

Modelling.PetriNet.Conflict

Synopsis

Documentation

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 #

findConflictGenerate 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 #

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 #