Class CompletenessValidator

java.lang.Object
ca.mcscert.jpipe.model.validation.CompletenessValidator

public final class CompletenessValidator extends Object
Checks that justification models are structurally complete.

Rules applied to all models:

  • conclusion-present — model has exactly one Conclusion.
  • conclusion-supported — the conclusion has a supporting Strategy.
  • strategy-supported — every strategy has at least one supporting leaf.
  • sub-conclusion-supported — every sub-conclusion has a supporting strategy.

Rules applied to Justification only:

  • no-abstract-support — no AbstractSupport placeholders remain (they are only valid in templates).

Rules applied to Template only:

Use validate(Unit) for location-aware validation within a compiler pipeline. Use validateModel(JustificationModel) for standalone use when no Unit is available; violations will carry

invalid reference
SourceLocation#UNKNOWN
.
  • Constructor Details

    • CompletenessValidator

      public CompletenessValidator()
  • Method Details

    • validate

      public List<Violation> validate(Unit unit)
      Validates all models in the unit. Violations carry source locations resolved from the unit's location registry.
    • validateModel

      public List<Violation> validateModel(JustificationModel<?> model)
      Validates a single model without location data. All violations carry
      invalid reference
      SourceLocation#UNKNOWN
      .