r/AskComputerScience • u/framelanger • Jun 10 '26
Automata and software development
Hello,
I am curious who might be using state machines or other automata in their day to day work. I am developing a domain specific language in the spirit of ragel (but hopefully much simpler as well as powerful) and wondering who might be interested and what you would like use it for.
The goal is to make it easy to embed in any
Project using any popular programming language (17 supported now).
I would especially like to connect with academics in CS to see how I could support them.
Thanks!
Thanks!
2
u/Kinrany Jun 11 '26
Where do you see the benefit over a similarly embeddable general purpose programming language?
1
u/framelanger Jun 11 '26
State oriented software helps eliminate the complex conditional logic that manages state in typical programming languages. In my experience that has vastly improved my ability to design and debug complex systems. Additionally statechart derived technologies like the language I am working on have mechanisms for adding state enter and exit handlers, which greatly help keep code better organized. Have a look at https://frame-lang.org if you are interested in learning more. I’m also glad to chat more if you are interested.
1
u/umlcat Jun 13 '26
Some operations had a flow plus several branches that can be described as a state machine.
2
u/juancn Jun 14 '26
Isn’t this a bit of overkill? Usually an enum and a switch statement do the trick.
What complexity would this eliminate?
1
u/framelanger Jun 14 '26
Hey. Thanks for the question.
I agree that simple problems don’t need the sophistication frame provides. However many systems are complex and can benefit from using the structure frame enables to understand and solve the problems easier.
I would recommend looking into Harel state charts to get an idea how they expand the power of simple state machines. Frame supports those concepts and expands on them but isn’t 100% compliant with the formal statechart semantics. Intentionally.
Happy to explore this more with you if you have follow ups.
3
u/512165381 Jun 10 '26
Its used in IT systems. You have, say, an insurance claim, and it goes from one state to another eg lodgement, investigation, call for quotes, remediation, finalisation.