如何实现可测试、可维护的实时逻辑
How can I implement testable, maintainable real-time logic?
假设1:你有一套用于实时监控的模块(非常可维护,有测试(。 它们都运行得非常快,但会重复执行。 它们都需要返回布尔标志,但也可能返回其他数据。 例如,如果观察到鹦鹉死亡或不死亡,CheckParrot 模块将返回。 如果找到任何内容,SeekMorlocks 模块将返回 true,但还会返回数字、航向和距离。
假设 2:应用程序将使用某种自定义算法将这些模块绑定在一起,其中可能包括状态变量。 示例包括 RTS 游戏、交易程序、车辆监控系统等。 该算法可以用真值表表示,也可以等效地用可编程逻辑阵列表示。
问题:有什么开源可以帮助实现可编程逻辑阵列,其中输入和输出是可执行模块? 目标是隔离算法(PLA(以进行独立测试,并轻松地将模块插入其中。
目前,我最感兴趣的是Java解决方案,但也对任何C++或Python感到好奇。
谢谢
你可能想看看流口水
它是规则引擎和一组用于创建/测试它们的工具。
据我所知,没有用于精确实时监控的库。 这是基于监视需要开销的事实,并且由于开销,它不会是实时的。
在嵌入式系统领域,我们通常会找到一些可以输出脉冲的测试点引脚(例如GPIO(。 然后,我们将示波器或逻辑分析仪连接到引脚,以捕获实时迹线数据。 我们要么使用该工具的数据分析功能,要么让该工具将数据下载到另一个可以处理数据的应用程序,例如LabView或MatLab。 这对应用程序的实时性影响最小。
您也许能够为您的处理器找到比处理器更快的在线仿真器,并且可以提供性能分析和其他实时数据收集。
请记住,数据输出需要时间,因此您的应用程序可能不再是"实时的"。 您可以将数据写入内存位置,然后让应用程序在退出之前转储数据。 我已经用JTAG调试器完成了这个。
尽管您可以找到一些分析工具,但可以表征它们的性能,并将其纳入您的"实时"需求中。
- 从数据库实时显示QT c++中的数据
- 如何维护资源管理器项目视图中当前可见的项目列表
- 维护unordered_map但同时每一步都需要最低的映射值
- 在 Windows 8/10 技术中完全实时的屏幕捕获,没有延迟
- 有没有办法使用 c++ 实时阅读文本?
- 在本地网络中通过OpenCV(C++)实时流式传输图像
- 将相机数据从服务器实时流式传输到客户端
- GCC,CMake,预编译标头和维护依赖项
- Q没有管理权限的 exe 无法启动维护工具
- 将实时(非静态)放在qt(c ++)上
- 线程之间的实时数据共享
- 如何在实时应用程序中锁定线程
- OpenCV - 来自相机的实时馈送不流畅
- 是否很好地使用状态模式来维护当前选定的对象?
- 如何提高 OpenCV 实时检测器应用程序的帧率?
- 使用 Opencv 将姿势值实时写入文本文件
- Firebase C++ Windows 上的实时数据库连接丢失
- 我在 IDA 或 dbg 或 olly 上看到的内存是否与我在 RAM 上实时加载的内存相同?
- 媒体基金会:WavSink以比实时消耗率更快的速度处理音频-是否可以实时限制后台处理
- 如何实现可测试、可维护的实时逻辑