Clips 6.4 IDE 潜在错误。不显示所选模块的事实

Clips 6.4 IDE potential bug. Not showing facts for selected module

我正在使用 CLIPS 6.4 IDE 进行调试。我开始根据 "salience" 属性 规则开发我的专家系统,以更改规则优先级。

我认为最佳做法是更改此行为并将具有不同 "salience" 级别的规则移动到不同的命名模块。

当我使用 "salience" 时,我可以使用 IDE(即重置、运行 和步骤按钮)轻松调试我的程序。

在"Fact Browser"中可以看到所有当前活动的事实,但是当我使用命名模块时我什么也看不到(见下图):

另一方面,"Agenda browser" 效果很好:

因此在看不到当前活动的事实的情况下调试应用程序很麻烦,是否可以修复它?

P.S.: 我是 运行ning CLIPS IDE 6.4 on Windows 10 , x64 谢谢!

以下是未正确显示事实的示例代码:

(defmodule MAIN (export ?ALL))
(deftemplate point (slot x) (slot y))
(deffacts points (point (x 1) (y 2)) (point (x 3) (y 4)))
(defmodule ENTITIES)
(defmodule PLANNING (import MAIN ?ALL))

这是执行以下操作的示例代码:

(defmodule MAIN (export ?ALL))
(deftemplate point (slot x) (slot y))
(deffacts points (point (x 1) (y 2)) (point (x 3) (y 4)))
(defmodule ENTITIES (import MAIN ?ALL))
(defmodule PLANNING)

所选模块的起始索引被错误地设置为 1 而不是 0,因此如果与该索引关联的模块在范围内没有任何事实,浏览器在其他模块时无法正确显示事实已选中。

您可以通过删除 EntityBrowser.xaml 文件中 SelectedIndex 的初始设置来更正此问题。这些行:

<DataGrid x:Name="moduleDataGridView" ... SelectedIndex="1" ...>

<DataGrid x:Name="entityDataGridView" ... SelectedIndex="1" ...>

<DataGrid x:Name="slotDataGridView" ... SelectedIndex="1" ...>

应该改为

<DataGrid x:Name="moduleDataGridView" ... ...>

<DataGrid x:Name="entityDataGridView" ... ...>

<DataGrid x:Name="slotDataGridView" ... ...>