Safe Haskell | Safe-Inferred |
---|---|
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 :: Maybe (Map Language String)
- data RepairCdInstance = RepairCdInstance {
- byName :: !Bool
- cdDrawSettings :: !CdDrawSettings
- changes :: Map Int RelationshipChange
- classDiagram :: AnyCd
- showExtendedFeedback :: Bool
- showSolution :: !Bool
- taskText :: !RepairCdTaskText
- addText :: Maybe (Map Language String)
- 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 :: (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 :: (Alternative m, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> RepairCdInstance -> [Int] -> Rated m
- repairCdSolution :: RepairCdInstance -> [Int]
- repairCdSyntax :: OutputCapable m => RepairCdInstance -> [Int] -> LangM m
- repairCdTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => 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
Generic (InValidOption option forInvalidity forValidity) Source # | |
Defined in Modelling.CdOd.RepairCd Associated Types type Rep (InValidOption option forInvalidity forValidity) :: Type -> Type # 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 # | |
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-5lkaY76HE6k79qLVIy6Ku2" '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
data RepairCdTaskTextElement Source #
Constructors
IncorrectCd | |
PotentialFixes |
Instances
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
Generic WeakeningKind Source # | |
Defined in Modelling.CdOd.RepairCd Associated Types type Rep WeakeningKind :: Type -> Type # | |
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-5lkaY76HE6k79qLVIy6Ku2" '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
:: (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 :: (Alternative m, MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> RepairCdInstance -> [Int] -> Rated m Source #
repairCdSolution :: RepairCdInstance -> [Int] Source #
repairCdSyntax :: OutputCapable m => RepairCdInstance -> [Int] -> LangM m Source #
repairCdTask :: (MonadCache m, MonadDiagrams m, MonadGraphviz m, OutputCapable m) => FilePath -> RepairCdInstance -> LangM m Source #
data StructuralWeakening Source #
Constructors
StructuralWeakening | |
Fields
|
(.&.) :: StructuralWeakening -> StructuralWeakening -> StructuralWeakening infixl 9 Source #