Safe Haskell | Safe-Inferred |
---|---|
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 :: (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => FindConflictConfig -> Int -> RandT g m (p n String, PetriConflict' String)
- findConflictEvaluation :: (Alternative m, Monad m, OutputCapable m) => FindInstance net Conflict -> (Transition, Transition) -> Rated m
- findConflictGenerate :: (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => FindConflictConfig -> Int -> Int -> m (FindInstance (p n String) Conflict)
- findConflictPlacesEvaluation :: (Alternative m, Monad m, OutputCapable m) => FindInstance n Conflict -> ConflictPlaces -> Rated m
- findConflictPlacesSolution :: FindInstance n (PetriConflict p t) -> ((t, t), [p])
- findConflictSyntax :: OutputCapable m => FindInstance net Conflict -> (Transition, Transition) -> LangM' m ()
- findConflictTask :: (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) Conflict -> LangM m
- parseConflict :: MonadThrow m => AlloyInstance -> m (PetriConflict' Object)
- petriNetFindConflict :: FindConflictConfig -> String
- petriNetPickConflict :: PickConflictConfig -> String
- pickConflict :: (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => PickConflictConfig -> Int -> RandT g m [(p n String, Maybe (PetriConflict' String))]
- pickConflictGenerate :: (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => PickConflictConfig -> Int -> Int -> m (PickInstance (p n String))
- pickConflictTask :: (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
- simpleFindConflictTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => FilePath -> FindInstance SimplePetriNet Conflict -> LangM m
- simplePickConflictTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => FilePath -> PickInstance SimplePetriNet -> LangM m
Documentation
type ConflictPlaces = ((Transition, Transition), [Place]) Source #
conflictPlacesShow :: ConflictPlaces -> ((ShowTransition, ShowTransition), [ShowPlace]) Source #
findConflict :: (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => FindConflictConfig -> Int -> RandT g m (p n String, PetriConflict' String) Source #
findConflictEvaluation :: (Alternative m, Monad m, OutputCapable m) => FindInstance net Conflict -> (Transition, Transition) -> Rated m Source #
Arguments
:: (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) | |
=> FindConflictConfig | |
-> Int | |
-> Int | Seed |
-> m (FindInstance (p n String) Conflict) |
findConflictPlacesEvaluation :: (Alternative m, Monad m, OutputCapable m) => FindInstance n Conflict -> ConflictPlaces -> Rated m Source #
findConflictPlacesSolution :: FindInstance n (PetriConflict p t) -> ((t, t), [p]) Source #
findConflictSyntax :: OutputCapable m => FindInstance net Conflict -> (Transition, Transition) -> LangM' m () Source #
findConflictTask :: (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) 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 :: (MonadAlloy m, MonadThrow m, Net p n, RandomGen g) => PickConflictConfig -> Int -> RandT g m [(p n String, Maybe (PetriConflict' String))] Source #
pickConflictGenerate :: (MonadAlloy m, MonadCatch m, MonadDiagrams m, MonadGraphviz m, Net p n) => PickConflictConfig -> Int -> Int -> m (PickInstance (p n String)) Source #
pickConflictTask :: (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 #
simpleFindConflictTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => FilePath -> FindInstance SimplePetriNet Conflict -> LangM m Source #
simplePickConflictTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => FilePath -> PickInstance SimplePetriNet -> LangM m Source #