規則引擎教程--變量跟蹤

 功能概述

    在規則包測試過程中,若要知道變量在每個規則中執行情況,變量在每個規則中值的變化情況,就可以對該變量進行“調試跟蹤”。這樣就可以把變量在每個規則、規則集的值賦值、變化、結果情況全部記錄下來。這個變量即可以是“傳入數據”中的變量,也可以是“臨時數據”中的變量,也可以是“內存表”中的變量。

 

創建個名爲“變量跟蹤”的規則包,創建過程如下圖所示:


 

 

 

 



 包添加完成之後,然後在規則包下添加規則集、規則。右鍵規則包,選擇添加規則集。添加過程如下圖:
 

 

 繼續在規則集“a大於0”中添加新規則,如下圖所示:

 



 

 

繼續在規則集“a大於0”中添加新規則,如下圖所示:

 



 

 

 

最後,還要在規則集“a大於0”中添加規則“內存表賦值1”,如下圖所示:



 



 

 

 

 

這樣規則集“a大於0”的規則就添加完成了。繼續在規則包中添加個名爲“a小於0”的規則集,如下圖所示:

 



 

然後,要在該規則集下添加三個規則,完成後如下圖所示:



 

 

在規則添加完成之後,要在對象庫中添加變量,變量添加過程如下圖所示:



  

 

然後,還有在對象庫中添加計算表格(內存表),添加過程如下圖所示:

 

 



 

 

 

 

在規則與變量都定義好了之後,要在規則與規則集中添加具體的規則邏輯。

 

第一,在規則集“a大於0”中添加的規則邏輯,如下圖所示:



 

 

 

 



 

 

第二,要在規則集“a大於0”下的規則“變量賦值1”,添加規則邏輯。完成後,如下圖所所示:



 

 

第三,在規則“自增”中,讓變量bc自增1,具體的規則邏輯如下圖所示:

 



 

 

第四,在規則集“a大於0”下的規則“內存表賦值1”,添加規則邏輯。首先要在該規則的屬性窗口,修改該規則的屬性設置:



 

在給內存賦值除了每個變量挨個賦值外,還可以使用規則配置器自帶的內存表賦值嚮導。使用嚮導大大減少了規則編寫的時間與步驟。具體的嚮導步驟,如下圖所示:

 



 

 

 

由於內存表剛創建的時候是張空表,所以在給內存表賦值前,需給內存中添加一條空數據,步驟如下圖所示:



 

複製了內存表的“insert”方法之後,就要把該方法插入到規則邏輯中去,如下圖所示:



 

 



 

 

 

 

這樣規則“內存表賦值1”的規則編寫就完成了。規則集“a小於0”規則邏輯如下圖:



 

 

規則集“a小於0”完成之後,要給規則“變量賦值2”編寫邏輯,如下圖所示:

 



 

規則“變量賦值2”完成之後,我們在規則“自減”中,讓變量bc自減1,具體的規則邏輯如下圖所示:



 

變量自減之後,又要給內存表賦值了,在規則“內存表賦值2”中,實現的規則邏輯如下圖所示:



 



 

在規則邏輯的編寫完成之後,在就可以在對象庫中設置需要跟蹤的變量。過程如下圖所示:

 



 

 

在“傳入數據”中的變量添加了“調試跟蹤”,在內存表的變量也可以跟蹤其執行記錄,如下圖所示:

 



 

 

這樣在規則包測試執行的時候,就可以記錄已被“調試跟蹤”的四個變量的值變化情況。

 

 

 

 

在規則包全部編寫完成之後,就要對規則包進行保存、編譯。點擊“全部保存”會把所有的未保存的規則包,自動保存並編譯。如下圖所示:



 

 

點擊之後,規則配置器的消息欄會有保存的消息記錄,如下圖:



 

 

 

規則包編寫完成之後,可以添加測試數據進行規則包測試。在規則包測試過程中,就可以跟蹤變量,記錄變量的值變化情況。測試情況如下圖所示:



 

 

點擊了“執行到此”之後,就可以看到規則包測試結果和變量值變化。如下圖所示:

 

上述的這種情況是執行了規則包進入了規則集“a大於0”的情況,下面再測試下規則集“a小於0 ”的情況。刷新測試數據,然後在規則包測試中輸入“a=-3”,測試規則包執行結果,如下圖所示:



 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章