modelling-tasks-0.0.0.1
Safe HaskellSafe-Inferred
LanguageHaskell2010

Modelling.PetriNet.Reach.Deadlock

Description

originally from Autotool (https:/gitlab.imn.htwk-leipzig.deautotool/all0) based on revision: ad25a990816a162fdd13941ff889653f22d6ea0a based on file: collectionsrcPetri/Deadlock.hs

Documentation

verifyDeadlock :: (OutputCapable m, Show a, Show t, Ord t, Ord a) => DeadlockInstance a t -> LangM m Source #

deadlockTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, Ord s, Ord t, OutputCapable m, Show s, Show t) => FilePath -> DeadlockInstance s t -> LangM m Source #

deadlockSyntax :: OutputCapable m => DeadlockInstance Place Transition -> [Transition] -> LangM m Source #

deadlockEvaluation :: (Alternative m, MonadCache m, MonadDiagrams m, MonadGraphviz m, MonadThrow m, OutputCapable m) => FilePath -> DeadlockInstance Place Transition -> [Transition] -> Rated m Source #

data DeadlockInstance s t Source #

Instances

Instances details
Generic (DeadlockInstance s t) Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

Associated Types

type Rep (DeadlockInstance s t) :: Type -> Type #

(Read s, Read t, Ord s, Ord t) => Read (DeadlockInstance s t) Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

(Show s, Show t) => Show (DeadlockInstance s t) Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

type Rep (DeadlockInstance s t) Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

type Rep (DeadlockInstance s t) = D1 ('MetaData "DeadlockInstance" "Modelling.PetriNet.Reach.Deadlock" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "DeadlockInstance" 'PrefixI 'True) (((S1 ('MetaSel ('Just "drawUsing") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GraphvizCommand) :*: S1 ('MetaSel ('Just "minLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "noLongerThan") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "petriNet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Net s t)))) :*: ((S1 ('MetaSel ('Just "showPlaceNames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "showSolution") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "withLengthHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "withMinLengthHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

bimapDeadlockInstance :: (Ord a, Ord b) => (s -> a) -> (t -> b) -> DeadlockInstance s t -> DeadlockInstance a b Source #

data DeadlockConfig Source #

Instances

Instances details
Generic DeadlockConfig Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

Associated Types

type Rep DeadlockConfig :: Type -> Type #

Read DeadlockConfig Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

Show DeadlockConfig Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

type Rep DeadlockConfig Source # 
Instance details

Defined in Modelling.PetriNet.Reach.Deadlock

type Rep DeadlockConfig = D1 ('MetaData "DeadlockConfig" "Modelling.PetriNet.Reach.Deadlock" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "DeadlockConfig" 'PrefixI 'True) (((S1 ('MetaSel ('Just "numPlaces") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "numTransitions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "capacity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Capacity Place)))) :*: (S1 ('MetaSel ('Just "drawCommands") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [GraphvizCommand]) :*: (S1 ('MetaSel ('Just "maxTransitionLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "minTransitionLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))) :*: ((S1 ('MetaSel ('Just "postconditionsRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int)) :*: (S1 ('MetaSel ('Just "preconditionsRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int)) :*: S1 ('MetaSel ('Just "printSolution") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "rejectLongerThan") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "showLengthHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "showMinLengthHint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "showPlaceNamesInNet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

generateDeadlock :: (MonadCatch m, MonadDiagrams m, MonadGraphviz m) => DeadlockConfig -> Int -> m (DeadlockInstance Place Transition) Source #

tries :: (MonadCatch m, MonadDiagrams m, MonadGraphviz m) => Int -> DeadlockConfig -> Int -> m (Net Place Transition, GraphvizCommand) Source #

try :: MonadRandom m => DeadlockConfig -> m [(Int, Net Place Transition)] Source #