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

发布于 2024-08-10 03:30:58 字数 650 浏览 7 评论 0原文

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

我想象它是这样的:

  1. 飞行员发送一条消息,他降落在某个跑道上,系统会记住跑道很繁忙,任何人都不应穿越它
  2. 如果有人收到穿越这条跑道的指令,引擎应该触发一条规则 当飞行员发出一条消息说
  3. 他离开跑道并前往登机口时,系统会清理跑道并让其他飞机使用它。

那么 Jena、prolog 或任何其他规则引擎是否适合于此?我的意思是它适合,但是我们真的需要使用它吗?我问教授。如果我们能够保持跑道状态并根据我们收到的消息进行一些简单的检查,他说它不可扩展,我们需要知识库。有人可以给我关于该系统使用哪种方法的建议吗?如果你推荐kb,那么我们应该使用哪一个呢?该项目是用java编写的。

谢谢。

we are designing a project that would listen to dialog between airport controllers and pilots to prevent runway incursions (eg. one airplane is taking off while other is crossing the runway). Our professor wants us to use Jena for knowledge base (or anything else but it should be some sort of rule-based engine). Inference is not the main thing in Jena and there's not much documentation and examples of this. So we need an engine that would get messages from pilots as input and output possible risks of incursion or any other error in message protocol. It should be easy to write rules, and should be easy to provide engine with real time data.

I image it something like this:

  1. A pilot sends a message that he lands on some runway, the system remembers that the runway is busy and no one should cross it
  2. If someone is given an instruction to cross this runway, the engine should fire a rule that something is wrong
  3. When the pilot sends a message that he left the runway and goes to the gate, the system clears the runway and lets other planes to use it.

So is Jena, or prolog or any other rules engine suitable for this? I mean it is suitable, but do we really need to use it? I asked the prof. if we could just keep state of the runway and use some simple checks based on messages we receive and he said that it is not scalable and we need the knowledge base. Can someone give me any advise on which approach to use for this system? If you recommend k.b., then which one should we use? The project is written in java.

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

熊抱啵儿 2024-08-17 03:30:58

我肯定会推荐 ILOG JRULES 以满足您的需求。我一直在使用 ILOG JRULES,它的性能和准确性给我留下了深刻的印象。

更新:那么我建议您也可以选择Drools检查Java 中的开源规则引擎

I would surely recommend ILOG JRULES for your needs. I have been using ILOG JRULES and am really impressed with its performance and accuracy.

Update: Then I would suggest to go for Drools also you might want to check Open Source Rule Engines in Java

末が日狂欢 2024-08-17 03:30:58

几个同事非常喜欢开源 Drools

A couple of colleagues at work really love the open source Drools.

秋日私语 2024-08-17 03:30:58

您可以使用 jena 来实现此目的,但它主要是一个 rdf 工具包。如果您还没有使用 RDF,或者不熟悉它,那么我会看看其他地方。

你的案例很有趣,因为它听起来相当动态。前向链接推理器(如 Drools)可能不是最佳选择,因为更新事件将使推论无效。尝试一些类似序言的东西。

You could use jena for this, but it's primarily an rdf toolkit. If you're not already using RDF, or familiar with it, then I'd look elsewhere.

Your case is interesting in that it sounds fairly dynamic. Forward chaining reasoners (like Drools) might not be the best choice, since update events will invalidate the deductions. Try something prolog-ish.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文