| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Modelling.CdOd.RepairCd
Synopsis
- data InValidOption option forInvalidity forValidity = InValidOption {}
- type RelationshipChangeWithArticle = Annotation ArticleToUse (Change (AnyRelationship String String))
- data RepairCdConfig = RepairCdConfig {
- allowedCdMutations :: ![CdMutation]
- allowedProperties :: AllowedProperties
- articleToUse :: ArticlePreference
- cdConstraints :: !CdConstraints
- classConfig :: ClassConfig
- drawSettings :: !CdDrawSettings
- maxInstances :: Maybe Integer
- objectProperties :: ObjectProperties
- printExtendedFeedback :: Bool
- printSolution :: Bool
- timeout :: Maybe Int
- useNames :: Bool
- extraText :: ExtraText
- data RepairCdInstance = RepairCdInstance {
- byName :: !Bool
- cdDrawSettings :: !CdDrawSettings
- changes :: Map Int RelationshipChange
- classDiagram :: AnyCd
- showExtendedFeedback :: Bool
- showSolution :: !Bool
- taskText :: !RepairCdTaskText
- addText :: ExtraText
- data RepairCdTaskTextElement
- data WeakeningKind
- checkClassConfigAndChanges :: ClassConfig -> AllowedProperties -> Maybe String
- checkRepairCdConfig :: RepairCdConfig -> Maybe String
- checkRepairCdInstance :: RepairCdInstance -> Maybe String
- classAndNonInheritanceNames :: RepairCdInstance -> ([String], [String])
- defaultRepairCdConfig :: RepairCdConfig
- defaultRepairCdInstance :: RepairCdInstance
- generateSetOfCds :: forall (m :: Type -> Type) g. (MonadAlloy m, MonadCatch m, RandomGen g) => WeakeningKind -> AllowedProperties -> ClassConfig -> CdConstraints -> [CdMutation] -> ObjectProperties -> ArticlePreference -> Maybe Integer -> Maybe Int -> RandT g m (AnyCd, [CdChangeAndCd])
- mapInValidOption :: (a -> b) -> (c -> d) -> (e -> f) -> InValidOption a c e -> InValidOption b d f
- mapInValidOptionM :: Applicative m => (a -> m b) -> (c -> m d) -> (e -> m f) -> InValidOption a c e -> m (InValidOption b d f)
- renameInstance :: MonadThrow m => RepairCdInstance -> [String] -> [String] -> m RepairCdInstance
- repairCd :: (MonadAlloy m, MonadCatch m) => RepairCdConfig -> Int -> Int -> m RepairCdInstance
- repairCdEvaluation :: forall (m :: Type -> Type). (Alternative m, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> RepairCdInstance -> [Int] -> Rated m
- repairCdSolution :: RepairCdInstance -> [Int]
- repairCdSyntax :: forall (m :: Type -> Type). OutputCapable m => RepairCdInstance -> [Int] -> LangM m
- repairCdTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => Bool -> FilePath -> RepairCdInstance -> LangM m
- data StructuralWeakening = StructuralWeakening {
- weakeningName :: ![Weakening]
- operation :: RelationshipProperties -> RelationshipProperties
- validityChange :: Bool -> Bool
- (.&.) :: StructuralWeakening -> StructuralWeakening -> StructuralWeakening
- illegalStructuralWeakenings :: AllowedProperties -> [StructuralWeakening]
- legalStructuralWeakenings :: AllowedProperties -> [StructuralWeakening]
- toProperty :: StructuralWeakening -> RelationshipProperties
Documentation
data InValidOption option forInvalidity forValidity Source #
Constructors
| InValidOption | |
Instances
| (Reader forInvalidity, Reader forValidity, Reader option) => Reader (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods atomic_reader :: Parser (InValidOption option forInvalidity forValidity) atomic_readerPrec :: Int -> Parser (InValidOption option forInvalidity forValidity) reader :: Parser (InValidOption option forInvalidity forValidity) readerPrec :: Int -> Parser (InValidOption option forInvalidity forValidity) readerList :: Parser [InValidOption option forInvalidity forValidity] | |||||
| (ToDoc forInvalidity, ToDoc forValidity, ToDoc option) => ToDoc (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods toDocPrec :: Int -> InValidOption option forInvalidity forValidity -> Doc toDocList :: [InValidOption option forInvalidity forValidity] -> Doc | |||||
| Generic (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd Associated Types
Methods from :: InValidOption option forInvalidity forValidity -> Rep (InValidOption option forInvalidity forValidity) x # to :: Rep (InValidOption option forInvalidity forValidity) x -> InValidOption option forInvalidity forValidity # | |||||
| (Read forInvalidity, Read forValidity, Read option) => Read (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods readsPrec :: Int -> ReadS (InValidOption option forInvalidity forValidity) # readList :: ReadS [InValidOption option forInvalidity forValidity] # readPrec :: ReadPrec (InValidOption option forInvalidity forValidity) # readListPrec :: ReadPrec [InValidOption option forInvalidity forValidity] # | |||||
| (Show forInvalidity, Show forValidity, Show option) => Show (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods showsPrec :: Int -> InValidOption option forInvalidity forValidity -> ShowS # show :: InValidOption option forInvalidity forValidity -> String # showList :: [InValidOption option forInvalidity forValidity] -> ShowS # | |||||
| (Eq forInvalidity, Eq forValidity, Eq option) => Eq (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods (==) :: InValidOption option forInvalidity forValidity -> InValidOption option forInvalidity forValidity -> Bool # (/=) :: InValidOption option forInvalidity forValidity -> InValidOption option forInvalidity forValidity -> Bool # | |||||
| (Hashable forInvalidity, Hashable forValidity, Hashable option) => Hashable (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods hashWithSalt :: Int -> InValidOption option forInvalidity forValidity -> Int hash :: InValidOption option forInvalidity forValidity -> Int | |||||
| type Rep (InValidOption option forInvalidity forValidity) Source # | |||||
Defined in Modelling.CdOd.RepairCd type Rep (InValidOption option forInvalidity forValidity) = D1 ('MetaData "InValidOption" "Modelling.CdOd.RepairCd" "modelling-tasks-0.0.0.1-2KiclaEArwR4yz1IHg8eKf" 'False) (C1 ('MetaCons "InValidOption" 'PrefixI 'True) (S1 ('MetaSel ('Just "hint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either forInvalidity forValidity)) :*: S1 ('MetaSel ('Just "option") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 option))) | |||||
type RelationshipChangeWithArticle = Annotation ArticleToUse (Change (AnyRelationship String String)) Source #
data RepairCdConfig Source #
Constructors
| RepairCdConfig | |
Fields
| |
Instances
data RepairCdInstance Source #
Constructors
| RepairCdInstance | |
Fields
| |
Instances
| Reader RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
| ToDoc RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
| Generic RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd Associated Types
Methods from :: RepairCdInstance -> Rep RepairCdInstance x # to :: Rep RepairCdInstance x -> RepairCdInstance # | |||||
| Read RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods readsPrec :: Int -> ReadS RepairCdInstance # readList :: ReadS [RepairCdInstance] # | |||||
| Show RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods showsPrec :: Int -> RepairCdInstance -> ShowS # show :: RepairCdInstance -> String # showList :: [RepairCdInstance] -> ShowS # | |||||
| Eq RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods (==) :: RepairCdInstance -> RepairCdInstance -> Bool # (/=) :: RepairCdInstance -> RepairCdInstance -> Bool # | |||||
| Hashable RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
| Randomise RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods randomise :: (MonadRandom m, MonadThrow m) => RepairCdInstance -> m RepairCdInstance Source # | |||||
| RandomiseLayout RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods randomiseLayout :: (MonadRandom m, MonadThrow m) => RepairCdInstance -> m RepairCdInstance Source # | |||||
| RandomiseNames RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods hasRandomisableNames :: RepairCdInstance -> Maybe String Source # randomiseNames :: (MonadRandom m, MonadThrow m) => RepairCdInstance -> m RepairCdInstance Source # | |||||
| type Rep RepairCdInstance Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
data RepairCdTaskTextElement Source #
Constructors
| IncorrectCd | |
| PotentialFixes |
Instances
| Reader RepairCdTaskTextElement Source # | |||||
| ToDoc RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods toDocPrec :: Int -> RepairCdTaskTextElement -> Doc toDocList :: [RepairCdTaskTextElement] -> Doc | |||||
| Bounded RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
| Enum RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods succ :: RepairCdTaskTextElement -> RepairCdTaskTextElement # pred :: RepairCdTaskTextElement -> RepairCdTaskTextElement # toEnum :: Int -> RepairCdTaskTextElement # fromEnum :: RepairCdTaskTextElement -> Int # enumFrom :: RepairCdTaskTextElement -> [RepairCdTaskTextElement] # enumFromThen :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> [RepairCdTaskTextElement] # enumFromTo :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> [RepairCdTaskTextElement] # enumFromThenTo :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> RepairCdTaskTextElement -> [RepairCdTaskTextElement] # | |||||
| Generic RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd Associated Types
Methods from :: RepairCdTaskTextElement -> Rep RepairCdTaskTextElement x # to :: Rep RepairCdTaskTextElement x -> RepairCdTaskTextElement # | |||||
| Read RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
| Show RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods showsPrec :: Int -> RepairCdTaskTextElement -> ShowS # show :: RepairCdTaskTextElement -> String # showList :: [RepairCdTaskTextElement] -> ShowS # | |||||
| Eq RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods (==) :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> Bool # (/=) :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> Bool # | |||||
| Ord RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods compare :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> Ordering # (<) :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> Bool # (<=) :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> Bool # (>) :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> Bool # (>=) :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> Bool # max :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> RepairCdTaskTextElement # min :: RepairCdTaskTextElement -> RepairCdTaskTextElement -> RepairCdTaskTextElement # | |||||
| Hashable RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
| type Rep RepairCdTaskTextElement Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
data WeakeningKind Source #
This datatype specifies what kind of structural weakening to choose.
Constructors
| AnyStructuralWeakening | a weakening resulting in a valid or an invalid class diagram candidate |
| IllegalStructuralWeakening | a weakening resulting in an invalid class diagram candidate |
| LegalStructuralWeakening | a weakening resulting in a valid class diagram |
Instances
| Reader WeakeningKind Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods atomic_reader :: Parser WeakeningKind atomic_readerPrec :: Int -> Parser WeakeningKind reader :: Parser WeakeningKind readerPrec :: Int -> Parser WeakeningKind | |||||
| ToDoc WeakeningKind Source # | |||||
Defined in Modelling.CdOd.RepairCd | |||||
| Generic WeakeningKind Source # | |||||
Defined in Modelling.CdOd.RepairCd Associated Types
| |||||
| Read WeakeningKind Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods readsPrec :: Int -> ReadS WeakeningKind # readList :: ReadS [WeakeningKind] # | |||||
| Show WeakeningKind Source # | |||||
Defined in Modelling.CdOd.RepairCd Methods showsPrec :: Int -> WeakeningKind -> ShowS # show :: WeakeningKind -> String # showList :: [WeakeningKind] -> ShowS # | |||||
| type Rep WeakeningKind Source # | |||||
Defined in Modelling.CdOd.RepairCd type Rep WeakeningKind = D1 ('MetaData "WeakeningKind" "Modelling.CdOd.RepairCd" "modelling-tasks-0.0.0.1-2KiclaEArwR4yz1IHg8eKf" 'False) (C1 ('MetaCons "AnyStructuralWeakening" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IllegalStructuralWeakening" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LegalStructuralWeakening" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
classAndNonInheritanceNames :: RepairCdInstance -> ([String], [String]) Source #
Arguments
| :: forall (m :: Type -> Type) g. (MonadAlloy m, MonadCatch m, RandomGen g) | |
| => WeakeningKind | to be used for the base class diagram |
| -> AllowedProperties | potentially to be chosen for all class diagrams |
| -> ClassConfig | to adhere to by all class diagrams |
| -> CdConstraints | also for all class diagrams |
| -> [CdMutation] | possible mutations to choose from in order to use for the changes (and thus use to derive the four different class diagram candidate) |
| -> ObjectProperties | properties all object diagram witnesses need to satisfy |
| -> ArticlePreference | how to refer to relationships |
| -> Maybe Integer | number of instances to generate for both, class diagrams and object diagrams |
| -> Maybe Int | when to abort any Alloy call early,
destroys reproducibility when set (to |
| -> RandT g m (AnyCd, [CdChangeAndCd]) |
Generate one base class diagram candidate and four (one step) changes, resulting in four class diagram candidates based on the base candidate together with changes to repair invalid class diagram candidates and object diagrams witnessing correct class diagrams.
mapInValidOption :: (a -> b) -> (c -> d) -> (e -> f) -> InValidOption a c e -> InValidOption b d f Source #
mapInValidOptionM :: Applicative m => (a -> m b) -> (c -> m d) -> (e -> m f) -> InValidOption a c e -> m (InValidOption b d f) Source #
renameInstance :: MonadThrow m => RepairCdInstance -> [String] -> [String] -> m RepairCdInstance Source #
repairCd :: (MonadAlloy m, MonadCatch m) => RepairCdConfig -> Int -> Int -> m RepairCdInstance Source #
repairCdEvaluation :: forall (m :: Type -> Type). (Alternative m, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> RepairCdInstance -> [Int] -> Rated m Source #
repairCdSolution :: RepairCdInstance -> [Int] Source #
repairCdSyntax :: forall (m :: Type -> Type). OutputCapable m => RepairCdInstance -> [Int] -> LangM m Source #
repairCdTask :: forall (m :: Type -> Type). (MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => Bool -> FilePath -> RepairCdInstance -> LangM m Source #
data StructuralWeakening Source #
Constructors
| StructuralWeakening | |
Fields
| |
(.&.) :: StructuralWeakening -> StructuralWeakening -> StructuralWeakening infixl 9 Source #