Skip to content
Snippets Groups Projects
Commit 1d8b6477 authored by Jonas Blatt's avatar Jonas Blatt :ant:
Browse files

Java doc for Verifier Type

parent bfc83bb5
No related branches found
No related tags found
No related merge requests found
...@@ -16,53 +16,80 @@ import org.camunda.bpm.dmn.engine.DmnDecision; ...@@ -16,53 +16,80 @@ import org.camunda.bpm.dmn.engine.DmnDecision;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
public enum VerifierType { public enum VerifierType {
/** Detecting rules which have an identical input, i.e. are redundant. */
Identical("Checking for identical rules.", IdenticalVerifier.class, true, true, false), Identical("Checking for identical rules.", IdenticalVerifier.class, true, true, false),
/**
* Detecting individual rules which are subsumed by other rules, i.e. they are not necessary. For
* example, rules containing wildcards often render more specific rules unnecessary due to
* subsumption.
*/
Subsumption( Subsumption(
"Checking for rules, which subsume other rules.", "Checking for rules, which subsume other rules.",
SubsumptionVerifier.class, SubsumptionVerifier.class,
true, true,
true, true,
false), false),
/**
* Detecting rules which are not identical, but still semantically equivalent. Here, our tool can
* verify if there exist multiple rules which use synonyms as inputs and are therefore equivalent,
* based on synonym relations via Wordnet.
*/
Equivalent( Equivalent(
"Checking for semantically equivalent rules.", EquivalentVerifier.class, true, false, false), "Checking for semantically equivalent rules.", EquivalentVerifier.class, true, false, false),
/** Detecting whether there are any overlaps in rule conditions. */
Overlap("Checking for overlapping rules.", OverlappingVerifier.class, true, true, false), Overlap("Checking for overlapping rules.", OverlappingVerifier.class, true, true, false),
/**
* Detecting whether there are any missing business rules, i.e. if there are rules missing for
* expected inputs.
*/
Missing("Checking for missing rules.", MissingVerifier.class, true, false, false), Missing("Checking for missing rules.", MissingVerifier.class, true, false, false),
/** Checking wether ranges can be combined to simplify decision tables. */
PartialReduction( PartialReduction(
"Checking for partial reduction of rules (combination).", "Checking for partial reduction of rules (combination).",
PartialReductionVerifier.class, PartialReductionVerifier.class,
true, true,
false, false,
false), false),
/**
* Detecting rules which will always be activated together, but have differing or contradicting
* conclusions. For example, rules which will be activated together must not yield that a customer
* is both credit worthy, and not creditworthy, as this is logically inconsistent.
*/
Interdeterminism( Interdeterminism(
"Checking for rules that are activated together but have different conclusions.", "Checking for rules that are activated together but have different conclusions.",
InterdeterminismVerifier.class, InterdeterminismVerifier.class,
false, false,
false, false,
false), false),
/** Same as {@link VerifierType#Identical}, including a multi table view. */
MultiTableIdentical( MultiTableIdentical(
"Checking for identical rules in multiple tables (identical outcome column).", "Checking for identical rules in multiple tables (identical outcome column).",
MultiTableIdenticalVerifier.class, MultiTableIdenticalVerifier.class,
true, true,
true, true,
true), true),
/** Same as {@link VerifierType#Overlap}, including a multi table view. */
MultiTableOverlapping( MultiTableOverlapping(
"Checking for overlapping rules in multiple tables (identical outcome column).", "Checking for overlapping rules in multiple tables (identical outcome column).",
MultiTableOverlappingVerifier.class, MultiTableOverlappingVerifier.class,
true, true,
true, true,
true), true),
/** Same as {@link VerifierType#Subsumption}, including a multi table view. */
MultiTableSubsumption( MultiTableSubsumption(
"Checking for subsumptions in multiple tables (identical outcome column).", "Checking for subsumptions in multiple tables (identical outcome column).",
MultiTableSubsumptionVerifier.class, MultiTableSubsumptionVerifier.class,
true, true,
true, true,
true), true),
/** Same as {@link VerifierType#Equivalent}, including a multi table view. */
MultiTableEquivalent( MultiTableEquivalent(
"Checking for equivalent rules in multiple tables (identical outcome column).", "Checking for equivalent rules in multiple tables (identical outcome column).",
MultiTableEquivalentVerifier.class, MultiTableEquivalentVerifier.class,
true, true,
false, false,
true), true),
/** Same as {@link VerifierType#PartialReduction}, including a multi table view. */
MultiTablePartialReduction( MultiTablePartialReduction(
"Checking for partial reduction of rules in multiple tables (identical outcome column).", "Checking for partial reduction of rules in multiple tables (identical outcome column).",
MultiTablePartialReductionVerifier.class, MultiTablePartialReductionVerifier.class,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment