IIIM-IS / AERA

Other
12 stars 4 forks source link

Backward chaining for model with LHS imdl #139

Open jefft0 opened 3 years ago

jefft0 commented 3 years ago

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, model M6 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 model M0.

We need to investigate why the code doesn't do this and whether we should implement it.

jefft0 commented 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....

jefft0 commented 3 years ago

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.