module Modelling.PetriNet.PetriFindConcurrency.Config where
import Modelling.PetriNet.Types (
AdvConfig (..),
AlloyConfig (..),
BasicConfig (..),
ChangeConfig (..),
GraphConfig (..),
FindConcurrencyConfig (..),
)
import Control.OutputCapable.Blocks (ExtraText (..))
import Data.GraphViz.Commands (GraphvizCommand(..))
task2023_23 :: FindConcurrencyConfig
task2023_23 :: FindConcurrencyConfig
task2023_23 = FindConcurrencyConfig {
basicConfig :: BasicConfig
basicConfig = BasicConfig {
places :: Int
places = Int
6,
transitions :: Int
transitions = Int
6,
atLeastActive :: Int
atLeastActive = Int
5,
flowOverall :: (Int, Int)
flowOverall = (Int
12, Int
14),
maxTokensPerPlace :: Int
maxTokensPerPlace = Int
2,
maxFlowPerEdge :: Int
maxFlowPerEdge = Int
2,
tokensOverall :: (Int, Int)
tokensOverall = (Int
5, Int
5),
isConnected :: Maybe Bool
isConnected = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
advConfig :: AdvConfig
advConfig = AdvConfig {
presenceOfSelfLoops :: Maybe Bool
presenceOfSelfLoops = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
presenceOfSinkTransitions :: Maybe Bool
presenceOfSinkTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
presenceOfSourceTransitions :: Maybe Bool
presenceOfSourceTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False
},
changeConfig :: ChangeConfig
changeConfig = ChangeConfig {
tokenChangeOverall :: Int
tokenChangeOverall = Int
0,
maxTokenChangePerPlace :: Int
maxTokenChangePerPlace = Int
0,
flowChangeOverall :: Int
flowChangeOverall = Int
2,
maxFlowChangePerEdge :: Int
maxFlowChangePerEdge = Int
1
},
graphConfig :: GraphConfig
graphConfig = GraphConfig {
graphLayouts :: [GraphvizCommand]
graphLayouts = [GraphvizCommand
Dot],
hidePlaceNames :: Bool
hidePlaceNames = Bool
True,
hideTransitionNames :: Bool
hideTransitionNames = Bool
False,
hideWeight1 :: Bool
hideWeight1 = Bool
True
},
printSolution :: Bool
printSolution = Bool
True,
alloyConfig :: AlloyConfig
alloyConfig = AlloyConfig {
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2000,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing
},
extraText :: ExtraText
extraText = ExtraText
NoExtraText
}
task2024_32 :: FindConcurrencyConfig
task2024_32 :: FindConcurrencyConfig
task2024_32 = FindConcurrencyConfig
task2023_23
task2024_33 :: FindConcurrencyConfig
task2024_33 :: FindConcurrencyConfig
task2024_33 = FindConcurrencyConfig {
basicConfig :: BasicConfig
basicConfig = BasicConfig {
places :: Int
places = Int
6,
transitions :: Int
transitions = Int
6,
atLeastActive :: Int
atLeastActive = Int
5,
flowOverall :: (Int, Int)
flowOverall = (Int
14, Int
16),
maxTokensPerPlace :: Int
maxTokensPerPlace = Int
2,
maxFlowPerEdge :: Int
maxFlowPerEdge = Int
1,
tokensOverall :: (Int, Int)
tokensOverall = (Int
8, Int
8),
isConnected :: Maybe Bool
isConnected = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
advConfig :: AdvConfig
advConfig = AdvConfig {
presenceOfSelfLoops :: Maybe Bool
presenceOfSelfLoops = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
presenceOfSinkTransitions :: Maybe Bool
presenceOfSinkTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
presenceOfSourceTransitions :: Maybe Bool
presenceOfSourceTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False
},
changeConfig :: ChangeConfig
changeConfig = ChangeConfig {
tokenChangeOverall :: Int
tokenChangeOverall = Int
0,
maxTokenChangePerPlace :: Int
maxTokenChangePerPlace = Int
0,
flowChangeOverall :: Int
flowChangeOverall = Int
2,
maxFlowChangePerEdge :: Int
maxFlowChangePerEdge = Int
1
},
graphConfig :: GraphConfig
graphConfig = GraphConfig {
graphLayouts :: [GraphvizCommand]
graphLayouts = [GraphvizCommand
TwoPi],
hidePlaceNames :: Bool
hidePlaceNames = Bool
True,
hideTransitionNames :: Bool
hideTransitionNames = Bool
False,
hideWeight1 :: Bool
hideWeight1 = Bool
True
},
printSolution :: Bool
printSolution = Bool
True,
alloyConfig :: AlloyConfig
alloyConfig = AlloyConfig {
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2000,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing
},
extraText :: ExtraText
extraText = ExtraText
NoExtraText
}
task2024_62 :: FindConcurrencyConfig
task2024_62 :: FindConcurrencyConfig
task2024_62 = FindConcurrencyConfig {
basicConfig :: BasicConfig
basicConfig = BasicConfig {
places :: Int
places = Int
6,
transitions :: Int
transitions = Int
6,
atLeastActive :: Int
atLeastActive = Int
2,
flowOverall :: (Int, Int)
flowOverall = (Int
12, Int
14),
maxTokensPerPlace :: Int
maxTokensPerPlace = Int
0,
maxFlowPerEdge :: Int
maxFlowPerEdge = Int
2,
tokensOverall :: (Int, Int)
tokensOverall = (Int
0, Int
0),
isConnected :: Maybe Bool
isConnected = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
advConfig :: AdvConfig
advConfig = AdvConfig {
presenceOfSelfLoops :: Maybe Bool
presenceOfSelfLoops = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
presenceOfSinkTransitions :: Maybe Bool
presenceOfSinkTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
presenceOfSourceTransitions :: Maybe Bool
presenceOfSourceTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
changeConfig :: ChangeConfig
changeConfig = ChangeConfig {
tokenChangeOverall :: Int
tokenChangeOverall = Int
0,
maxTokenChangePerPlace :: Int
maxTokenChangePerPlace = Int
0,
flowChangeOverall :: Int
flowChangeOverall = Int
2,
maxFlowChangePerEdge :: Int
maxFlowChangePerEdge = Int
1
},
graphConfig :: GraphConfig
graphConfig = GraphConfig {
graphLayouts :: [GraphvizCommand]
graphLayouts = [GraphvizCommand
Dot],
hidePlaceNames :: Bool
hidePlaceNames = Bool
True,
hideTransitionNames :: Bool
hideTransitionNames = Bool
False,
hideWeight1 :: Bool
hideWeight1 = Bool
True
},
printSolution :: Bool
printSolution = Bool
True,
alloyConfig :: AlloyConfig
alloyConfig = AlloyConfig {
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2000,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing
},
extraText :: ExtraText
extraText = ExtraText
NoExtraText
}
task2024_63 :: FindConcurrencyConfig
task2024_63 :: FindConcurrencyConfig
task2024_63 = FindConcurrencyConfig {
basicConfig :: BasicConfig
basicConfig = BasicConfig {
places :: Int
places = Int
6,
transitions :: Int
transitions = Int
6,
atLeastActive :: Int
atLeastActive = Int
5,
flowOverall :: (Int, Int)
flowOverall = (Int
14, Int
16),
maxTokensPerPlace :: Int
maxTokensPerPlace = Int
2,
maxFlowPerEdge :: Int
maxFlowPerEdge = Int
1,
tokensOverall :: (Int, Int)
tokensOverall = (Int
8, Int
8),
isConnected :: Maybe Bool
isConnected = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False
},
advConfig :: AdvConfig
advConfig = AdvConfig {
presenceOfSelfLoops :: Maybe Bool
presenceOfSelfLoops = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
presenceOfSinkTransitions :: Maybe Bool
presenceOfSinkTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
presenceOfSourceTransitions :: Maybe Bool
presenceOfSourceTransitions = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False
},
changeConfig :: ChangeConfig
changeConfig = ChangeConfig {
tokenChangeOverall :: Int
tokenChangeOverall = Int
0,
maxTokenChangePerPlace :: Int
maxTokenChangePerPlace = Int
0,
flowChangeOverall :: Int
flowChangeOverall = Int
2,
maxFlowChangePerEdge :: Int
maxFlowChangePerEdge = Int
1
},
graphConfig :: GraphConfig
graphConfig = GraphConfig {
graphLayouts :: [GraphvizCommand]
graphLayouts = [GraphvizCommand
TwoPi],
hidePlaceNames :: Bool
hidePlaceNames = Bool
True,
hideTransitionNames :: Bool
hideTransitionNames = Bool
False,
hideWeight1 :: Bool
hideWeight1 = Bool
True
},
printSolution :: Bool
printSolution = Bool
True,
alloyConfig :: AlloyConfig
alloyConfig = AlloyConfig {
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2000,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing
},
extraText :: ExtraText
extraText = ExtraText
NoExtraText
}