The expected world is cloned progressively: the strategy only starts once its size stops growing, otherwise half-cloned instances would look like additions.
Weighted Graph Distance
The distance between the field and the plan, weighted by meaning. Every instance added, deleted or updated in one world only is looked up in a matrix of weights (concept × world × kind of change, involved or not); the weights are summed per failure category and divided by the threshold of the category. A change found in both worlds cancels out.
Which world changed, how, and on what
| Field | Expected | Baseline | Read as |
|---|---|---|---|
| present | absent | absent | FIELD · Add: something new on the field, unknown to the plan. |
| absent | present | present | FIELD · Delete: vanished on the field while the plan still has it. |
| absent | present | absent | EXPECTED · Add: the plan created it, not on the field yet. |
| present | absent | present | EXPECTED · Delete: the plan removed it (resolved), the field still has it. |
| value A | value B | A or B | Update, on the side whose value differs from the baseline (both sides when both moved). |
Each case is weighted with the row of the closest concept of the instance (its own concept, then its parents) and the column involved or other: an instance used by a remaining task or treated by the solution is involved. The contribution is weight / threshold of its category; a category is the sum of its contributions.
Rows of concepts, two worlds, five kinds of change
Columns — for each world (FIELD, EXPECTED): Add, Del. inv. (deletion of an involved instance), Del. other, Upd. inv., Upd. other. Each cell holds a weight, a category and a “why”, the reason shown in the editor and in the explanation of a contribution.
Rows — grouped as Problem, Solution and Resources. A concept without a row takes the row of its closest parent (an Intrusion_Alert takes the Actuality row); “Add a concept row” gives a concept weights of its own.
Thresholds — one per category, at the top of the editor: the sum of weights at which the category needs an action. Default 1 for the alerts, 0.3 for Improvable.
Ignored — identity and display properties (modelNodeId, nodeFingerprint, status, color, icon, description…) and every creation or modification date, which the clone of the expected world rewrites.
The matrix of a new project
Cells not listed are 0 (ignored). The EXPECTED world is 0 everywhere: the plan moving on is normal; a resolved actuality waiting for its sensor (the orange halo) must not raise anything.
| Concept | FIELD Add | FIELD Del. inv. | FIELD Upd. inv. | Why |
|---|---|---|---|---|
| Actuality | 1 | 1 | 0.1 | A new problem not treated fires Uncovered alone; a treated one which vanished makes its tasks useless (Obsolete); a change of its description is a small gap. |
| Potentiality | 0.5 | 0.5 | 0.3 | Only a hypothesis: two of them fire the alert; a change of probability may set other priorities (Improvable). |
| Risk | 0.3 | 0 | 0 | Not a problem yet: worth a new deduction to see whether prevention pays off. |
| Objective | 0 | 0 | 0 | Field objectives stay ACTIVE until the expert closes the crisis: weighting them would leave a gap at the end of every plan. |
| Resource | 0 | 1 | per property | A resource of a remaining task disappears: the task cannot be done (Failing). |
| Person | 0.3 | 1 | per property | A person arrives who was not known at deduction time: a new deduction could do better. |
| Good | 0.2 | 1 | per property | A new good: could improve the plan, rarely urgent. |
| Sensor | 0 | 0.5 | 0 | A sensor the solution relies on disappears: the field becomes blind on a problem it handles. |
Weights per property of an involved instance
Clicking a concept shows the weights of its properties: an update of a listed property of an involved instance takes the property weight instead of the Upd. inv. weight of the row.
| Resource property | FIELD | Crossing | Why |
|---|---|---|---|
| Geolocation | 0 | — | A resource moves all along its tasks while the plan keeps its starting position; the drift of the moves is measured by the KPIL indicators recalculation. |
| Resource:strain | 0 | ≥ 75 → 1 | Fatigue grows with every task: an ordinary change is not weighted, crossing the high strain threshold is (Failing). |
| presence | 1 | — | The resource left the site: its remaining tasks cannot be done. |
| personal calendar | 0.5 | — | The resource becomes unavailable for part of the plan: two such changes fire the alert. |
Crossing — a numeric property with a crossing threshold is weighted when its field value reaches the threshold while its baseline value was below it, whatever its own weight. Person and Good copy the property weights of Resource.
Every cell explains itself
Clicking a weight opens a panel with its “why”, its value and category, and what this value implies: “on its own, this change fires the red alert”, “two such changes fire it”… Frozen while a solution is supervised.
IMT Albi Crisis: an intrusion during the gas leak
The solution deduced for the gas leak at Rapsodee is supervised: all categories are at 0. When the timeline of r-iosemit reaches “Presence detected at Iomega”, the CEP rule raises an Intrusion_Alert, an Actuality the solution does not treat.
It is new on the field and absent from the plan and the baseline: FIELD · Add of the Actuality row, weight 1, Uncovered. Uncovered = 1 / 1 = 1.00: the alert box opens with the contribution “New Intrusion_Alert … on the field, unknown to the supervised solution”. Meanwhile the gas leak, resolved by the process and confirmed by the sensor, changed in both worlds and weighs nothing.
Good to know
A person walking to a task moves on the field only; the distances and durations are judged by the KPIL indicators recalculation.
The strain of a resource (Resource:strain, KPIL) is the measure of fatigue or wear; presence and personal calendar sit on Resource for persons and goods alike.
gind-detection-engine-weighted-graph-distance-strategy/…/WeightedGraphDistanceStrategy.javaComparison of the worlds, weighing, crossings, default matrix and its reasons.gind-npm-strategy-supervision-weighted-graph-distance/src/weighted-graph-distance-matrix.component.*The matrix editor, the property detail and the explanation panel.


