module Modelling.CdOd.SelectValidCd.Config where
import Modelling.CdOd.RepairCd (
WeakeningKind (..),
)
import Modelling.CdOd.SelectValidCd (
SelectValidCdConfig (..),
)
import Modelling.CdOd.Types (
AllowedProperties (..),
ArticlePreference (..),
ClassConfig (..),
CdConstraints (..),
CdDrawSettings (..),
CdMutation (..),
ObjectProperties (..),
OmittedDefaultMultiplicities (..),
RelationshipMutation (..),
)
import Data.Ratio ((%))
task2023_05 :: SelectValidCdConfig
task2023_05 :: SelectValidCdConfig
task2023_05 = SelectValidCdConfig {
allowedCdMutations :: [CdMutation]
allowedCdMutations = [
CdMutation
AddRelationship,
CdMutation
RemoveRelationship,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeKind,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeLimit,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
Flip
],
allowedProperties :: AllowedProperties
allowedProperties = AllowedProperties {
compositionCycles :: Bool
compositionCycles = Bool
True,
doubleRelationships :: Bool
doubleRelationships = Bool
True,
inheritanceCycles :: Bool
inheritanceCycles = Bool
False,
invalidInheritanceLimits :: Bool
invalidInheritanceLimits = Bool
False,
reverseInheritances :: Bool
reverseInheritances = Bool
False,
reverseRelationships :: Bool
reverseRelationships = Bool
True,
selfInheritances :: Bool
selfInheritances = Bool
False,
selfRelationships :: Bool
selfRelationships = Bool
False,
wrongAssociationLimits :: Bool
wrongAssociationLimits = Bool
False,
wrongCompositionLimits :: Bool
wrongCompositionLimits = Bool
False
},
articleToUse :: ArticlePreference
articleToUse = ArticlePreference
UseDefiniteArticleWherePossible,
basePropertiesOfBaseCdOn :: WeakeningKind
basePropertiesOfBaseCdOn = WeakeningKind
IllegalStructuralWeakening,
cdConstraints :: CdConstraints
cdConstraints = CdConstraints {
anyCompositionCyclesInvolveInheritances :: Maybe Bool
anyCompositionCyclesInvolveInheritances = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
classConfig :: ClassConfig
classConfig = ClassConfig {
classLimits :: (Int, Int)
classLimits = (Int
5, Int
5),
aggregationLimits :: (Int, Maybe Int)
aggregationLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
associationLimits :: (Int, Maybe Int)
associationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
compositionLimits :: (Int, Maybe Int)
compositionLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
inheritanceLimits :: (Int, Maybe Int)
inheritanceLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
relationshipLimits :: (Int, Maybe Int)
relationshipLimits = (Int
7, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
8)
},
drawSettings :: CdDrawSettings
drawSettings = CdDrawSettings {
omittedDefaults :: OmittedDefaultMultiplicities
omittedDefaults = OmittedDefaultMultiplicities {
aggregationWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
aggregationWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
associationOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
associationOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
compositionWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
compositionWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
1)
},
printNames :: Bool
printNames = Bool
True,
printNavigations :: Bool
printNavigations = Bool
False
},
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
4000,
objectProperties :: ObjectProperties
objectProperties = ObjectProperties {
anonymousObjectProportion :: Rational
anonymousObjectProportion = Integer
1 Integer -> Integer -> Rational
forall a. Integral a => a -> a -> Ratio a
% Integer
4,
completelyInhabited :: Maybe Bool
completelyInhabited = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
hasLimitedIsolatedObjects :: Bool
hasLimitedIsolatedObjects = Bool
False,
hasSelfLoops :: Maybe Bool
hasSelfLoops = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
usesEveryRelationshipName :: Maybe Bool
usesEveryRelationshipName = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
printExtendedFeedback :: Bool
printExtendedFeedback = Bool
True,
printSolution :: Bool
printSolution = Bool
True,
shuffleEachCd :: Bool
shuffleEachCd = Bool
True,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing,
extraText :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
}
task2023_06 :: SelectValidCdConfig
task2023_06 :: SelectValidCdConfig
task2023_06 = SelectValidCdConfig {
allowedCdMutations :: [CdMutation]
allowedCdMutations = [
CdMutation
AddRelationship,
CdMutation
RemoveRelationship,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeKind,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeLimit,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
Flip
],
allowedProperties :: AllowedProperties
allowedProperties = AllowedProperties {
compositionCycles :: Bool
compositionCycles = Bool
False,
doubleRelationships :: Bool
doubleRelationships = Bool
True,
inheritanceCycles :: Bool
inheritanceCycles = Bool
False,
invalidInheritanceLimits :: Bool
invalidInheritanceLimits = Bool
True,
reverseInheritances :: Bool
reverseInheritances = Bool
False,
reverseRelationships :: Bool
reverseRelationships = Bool
False,
selfInheritances :: Bool
selfInheritances = Bool
False,
selfRelationships :: Bool
selfRelationships = Bool
False,
wrongAssociationLimits :: Bool
wrongAssociationLimits = Bool
True,
wrongCompositionLimits :: Bool
wrongCompositionLimits = Bool
False
},
articleToUse :: ArticlePreference
articleToUse = ArticlePreference
UseDefiniteArticleWherePossible,
basePropertiesOfBaseCdOn :: WeakeningKind
basePropertiesOfBaseCdOn = WeakeningKind
IllegalStructuralWeakening,
cdConstraints :: CdConstraints
cdConstraints = CdConstraints {
anyCompositionCyclesInvolveInheritances :: Maybe Bool
anyCompositionCyclesInvolveInheritances = Maybe Bool
forall a. Maybe a
Nothing
},
classConfig :: ClassConfig
classConfig = ClassConfig {
classLimits :: (Int, Int)
classLimits = (Int
5, Int
5),
aggregationLimits :: (Int, Maybe Int)
aggregationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
3),
associationLimits :: (Int, Maybe Int)
associationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
compositionLimits :: (Int, Maybe Int)
compositionLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
inheritanceLimits :: (Int, Maybe Int)
inheritanceLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
1),
relationshipLimits :: (Int, Maybe Int)
relationshipLimits = (Int
7, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
8)
},
drawSettings :: CdDrawSettings
drawSettings = CdDrawSettings {
omittedDefaults :: OmittedDefaultMultiplicities
omittedDefaults = OmittedDefaultMultiplicities {
aggregationWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
aggregationWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
associationOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
associationOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
compositionWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
compositionWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
1)
},
printNames :: Bool
printNames = Bool
True,
printNavigations :: Bool
printNavigations = Bool
True
},
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
4000,
objectProperties :: ObjectProperties
objectProperties = ObjectProperties {
anonymousObjectProportion :: Rational
anonymousObjectProportion = Integer
0 Integer -> Integer -> Rational
forall a. Integral a => a -> a -> Ratio a
% Integer
1,
completelyInhabited :: Maybe Bool
completelyInhabited = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
hasLimitedIsolatedObjects :: Bool
hasLimitedIsolatedObjects = Bool
False,
hasSelfLoops :: Maybe Bool
hasSelfLoops = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
usesEveryRelationshipName :: Maybe Bool
usesEveryRelationshipName = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
printExtendedFeedback :: Bool
printExtendedFeedback = Bool
True,
printSolution :: Bool
printSolution = Bool
True,
shuffleEachCd :: Bool
shuffleEachCd = Bool
True,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing,
extraText :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
}
task2024_06 :: SelectValidCdConfig
task2024_06 :: SelectValidCdConfig
task2024_06 = SelectValidCdConfig {
allowedCdMutations :: [CdMutation]
allowedCdMutations = [
CdMutation
AddRelationship,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeKind,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
Flip
],
allowedProperties :: AllowedProperties
allowedProperties = AllowedProperties {
compositionCycles :: Bool
compositionCycles = Bool
True,
doubleRelationships :: Bool
doubleRelationships = Bool
False,
inheritanceCycles :: Bool
inheritanceCycles = Bool
False,
invalidInheritanceLimits :: Bool
invalidInheritanceLimits = Bool
False,
reverseInheritances :: Bool
reverseInheritances = Bool
False,
reverseRelationships :: Bool
reverseRelationships = Bool
True,
selfInheritances :: Bool
selfInheritances = Bool
False,
selfRelationships :: Bool
selfRelationships = Bool
False,
wrongAssociationLimits :: Bool
wrongAssociationLimits = Bool
False,
wrongCompositionLimits :: Bool
wrongCompositionLimits = Bool
False
},
articleToUse :: ArticlePreference
articleToUse = ArticlePreference
UseDefiniteArticleWherePossible,
basePropertiesOfBaseCdOn :: WeakeningKind
basePropertiesOfBaseCdOn = WeakeningKind
IllegalStructuralWeakening,
cdConstraints :: CdConstraints
cdConstraints = CdConstraints {
anyCompositionCyclesInvolveInheritances :: Maybe Bool
anyCompositionCyclesInvolveInheritances = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
classConfig :: ClassConfig
classConfig = ClassConfig {
classLimits :: (Int, Int)
classLimits = (Int
5, Int
5),
aggregationLimits :: (Int, Maybe Int)
aggregationLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
associationLimits :: (Int, Maybe Int)
associationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
compositionLimits :: (Int, Maybe Int)
compositionLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
inheritanceLimits :: (Int, Maybe Int)
inheritanceLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
relationshipLimits :: (Int, Maybe Int)
relationshipLimits = (Int
7, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
8)
},
drawSettings :: CdDrawSettings
drawSettings = CdDrawSettings {
omittedDefaults :: OmittedDefaultMultiplicities
omittedDefaults = OmittedDefaultMultiplicities {
aggregationWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
aggregationWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
associationOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
associationOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
compositionWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
compositionWholeOmittedDefaultMultiplicity = Maybe (Int, Maybe Int)
forall a. Maybe a
Nothing
},
printNames :: Bool
printNames = Bool
True,
printNavigations :: Bool
printNavigations = Bool
False
},
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
4000,
objectProperties :: ObjectProperties
objectProperties = ObjectProperties {
anonymousObjectProportion :: Rational
anonymousObjectProportion = Integer
1 Integer -> Integer -> Rational
forall a. Integral a => a -> a -> Ratio a
% Integer
4,
completelyInhabited :: Maybe Bool
completelyInhabited = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
hasLimitedIsolatedObjects :: Bool
hasLimitedIsolatedObjects = Bool
False,
hasSelfLoops :: Maybe Bool
hasSelfLoops = Maybe Bool
forall a. Maybe a
Nothing,
usesEveryRelationshipName :: Maybe Bool
usesEveryRelationshipName = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
printExtendedFeedback :: Bool
printExtendedFeedback = Bool
True,
printSolution :: Bool
printSolution = Bool
True,
shuffleEachCd :: Bool
shuffleEachCd = Bool
True,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing,
extraText :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
}
task2024_07 :: SelectValidCdConfig
task2024_07 :: SelectValidCdConfig
task2024_07 = SelectValidCdConfig {
allowedCdMutations :: [CdMutation]
allowedCdMutations = [
CdMutation
AddRelationship,
CdMutation
RemoveRelationship,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeKind,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
Flip
],
allowedProperties :: AllowedProperties
allowedProperties = AllowedProperties {
compositionCycles :: Bool
compositionCycles = Bool
False,
doubleRelationships :: Bool
doubleRelationships = Bool
True,
inheritanceCycles :: Bool
inheritanceCycles = Bool
False,
invalidInheritanceLimits :: Bool
invalidInheritanceLimits = Bool
True,
reverseInheritances :: Bool
reverseInheritances = Bool
False,
reverseRelationships :: Bool
reverseRelationships = Bool
False,
selfInheritances :: Bool
selfInheritances = Bool
False,
selfRelationships :: Bool
selfRelationships = Bool
False,
wrongAssociationLimits :: Bool
wrongAssociationLimits = Bool
False,
wrongCompositionLimits :: Bool
wrongCompositionLimits = Bool
False
},
articleToUse :: ArticlePreference
articleToUse = ArticlePreference
UseDefiniteArticleWherePossible,
basePropertiesOfBaseCdOn :: WeakeningKind
basePropertiesOfBaseCdOn = WeakeningKind
IllegalStructuralWeakening,
cdConstraints :: CdConstraints
cdConstraints = CdConstraints {
anyCompositionCyclesInvolveInheritances :: Maybe Bool
anyCompositionCyclesInvolveInheritances = Maybe Bool
forall a. Maybe a
Nothing
},
classConfig :: ClassConfig
classConfig = ClassConfig {
classLimits :: (Int, Int)
classLimits = (Int
5, Int
5),
aggregationLimits :: (Int, Maybe Int)
aggregationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
associationLimits :: (Int, Maybe Int)
associationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
compositionLimits :: (Int, Maybe Int)
compositionLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
inheritanceLimits :: (Int, Maybe Int)
inheritanceLimits = (Int
0, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
1),
relationshipLimits :: (Int, Maybe Int)
relationshipLimits = (Int
6, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
7)
},
drawSettings :: CdDrawSettings
drawSettings = CdDrawSettings {
omittedDefaults :: OmittedDefaultMultiplicities
omittedDefaults = OmittedDefaultMultiplicities {
aggregationWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
aggregationWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
associationOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
associationOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
compositionWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
compositionWholeOmittedDefaultMultiplicity = Maybe (Int, Maybe Int)
forall a. Maybe a
Nothing
},
printNames :: Bool
printNames = Bool
True,
printNavigations :: Bool
printNavigations = Bool
True
},
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
4000,
objectProperties :: ObjectProperties
objectProperties = ObjectProperties {
anonymousObjectProportion :: Rational
anonymousObjectProportion = Integer
0 Integer -> Integer -> Rational
forall a. Integral a => a -> a -> Ratio a
% Integer
1,
completelyInhabited :: Maybe Bool
completelyInhabited = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
hasLimitedIsolatedObjects :: Bool
hasLimitedIsolatedObjects = Bool
False,
hasSelfLoops :: Maybe Bool
hasSelfLoops = Maybe Bool
forall a. Maybe a
Nothing,
usesEveryRelationshipName :: Maybe Bool
usesEveryRelationshipName = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
printExtendedFeedback :: Bool
printExtendedFeedback = Bool
True,
printSolution :: Bool
printSolution = Bool
True,
shuffleEachCd :: Bool
shuffleEachCd = Bool
True,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing,
extraText :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
}
task2024_08 :: SelectValidCdConfig
task2024_08 :: SelectValidCdConfig
task2024_08 = SelectValidCdConfig {
allowedCdMutations :: [CdMutation]
allowedCdMutations = [
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeKind,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeLimit
],
allowedProperties :: AllowedProperties
allowedProperties = AllowedProperties {
compositionCycles :: Bool
compositionCycles = Bool
False,
doubleRelationships :: Bool
doubleRelationships = Bool
True,
inheritanceCycles :: Bool
inheritanceCycles = Bool
False,
invalidInheritanceLimits :: Bool
invalidInheritanceLimits = Bool
False,
reverseInheritances :: Bool
reverseInheritances = Bool
False,
reverseRelationships :: Bool
reverseRelationships = Bool
False,
selfInheritances :: Bool
selfInheritances = Bool
False,
selfRelationships :: Bool
selfRelationships = Bool
False,
wrongAssociationLimits :: Bool
wrongAssociationLimits = Bool
True,
wrongCompositionLimits :: Bool
wrongCompositionLimits = Bool
True
},
articleToUse :: ArticlePreference
articleToUse = ArticlePreference
UseDefiniteArticleWherePossible,
basePropertiesOfBaseCdOn :: WeakeningKind
basePropertiesOfBaseCdOn = WeakeningKind
IllegalStructuralWeakening,
cdConstraints :: CdConstraints
cdConstraints = CdConstraints {
anyCompositionCyclesInvolveInheritances :: Maybe Bool
anyCompositionCyclesInvolveInheritances = Maybe Bool
forall a. Maybe a
Nothing
},
classConfig :: ClassConfig
classConfig = ClassConfig {
classLimits :: (Int, Int)
classLimits = (Int
5, Int
5),
aggregationLimits :: (Int, Maybe Int)
aggregationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
associationLimits :: (Int, Maybe Int)
associationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
compositionLimits :: (Int, Maybe Int)
compositionLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
inheritanceLimits :: (Int, Maybe Int)
inheritanceLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
1),
relationshipLimits :: (Int, Maybe Int)
relationshipLimits = (Int
7, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
7)
},
drawSettings :: CdDrawSettings
drawSettings = CdDrawSettings {
omittedDefaults :: OmittedDefaultMultiplicities
omittedDefaults = OmittedDefaultMultiplicities {
aggregationWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
aggregationWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
associationOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
associationOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
compositionWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
compositionWholeOmittedDefaultMultiplicity = Maybe (Int, Maybe Int)
forall a. Maybe a
Nothing
},
printNames :: Bool
printNames = Bool
True,
printNavigations :: Bool
printNavigations = Bool
True
},
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
4000,
objectProperties :: ObjectProperties
objectProperties = ObjectProperties {
anonymousObjectProportion :: Rational
anonymousObjectProportion = Integer
0 Integer -> Integer -> Rational
forall a. Integral a => a -> a -> Ratio a
% Integer
1,
completelyInhabited :: Maybe Bool
completelyInhabited = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
hasLimitedIsolatedObjects :: Bool
hasLimitedIsolatedObjects = Bool
False,
hasSelfLoops :: Maybe Bool
hasSelfLoops = Maybe Bool
forall a. Maybe a
Nothing,
usesEveryRelationshipName :: Maybe Bool
usesEveryRelationshipName = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
printExtendedFeedback :: Bool
printExtendedFeedback = Bool
True,
printSolution :: Bool
printSolution = Bool
True,
shuffleEachCd :: Bool
shuffleEachCd = Bool
True,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing,
extraText :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
}
task2024_51 :: SelectValidCdConfig
task2024_51 :: SelectValidCdConfig
task2024_51 = SelectValidCdConfig {
allowedCdMutations :: [CdMutation]
allowedCdMutations = [
CdMutation
AddRelationship,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeKind,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
Flip
],
allowedProperties :: AllowedProperties
allowedProperties = AllowedProperties {
compositionCycles :: Bool
compositionCycles = Bool
True,
doubleRelationships :: Bool
doubleRelationships = Bool
False,
inheritanceCycles :: Bool
inheritanceCycles = Bool
False,
invalidInheritanceLimits :: Bool
invalidInheritanceLimits = Bool
False,
reverseInheritances :: Bool
reverseInheritances = Bool
False,
reverseRelationships :: Bool
reverseRelationships = Bool
True,
selfInheritances :: Bool
selfInheritances = Bool
False,
selfRelationships :: Bool
selfRelationships = Bool
False,
wrongAssociationLimits :: Bool
wrongAssociationLimits = Bool
False,
wrongCompositionLimits :: Bool
wrongCompositionLimits = Bool
False
},
articleToUse :: ArticlePreference
articleToUse = ArticlePreference
UseDefiniteArticleWherePossible,
basePropertiesOfBaseCdOn :: WeakeningKind
basePropertiesOfBaseCdOn = WeakeningKind
IllegalStructuralWeakening,
cdConstraints :: CdConstraints
cdConstraints = CdConstraints {
anyCompositionCyclesInvolveInheritances :: Maybe Bool
anyCompositionCyclesInvolveInheritances = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
classConfig :: ClassConfig
classConfig = ClassConfig {
classLimits :: (Int, Int)
classLimits = (Int
5, Int
5),
aggregationLimits :: (Int, Maybe Int)
aggregationLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
associationLimits :: (Int, Maybe Int)
associationLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
1),
compositionLimits :: (Int, Maybe Int)
compositionLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
inheritanceLimits :: (Int, Maybe Int)
inheritanceLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
relationshipLimits :: (Int, Maybe Int)
relationshipLimits = (Int
6, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
7)
},
drawSettings :: CdDrawSettings
drawSettings = CdDrawSettings {
omittedDefaults :: OmittedDefaultMultiplicities
omittedDefaults = OmittedDefaultMultiplicities {
aggregationWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
aggregationWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
associationOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
associationOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
compositionWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
compositionWholeOmittedDefaultMultiplicity = Maybe (Int, Maybe Int)
forall a. Maybe a
Nothing
},
printNames :: Bool
printNames = Bool
False,
printNavigations :: Bool
printNavigations = Bool
False
},
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2000,
objectProperties :: ObjectProperties
objectProperties = ObjectProperties {
anonymousObjectProportion :: Rational
anonymousObjectProportion = Integer
1 Integer -> Integer -> Rational
forall a. Integral a => a -> a -> Ratio a
% Integer
4,
completelyInhabited :: Maybe Bool
completelyInhabited = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
hasLimitedIsolatedObjects :: Bool
hasLimitedIsolatedObjects = Bool
False,
hasSelfLoops :: Maybe Bool
hasSelfLoops = Maybe Bool
forall a. Maybe a
Nothing,
usesEveryRelationshipName :: Maybe Bool
usesEveryRelationshipName = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
printExtendedFeedback :: Bool
printExtendedFeedback = Bool
True,
printSolution :: Bool
printSolution = Bool
True,
shuffleEachCd :: Bool
shuffleEachCd = Bool
False,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing,
extraText :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
}
task2024_52 :: SelectValidCdConfig
task2024_52 :: SelectValidCdConfig
task2024_52 = SelectValidCdConfig {
allowedCdMutations :: [CdMutation]
allowedCdMutations = [
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeKind,
RelationshipMutation -> CdMutation
MutateRelationship RelationshipMutation
ChangeLimit
],
allowedProperties :: AllowedProperties
allowedProperties = AllowedProperties {
compositionCycles :: Bool
compositionCycles = Bool
False,
doubleRelationships :: Bool
doubleRelationships = Bool
True,
inheritanceCycles :: Bool
inheritanceCycles = Bool
False,
invalidInheritanceLimits :: Bool
invalidInheritanceLimits = Bool
False,
reverseInheritances :: Bool
reverseInheritances = Bool
False,
reverseRelationships :: Bool
reverseRelationships = Bool
False,
selfInheritances :: Bool
selfInheritances = Bool
False,
selfRelationships :: Bool
selfRelationships = Bool
False,
wrongAssociationLimits :: Bool
wrongAssociationLimits = Bool
False,
wrongCompositionLimits :: Bool
wrongCompositionLimits = Bool
True
},
articleToUse :: ArticlePreference
articleToUse = ArticlePreference
UseDefiniteArticleWherePossible,
basePropertiesOfBaseCdOn :: WeakeningKind
basePropertiesOfBaseCdOn = WeakeningKind
IllegalStructuralWeakening,
cdConstraints :: CdConstraints
cdConstraints = CdConstraints {
anyCompositionCyclesInvolveInheritances :: Maybe Bool
anyCompositionCyclesInvolveInheritances = Maybe Bool
forall a. Maybe a
Nothing
},
classConfig :: ClassConfig
classConfig = ClassConfig {
classLimits :: (Int, Int)
classLimits = (Int
5, Int
5),
aggregationLimits :: (Int, Maybe Int)
aggregationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
associationLimits :: (Int, Maybe Int)
associationLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
compositionLimits :: (Int, Maybe Int)
compositionLimits = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
inheritanceLimits :: (Int, Maybe Int)
inheritanceLimits = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
1),
relationshipLimits :: (Int, Maybe Int)
relationshipLimits = (Int
7, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
7)
},
drawSettings :: CdDrawSettings
drawSettings = CdDrawSettings {
omittedDefaults :: OmittedDefaultMultiplicities
omittedDefaults = OmittedDefaultMultiplicities {
aggregationWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
aggregationWholeOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
associationOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
associationOmittedDefaultMultiplicity = (Int, Maybe Int) -> Maybe (Int, Maybe Int)
forall a. a -> Maybe a
Just (Int
0, Maybe Int
forall a. Maybe a
Nothing),
compositionWholeOmittedDefaultMultiplicity :: Maybe (Int, Maybe Int)
compositionWholeOmittedDefaultMultiplicity = Maybe (Int, Maybe Int)
forall a. Maybe a
Nothing
},
printNames :: Bool
printNames = Bool
True,
printNavigations :: Bool
printNavigations = Bool
False
},
maxInstances :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
4000,
objectProperties :: ObjectProperties
objectProperties = ObjectProperties {
anonymousObjectProportion :: Rational
anonymousObjectProportion = Integer
0 Integer -> Integer -> Rational
forall a. Integral a => a -> a -> Ratio a
% Integer
1,
completelyInhabited :: Maybe Bool
completelyInhabited = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True,
hasLimitedIsolatedObjects :: Bool
hasLimitedIsolatedObjects = Bool
False,
hasSelfLoops :: Maybe Bool
hasSelfLoops = Maybe Bool
forall a. Maybe a
Nothing,
usesEveryRelationshipName :: Maybe Bool
usesEveryRelationshipName = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
True
},
printExtendedFeedback :: Bool
printExtendedFeedback = Bool
True,
printSolution :: Bool
printSolution = Bool
True,
shuffleEachCd :: Bool
shuffleEachCd = Bool
False,
timeout :: Maybe Int
timeout = Maybe Int
forall a. Maybe a
Nothing,
extraText :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
}