1

假设1:您有一套用于实时监控的模块(非常可维护,带有测试)。它们都运行得非常快,但会重复执行。它们都需要返回一个布尔标志,但也可能返回其他数据。例如,如果观察到一只鹦鹉已经死亡,CheckParrot 模块将返回。如果找到任何东西,SeekMorlocks 模块将返回 true,但还会返回数字、航向和距离。

假设 2:您的应用程序将使用某种自定义算法将这些模块联系在一起,其中可能包括状态变量。示例包括 RTS 游戏、交易程序、车辆监控系统等。该算法可以由真值表或等效的可编程逻辑阵列来表示。

问题:有什么开源可以帮助实现可编程逻辑阵列,其中输入和输出是可执行模块?目标是隔离算法 (PLA) 以进行独立测试,并轻松地将模块插入其中。

目前,我最感兴趣的是 Java 解决方案,但也对任何 C++ 或 Python 感到好奇。

谢谢

4

2 回答 2

3

你可能想看看Drools

它是规则引擎和一组工具来创建/测试它们。

于 2012-05-09T17:53:40.827 回答
1

据我所知,没有用于精确实时监控的库。这是基于监控需要开销的事实,并且由于开销,它不会是实时的。

在嵌入式系统领域,我们通常会找到一些可以输出脉冲的测试点引脚(例如 GPIO)。然后我们将示波器或逻辑分析仪连接到引脚以捕获实时跟踪数据。我们要么使用该工具的数据分析功能,要么让该工具将数据下载到另一个可以处理数据的应用程序,例如 LabView 或 MatLab。这对应用程序的实时性影响很小。

您也许可以为您的处理器找到一个比您的处理器更快的在线仿真器,并且可以提供分析和其他实时数据收集。

请记住,数据输出需要时间,因此您的应用程序可能不再是“实时的”。您可以将数据写入内存位置,然后让应用程序在数据退出之前转储数据。我已经用 JTAG 调试器完成了这项工作。

尽管您可以找到一些分析工具,描述它们的性能,并将其纳入您的“实时”需求。

于 2012-05-09T20:02:09.187 回答