Generalized model impact analysis
GeneralizedImpactAnalyzer converts a model-change event and the canonical engineering graph into a controlled work
list. It reports direct and propagated objects, explains the relationship path, orders affected calculations, detects
calculation cycles, and identifies approvals that must be repeated.
The default rule set covers NeqSim dependencies and the relationships needed across a wider digital-twin toolchain:
| Relationship | Propagation | Default response |
|---|---|---|
DEPENDS_ON |
target to source | revalidate; recalculate calculation nodes |
GENERATED_FROM |
target to source | regenerate |
APPROVES |
approved subject to approval | reapprove |
REPRESENTS_SAME_AS |
both directions | revalidate |
SYNCHRONIZED_FROM |
authoritative target to local source | revalidate |
VALIDATED_AGAINST |
evidence target to validated source | revalidate |
CONSUMED_BY_MODEL |
source artifact to consuming model | revalidate |
INVALIDATES |
source to target | revalidate |
REQUIRES_REAPPROVAL |
source to approval target | reapprove |
ImpactAnalysisResult impact = new GeneralizedImpactAnalyzer().analyze(engineeringGraph, modelChangeEvent);
for (String calculationId : impact.getRecalculationOrder()) {
// Dispatch controlled recalculation work.
}
Projects can supply their own ImpactAnalysisRule list for additional graph relationships. A rule declares the edge
kind, propagation direction, and required action; the traversal algorithm stays unchanged.
The result is deterministic and explicitly sets fitnessForConstruction to false. It is a work proposal and audit
record, not an approval decision.