2015-02-11 58 views
1

在本示例中,我試圖模型化模型的複雜性隨FSM中採取的每一步都呈指數增長。然而,關於FSM如何增長的規則很容易在代碼中描述,但不可能手工建模。手工難以創建模型的原因是隨着FSM的進展,每個節點可能會有大量的轉換。州的數量並不是很多,但過渡的數量是巨大的!爲MBT動態創建EFSM

我一直在嘗試使用ModelJUnit,但據我所知,這個工具只支持完全預先定義的模型。

所以我的問題是,是否有任何基於模型的測試工具,支持動態創建被測系統的FSM,如所述的abowe?

回答

1

您的問題非常典型。一個例子是控制器/軟件確定車輛中換檔器的位置 - 位置P R N D需要通過操縱桿的電氣轉換來確定。如果考慮到跳過轉換和電氣故障,你會得到一個很大/無限的空間。這種軟件具有最高的安全等級,因爲它可能會導致意外的扭矩。

像ModelJUnit,NUnit等工具可用於教育/工具開發的目的。你可以學習代碼,編輯它並實現你自己的實驗算法。

在另一方面未修改他們無法與這一難題你提到:狀態空間/過渡爆炸等等。這就是爲什麼專業工具使用非常複雜的方法來處理大/無限空間:

  • 全部符號探索
  • 約束求解
  • 切片

他們往往能產生類似要求的覆蓋範圍,甚至在無限的機型MC/DC,結果becau這些算法不需要在勘探過程中擴展整個空間。 例子爲工具,你可以看看是:

  • Conformiq
  • 規格資源管理器