2012-05-09 87 views
1

假設1:您有一套模塊(非常可維護,包含測試)用於實時監控。他們都跑得非常快,但反覆執行。他們都需要返回一個布爾標誌,但也可能會返回其他數據。例如,如果觀察到鸚鵡已經死亡,則CheckParrot模塊將返回。 SeekMorlocks模塊如果發現任何內容,則會返回true,但還會返回數字,標題和距離。如何實現可測試,可維護的實時邏輯?

假設2:您的應用程序將使用某種自定義算法(可能包括狀態變量)將這些模塊綁定在一起。例子包括RTS遊戲,交易程序,車輛監控系統等。該算法可以用真值表來表示,或者等同於programmable logic array

問題:什麼開源是有幫助實現可編程邏輯陣列,其中輸入和輸出是可執行模塊?目標是隔離算法(PLA)進行獨立測試,並輕鬆地將模塊插入其中。

目前我主要對Java解決方案感興趣,但也對任何C++或Python感到好奇。

感謝

回答

3

你可能想看看Drools

它的規則引擎和一套工具來創建/測試。

+0

不錯的項目。由於鏈接不完全明顯,因此它適用於Java1.5 +。 – Voo

1

據我所知,確實沒有庫實時監控。這是基於以下事實:監視需要開銷,並且由於開銷,它不會是實時的。

在嵌入式系統領域,我們通常會找到一些測試點引腳(例如GPIO),我們可以輸出一個脈衝。然後,我們將示波器或邏輯分析儀連接到引腳以捕獲實時跟蹤數據。我們使用工具的數據分析功能或讓工具將數據下載到可處理數據的另一個應用程序,例如LabView或MatLab。這對應用程序的實時性影響很小。

您可能能夠找到處理器的在線仿真器,其速度比處理器快,並且可以提供性能分析和其他實時數據收集。

請記住,數據輸出需要時間,因此您的應用程序可能不再是「實時」的。您可以將數據寫入內存位置,然後讓應用程序在數據退出前轉儲數據。我已經用JTAG調試器完成了這項工作。

雖然您可以找到一些分析工具,描述其性能,並將其納入您的「實時」需求。