KbMessage
The messages between the nodes of a distributed solver: the catalog, the workers and the clients, each known by its address (see Address). On a machine the terms travel as they are (they are immutable, shared by the nodes without copies); the transports between processes write them as Prolog text (see MessageCodec).
After a change of the theory, the first evaluation builds the graph:
the catalog sends each worker its rules and the flags (Load); each tells the premises and the conclusions of its rules (Subscribe);
the catalog sends every worker those of all (Build). On the whole graph, each builds the arguments of its rules, sends them to the workers whose rules use their conclusions (Notify), which build on them in turn, and publishes them to the catalog (Publish). In query mode, the arguments the evaluations depend on alone, as the standard solver explores them (see the module queryExploration): the catalog asks the workers concluding the statements evaluated to explore them (Explore); each explores them on its rules, asks the others for the statements its exploration needs and its rules do not conclude, and sends what it builds to those that asked for it. Every Build, Explore, Notify and Publish is acknowledged to its sender (Ack); a worker acknowledges the message that engaged it only once all it sent is acknowledged (Dijkstra and Scholten): with every Build and Explore acknowledged, the arguments are all built and published;
the workers find the attacks (Attack): each tells the others the statements that may attack its arguments (Wanted), sends each the arguments of its own for them (Candidates), finds the direct attacks on its own and sends them to the catalog (AttacksFound), which extends them to the arguments built on the attacked ones and labels the graph.
In query mode a later evaluation needing more of the graph explores it further (Explore), then the attacks are found again.
The goals of the clients (RequireSolution, RequireAnswer, RequireEvaluation) are solved by the catalog, on the graph the workers built for them as above (see Catalog).