2011-11-28 3 views
9

Sto cercando una macchina di stato valida e universale e finora ho trovato SCXML. È davvero semplice da usare (intendo la configurazione), ma il codice sorgente è arcaico - non esiste un tipo di sicurezza e tutte le raccolte sono di tipo grezzo. Non devo dire quanto sia difficile trovare ciò che è effettivamente memorizzato in quelle collezioni. Quindi c'è qualche alternativa moderna?Esiste un'alternativa ad Apache Commons SCXML?

+0

I BPMN come jBPM o Activiti sono eccessivi? –

+0

Sì. Ho provato jBPM ed è enorme. Ho bisogno di una semplice macchina a stati - proprio come SCXML, ma migliore (come ho detto sopra). Una buona documentazione sarebbe anche utile, dal momento che SCXML non ne ha praticamente nessuna. – user219882

+0

Hai visto http://www.manageability.org/blog/stuff/open-source-statemachine-for-user-interfaces-written-in-java? Puoi anche stampare il tuo, usando lo State Design Pattern. In combinazione con l'enumerazione, questo può essere codificato in modo abbastanza tondo, come http://weblogs.java.net/blog/ryano/archive/2005/01/implementing_th.html – greyfairer

risposta

1

in Java, Apache Commons SCXML può essere il best.But è possibile cercare qualcosa su scxml4flex, http://code.google.com/p/scxml4flex/

+0

Poiché la domanda è stata specificatamente taggata 'Java',' scxml4flex' risponde veramente alla domanda? –

+0

Non funziona. Immagino che Apache Commons SCXML sia il migliore per il mio scopo ma sembra che gli sviluppatori non intendano rifattorizzare il codice e scrivere una documentazione migliore poiché non l'hanno ancora fatto. – user219882

3

ho usato due prodotti macchina statale, dove mi definisco un prodotto come qualcosa che ha effettivamente crea porzioni di un programma operativo.

1) QP (a http://www.state-machine.com/). L'ho usato nel 2006 in un prodotto di comunicazione Windows C++ . Ha funzionato molto bene, ma ha un numero limitato di piattaforme target . Nel complesso questo è stato il miglior prodotto, ma può costare in base allo su come lo si utilizza.

2) Compilatore di stato (al numero http://smc.sourceforge.net/). Sto usando questo oggi in un prodotto iOS (http://dr.edgemoor.com) scritto in Objective-C. Mi sono imbattuto nella domanda durante la ricerca di alternative a SMC. Non ne ho trovato nessuno.

SMC è meno ben documentato, ma anche di portata più semplice. E la grande forza è che genera codice per un numero di lingue, più di ogni altra soluzione che ho trovato.

+0

Grazie per la risposta, ma ho bisogno solo di librerie Java pure. Significa che il motore della macchina di stato deve essere scritto in Java e dovrebbe essere configurabile in file XML. – user219882