Open jefft0 opened 3 years ago
After some investigation, even though the code does not produce a goal for the RHS of M0
, it does produce a goal to instantiate M0
which should have the same effect. However, the controller for M0
does not seem to abduce properly from this goal, perhaps due to mismatch of timings as explained in issue #137 . Still investigating....
In hand-grab-sphere.replicode
, the interaction between M6
and M0
is now working and can be seen in the Visualizer. Perhaps the resolution to this issue is simply a clarification of the text in the Replicode specification.
From the Replicode specification: "M1 can be sketched as: imdl M0 -> B. During backward chaining, M1 needs M0 to achieve its goal. Assuming M0 is A -> C, when M1 receives a goal b matching B, then the executive produces a sub-goal c matching C in M0." In
hand-grab-sphere.replicode
, modelM6
is an example of a model with LHS imdl. Yet simulation doesn't appear to implement this behavior. That is, when there is a goal from the RHS, it does not produce a goal for the RHS of modelM0
.We need to investigate why the code doesn't do this and whether we should implement it.