2011-11-28 42 views
9

我正在尋找一個好的通用狀態機,到目前爲止我找到了SCXML。它的使用非常簡單(我的意思是配置),但源代碼是陳舊的 - 沒有類型安全性,所有集合都是原始類型。我不必多說要找到這些集合中實際存儲的內容的難度。那麼有沒有現代的選擇?Apache Commons SCXML有其他選擇嗎?

+0

像jBPM或Activiti這樣的BPMN是否過度殺傷? –

+0

是的。我試過jBPM,它很龐大。我需要簡單的狀態機 - 就像SCXML一樣,但更好(正如我上面所說的)。一個好的文檔也是有用的,因爲SCXML幾乎沒有。 – user219882

+0

您是否在查看http://www.manageability.org/blog/stuff/open-source-statemachine-for-user-interfaces-written-in-java?您也可以使用州設計模式推出自己的產品。結合使用枚舉,可以對其進行簡單的編碼,如http://weblogs.java.net/blog/ryano/archive/2005/01/implementing_th.html – greyfairer

回答

1

在java中,Apache的百科全書SCXML可能是best.But你可以看一下一些關於scxml4flex,http://code.google.com/p/scxml4flex/

+0

由於問題被特別標記爲'Java','scxml4flex'真的回答了問題嗎? –

+0

它沒有。我猜Apache Commons SCXML對我來說是最好的,但是似乎開發人員不打算重構代碼並編寫更好的文檔,因爲他們還沒有完成。 – user219882

3

我用了兩個狀態機的產品,在這裏我定義產品的東西, 其實需要創建部分的操作程序。

1)QP(在http://www.state-machine.com/)。我在2006年使用了Windows C++ 通信產品。工作得很好,但目標數量有限 平臺。總的來說,這是最好的產品,但它可以花費錢,具體取決於你如何使用它。

2)狀態機編譯器(在http://smc.sourceforge.net/)。我在Objective-C編寫的iOS產品(http://dr.edgemoor.com)中今天使用了這個 。在研究SMC的替代品時,我遇到了你的問題 。我還沒有找到。

SMC文件較少,但範圍也較簡單。 的強大實力在於它可以爲多種語言生成代碼,比我發現的任何其他解決方案都多 。

+0

謝謝你的回答,但我只需要純Java庫。這意味着狀態機引擎必須用Java編寫,並且應該可以在XML文件中配置。 – user219882