Skip to content
Snippets Groups Projects
verifier.md 6.94 KiB
Newer Older
Jonas Blatt's avatar
Jonas Blatt committed
# Verifier

## Overview 
- [Verification Classification (Group of verifier)](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification)
- [Verification Type (identification of verifier + name + description for single verifier)](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types)
- [Verifier (Concrete implementation)](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl)

## DRD Modeling Level Verification
- Classification: [DrdModelingLevelVerification](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DrdModelingLevelVerification.java)

### Lonely Data Input Verification
- Type: [LonelyDataInputVerification](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/LonelyDataInputVerification.java)
- Verifier: [LonelyDataInputVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/LonelyDataInputVerifier.java)

#### Description
Checks for any input data node, if it has **no** connection to at least one decision table.

#### Algorithm
```
doVerification (Definition d) {
    define rL as ResultList
    for each (InputNode i in d.getInputNodes()) {
        if (i.hasNoConnectedDecisionNodes()) {
            add i to rL
        }
    }
    return rL
}
```

### Missing Input Data Verification
- Type: [MissingInputDataVerification](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputDataVerification.java)
- Verifier: [MissingInputDataVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingInputDataVerifier.java)

#### Description

#### Algorithm
```
TODO
```

### Missing Input Column Verification
- Type: [MissingInputColumnVerification](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingInputColumnVerification.java)
- Verifier: [MissingInputColumnVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingInputColumnVerifier.java)

#### Description

#### Algorithm
```
TODO
```

## Modeling Level Verification
- Classification: [ModelingLevelVerification](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/ModelingLevelVerification.java)

### Predefined Existing Value Verification
- Type: [PredefinedExistingValueVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedExistingValueVerification.java)
- Verifier: [PredefinedExistingValueVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedExistingValueVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

### Predefined Missing Value Verification
- Type: [PredefinedMissingValueVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PredefinedMissingValueVerification.java)
- Verifier: [PredefinedMissingValueVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PredefinedMissingValueVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

### Empty Output Verification
- Type: [EmptyOutputVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EmptyOutputVerification.java)
- Verifier: [EmptyOutputVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EmptyOutputVerifier.java)

#### Description
This verification checks if a output entry is empty.

#### Algorithm
```
TODO
```

## Decision Logic Level Verification
- Classification: [DecisionLogicLevelVerification](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/DecisionLogicLevelVerification.java)

### Subsumption Verification
- Type: [SubsumptionVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/SubsumptionVerification.java)
- Verifier: [SubsumptionVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/SubsumptionVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

### Partial Reduction Verification
- Type: [PartialReductionVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/PartialReductionVerification.java)
- Verifier: [PartialReductionVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/PartialReductionVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

### Overlapping Verification
- Type: [OverlappingVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/OverlappingVerification.java)
- Verifier: [OverlappingVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/OverlappingVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

### Missing Rule Verification
- Type: [MissingRuleVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/MissingRuleVerification.java)
- Verifier: [MissingRuleVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/MissingRuleVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

### Identical Business Rule Verification
- Type: [IdenticalBusinessRuleVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/IdenticalBusinessRuleVerification.java)
- Verifier: [IdenticalVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/IdenticalVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

### Equivalent String Verification
- Type: [EquivalentStringVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/EquivalentStringVerification.java)
- Verifier: [EquivalentVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/EquivalentVerifier.java)

#### Description
TODO

#### Algorithm
```
TODO
```

## Syntax Level Verification
- Classification: [SyntaxLevelVerification](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/classification/SyntaxLevelVerification.java)

### Date Format Verification
- Type: [DateVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/DateVerification.java)
- Verifier: [DateVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/DateVerifier.java)

#### Description
This verification checks the correctness of the date format for all date entries. Each date should be in the format "data and time(yyyy-MM-ddThH:mm:ss)".

#### Algorithm
```
TODO
```

### Input Value Syntax Verification
- Type: [InputValueSyntaxVerification](/src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/types/InputValueSyntaxVerification.java)
- Verifier: [InputValueSyntaxVerifier](src/main/java/de/unikoblenz/fgbks/core/dmn/verification/verifier/impl/InputValueSyntaxVerifier.java)

#### Description
This verification checks the correctness of the input formats for all input entries. They should have no syntax errors. 

For example: 
A numeric input value must have one of the following formats: 
- `= x`
- `<= x`
- `> x`
- `>= x`
- `[x..y]`
- `]x..y[`
- `[x..y[`
- `]x..y]`

#### Algorithm
```
TODO
```