A deduction can only use a function linked to an objective by Satisfies. The consolidation looks for the links a knowledge space is missing, from what each function leaves behind, and proposes them. Nothing is written before they are validated, unless a deduction is explicitly asked to add them.
01
Using it
The Knowledge consolidation button (magic wand) sits in the header of r-ioda and r-iote. Its dialog goes through these steps:
Mechanisms: choose those to run on the knowledge space.
Report: what is isolated as the space stands, before any mechanism runs: functions without an objective and objectives without a function.
Links: the links found with their reasoning and their effect, each with its editable pertinence, plus what stays isolated. Validate those to keep.
Result: the links written. A link is written with the status of its ends left unchanged; a second pass finds nothing new.
02
The observed state mechanism
For each function, it reads the effects its consumes table expects and works out which problems could no longer happen. Nothing is executed: the 2L conditions of Generates, Is_Susceptible_To and Creates are read on their syntax tree with three values (true, false, unknown).
function → expected state, value or position → the concept → its instances
→ the facts this gives on their sensors
→ the conditions that can no longer be true → impossible nodes (fixpoint)
→ the objective that Prevents or Treats them → proposed Satisfies
Each link says what it does:
Effect
Meaning
REMOVES_RISK
The risk can no longer be active.
REDUCES_RISK
The risk stays possible, at a lower level.
REMOVES_ACTUALITY
The actuality disappears, without a risk behind it.
ACTUALITY_TO_RISK
The actuality disappears but its source risk stays possible.
“Removes” means the status changes to FREEZE: nothing is deleted. The mechanism is deliberately cautious: a node named in the thresholds of a sensor is never impossible, an unreadable condition forbids any conclusion, and at least one known activation is required.
03
The pertinence of a link
A proposed link has a pertinence of 0.1 by default, on the 0–1 scale, editable in the dialog and written on the Satisfies. Semantic pertinence asks the AI provider of the project, possibly an external paid service, for a value and an explanation from the names and descriptions of the function and the objective. The answer is only displayed: it is indicative and is not a fine ranking.
04
In a deduction
The property consolidateKnowledge of the Drools strategies adds the links found at the start of the deduction, without validation, at pertinence 0.1; the deduction then reads them. It is offered in the advanced form of the strategy, in the r-iota FIND SOLUTION(S) dialog and among the options of the auto mode (off by default). r-iota reports the links added. The native Basic Bloc Satisfaction strategy does not use it.
05
Contract
REST resource /{app}/generic-application/knowledge-consolidation: mechanisms, report, propose, apply, semantic-pertinence (see the API reference). A new mechanism is a module with a class implementing ConsolidationMechanism, declared in its META-INF/services file and added to the web application and the Drools strategy.
06
Watch points
A function with no expected effect stays isolated: corrective functions that do not act through a state, a value or a position need another mechanism.
Empty lists of isolated functions while functions exist mean that the server has no current knowledge space for the user, for example just after a restart: reload one r-io suite tab.
Links created by hand or by a deduction disappear when the use case is loaded again.
Référence / Gouvernance
Consolidation des connaissances
Une déduction ne peut utiliser qu’une fonction reliée à un objectif par Satisfies. La consolidation cherche les liens qui manquent à un espace de connaissance, à partir de ce que chaque fonction laisse derrière elle, et les propose. Rien n’est écrit avant leur validation, sauf si une déduction reçoit explicitement l’ordre de les ajouter.
01
Utilisation
Le bouton Knowledge consolidation (baguette magique) se trouve dans l’en-tête de r-ioda et de r-iote. Sa boîte passe par ces étapes :
Mécanismes : choisir ceux à lancer sur l’espace de connaissance.
Rapport : ce qui est isolé tel quel, avant tout mécanisme : fonctions sans objectif et objectifs sans fonction.
Liens : les liens trouvés avec leur raisonnement et leur effet, chacun avec sa pertinence modifiable, et ce qui reste isolé. Valider ceux à garder.
Résultat : les liens écrits. Un lien s’écrit sans changer le statut de ses extrémités ; un second passage ne trouve rien de nouveau.
02
Le mécanisme de l’état observé
Pour chaque fonction, il lit les effets attendus par sa table consumes et en déduit les problèmes qui ne pourraient plus survenir. Rien n’est exécuté : les conditions 2L de Generates, Is_Susceptible_To et Creates sont lues sur leur arbre syntaxique, à trois valeurs (vrai, faux, inconnu).
fonction → état, valeur ou position attendus → le concept → ses instances
→ les faits que cela donne sur leurs capteurs
→ les conditions qui ne peuvent plus être vraies → nœuds impossibles (point fixe)
→ l’objectif qui les Prevents ou Treats → Satisfies proposé
Chaque lien dit ce qu’il fait :
Effet
Signification
REMOVES_RISK
Le risque ne peut plus être actif.
REDUCES_RISK
Le risque reste possible, à un niveau plus bas.
REMOVES_ACTUALITY
L’actualité disparaît, sans risque derrière elle.
ACTUALITY_TO_RISK
L’actualité disparaît mais son risque source reste possible.
« Removes » signifie que le statut passe à FREEZE : rien n’est supprimé. Le mécanisme est volontairement prudent : un nœud cité dans les thresholds d’un capteur n’est jamais impossible, une condition illisible interdit toute conclusion, et il faut au moins une activation connue.
03
La pertinence d’un lien
Un lien proposé a une pertinence de 0,1 par défaut, sur l’échelle 0–1, modifiable dans la boîte et écrite sur le Satisfies. Semantic pertinence demande au fournisseur d’IA du projet, éventuellement un service externe payant, une valeur et une explication à partir des noms et descriptions de la fonction et de l’objectif. La réponse est seulement affichée : elle reste indicative et ne donne pas un classement fin.
04
Dans une déduction
La propriété consolidateKnowledge des stratégies Drools ajoute les liens trouvés au début de la déduction, sans validation, à la pertinence 0,1 ; la déduction les lit ensuite. Elle est proposée dans le formulaire avancé de la stratégie, dans la boîte FIND SOLUTION(S) de r-iota et parmi les options du mode auto (désactivée par défaut). r-iota signale les liens ajoutés. La stratégie native Basic Bloc Satisfaction ne l’utilise pas.
05
Contrat
Ressource REST /{app}/generic-application/knowledge-consolidation : mechanisms, report, propose, apply, semantic-pertinence (voir la référence API). Un nouveau mécanisme est un module avec une classe qui implémente ConsolidationMechanism, déclarée dans son fichier META-INF/services et ajoutée à l’application web et à la stratégie Drools.
06
Points d’attention
Une fonction sans effet attendu reste isolée : les fonctions correctives qui n’agissent ni par un état, ni par une valeur, ni par une position demandent un autre mécanisme.
Des listes de fonctions isolées vides alors que des fonctions existent signifient que le serveur n’a pas d’espace de connaissance courant pour l’utilisateur, par exemple juste après un redémarrage : recharger un onglet r-io suite.
Les liens créés à la main ou par une déduction disparaissent au rechargement du cas d’usage.