7 ms·
OOSMOS, the Object Oriented State Machine Operating System, Is Now Open Source
- odc 11y agoSo this is just a fancy event loop?
- avmich 11y agoAs every operating system is, right?
- chubot 11y agoI know fairly little about it, but Linux seems to use kernel threads all over the place, so it's not just an event loop.
- e12e 11y agoActually, it looks like it's a rather plain event loop. I think that's the point, a really, really simple incarnation of (a set of) state machine(s) in C code.
- michaelsbradley 11y agoFor background on the semantics of statecharts and a bit of computer science history, see the following papers and book by Prof. David Harel (the inventor of statecharts) and his collaborators: The STATEMATE Semantics of Statecharts, 1996 http://www.wisdom.weizmann.ac.il/~harel/SCANNED.PAPERS/SemanticsofStatecharts.pdf http://www.wisdom.weizmann.ac.il/~harel/SCANNED.PAPERS/Seman... Modeling Reactive Systems with Statecharts: The STATEMATE Approach, 1998 http://www.wisdom.weizmann.ac.il/~harel/reactive_systems.html http://www.wisdom.weizmann.ac.il/~harel/reactive_systems.htm... The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML), 2004 http://www.wisdom.weizmann.ac.il/~harel/papers/RhapsodySemantics.pdf http://www.wisdom.weizmann.ac.il/~harel/papers/RhapsodySeman... Statecharts in the Making: A Personal Account, 2007 http://www.wisdom.weizmann.ac.il/~harel/papers/Statecharts.History.CACM.pdf http://www.wisdom.weizmann.ac.il/~harel/papers/Statecharts.H...
- kqr2 11y agoAny software tool recommendations (preferably open source) for creating statecharts?
- zzglenm 11y agohttp://oosmos.com/tools-used#id_UmLet http://oosmos.com/tools-used#id_UmLet
- zzglenm 11y agoNot open source but this is an excellent free drawing tool that lets you draw very good looking state charts: http://www-03.ibm.com/software/products/en/ratimode http://www-03.ibm.com/software/products/en/ratimode
- pathelectronica 11y agothat's the first time I've ever seen a Rational tool recommended by a user.
- lectrick 11y agoJust in time for people realizing that holding onto lots of state is actually a code-design smell and that functional paradigms should be used as much as possible instead!
- OopsCriticality 11y agoNot in safety critical applications, nor resource-constrained embedded systems (which this project is targeting).
- lectrick 11y agoHow is a nine-nines reliability record (as achieved, for example, by Erlang http://stackoverflow.com/questions/8426897/erlangs-99-9999999-nine-nines-reliability http://stackoverflow.com/questions/8426897/erlangs-99-999999...) not relevant to safety-critical applications? In the second example, you stand on firmer ground though.
- merb 11y agointernally message passing, futures and actors are all about state. especially in erlang and scala. the libraries just wrapping that state so you don't need to care about. also there is always state. look at the io front there your application needs to deal with state, if you are using fp your program maybe doesn't contain state. but the public api mostly deals with it.
- eru 11y agoFunctional programming is about carefully managing your state. Ideally, you want to separate the pieces with the complicated logic, from the pieces that do the state persisting. Then each piece can do one thing and do it well. There are lots of useful stateless services. But that's the nirvana, and not possible with all things you might want to offer.
- OopsCriticality 11y agoPredictable reliability is relevant, certainly. Safety critical systems are frequently hard real-time,[0] by definition resource-constrained. Aspects of functional paradigms are good for safety critical systems, e.g., using pure functions when possible, when it leads to more predictable and testable systems. Recursion and non-strict evaluation, however, are clearly problematic viz. stack consumption, system load, and execution time; ditto for purely functional data structures and associated functions. [0] I'm hedging here with frequently, but I'm having trouble thinking of safety critical systems that aren't hard real-time off the cuff… perhaps supervised expert systems, say an automated pathology platform, might count?
- oneJob 11y agoIt amazes me how often programmers can talk about state machines and functions while concurrently pretending that mathematics is, largely, something that either need not be discussed or is of secondary concern.