哪个知识库/基于规则的推理引擎可以选择实时的跑道侵入预防系统

时间:2009-11-07 04:14:26

标签: java jena rule-engine

我们正在设计一个项目,该项目将听取机场管制员和飞行员之间的对话,以防止跑道入侵(例如,一架飞机正在起飞,而其他飞机正在越过跑道)。我们的教授希望我们使用Jena作为知识库(或其他任何东西,但它应该是某种基于规则的引擎)。推理不是耶拿的主要内容,并没有太多的文档和示例。因此,我们需要一个引擎,它可以从飞行员那里得到消息作为输入和输出可能的入侵风险或消息协议中的任何其他错误。编写规则应该很容易,并且应该很容易为引擎提供实时数据。

我想像这样:

  1. 飞行员发出一条消息,表示他落在某条跑道上,系统记得跑道很忙,没人应该越过
  2. 如果有人指示穿过这条跑道,引擎应该发出错误的规则
  3. 当飞行员发出一条消息说他离开跑道并进入大门时,系统会清除跑道并让其他飞机使用它。
  4. 耶拿,或prolog或任何其他适用于此的规则引擎也是如此?我的意思是它是合适的,但我们真的需要使用它吗?我问教授。如果我们可以保持跑道的状态并根据我们收到的消息使用一些简单的检查,他说它不可扩展,我们需要知识库。有人可以给我任何关于该系统使用方法的建议吗?如果你推荐k.b.,那我们应该使用哪一个?该项目是用java编写的。

    谢谢。

3 个答案:

答案 0 :(得分:3)

我肯定会根据您的需求推荐ILOG JRULES。我一直在使用ILOG JRULES,我对它的性能和准确性印象非常深刻。

更新:然后我建议您去Drools,也可以查看Open Source Rule Engines in Java

答案 1 :(得分:2)

一些在职的同事真的很喜欢开源Drools

答案 2 :(得分:1)

你可以使用jena,但它主要是一个rdf工具包。如果你还没有使用过RDF,或者熟悉它,那么我会去别处看看。

你的情况很有趣,因为它听起来很有活力。正向链接reasoners(如Drools)可能不是最佳选择,因为更新事件将使推断无效。试试prolog-ish。