Does anyone have a solution for a basic, compact Finite state machine/automata written in Objective-C code?
I am interested in reusable components so that the FSM have states added and actions defined that use reusable state classes.
Does anyone have a solution for a basic, compact Finite state machine/automata written in Objective-C code?
I am interested in reusable components so that the FSM have states added and actions defined that use reusable state classes.
What you want is a rules engine... oddly, I was able to find only one for objective-C (BDRuleEngine) and that is rather out of date:
http://eschatologist.net/bDistributed.com/index.html
It might be the best starting point though, unless you want to port something.
I've found a good solution. This is the best choice for Objective-C I have ever seen. Enjoy ;) https://github.com/est1908/SimpleStateMachine
I did this in Java. Might be ported... In addition to the reusable components, the state machine itself can be defined in an array (as data), which makes it really easy to use.
http://code.google.com/p/state-machine/
If you wanted to try to port it, I could probably help.
What you want is a rules engine... oddly, I was able to find only one for objective-C (BDRuleEngine) and that is rather out of date:
http://eschatologist.net/bDistributed.com/index.html
It might be the best starting point though, unless you want to port something.
take a look here http://www.sinelabore.com It translates UML state charts into Objective-C (beside C/C++).
Peter
I've just posted a Class-based Objective-C Finite State Machine on Github. It's not so much that it has reusable classes, as it provides protocols and abstract classes for you to reuse other classes. I'm currently using this in a project that already has network REST API objects that really needed to be organized as a state machine. I changed the superclasses from NSObject to inherit from the state machine and the state and a few other methods and I could reorganize the code as a Deterministic Finite Automata.
© 2022 - 2024 — McMap. All rights reserved.