3 ms·
Behavioral Programming (2012) [pdf]
- fredgrott 8y agothanks akkartik, just what I was seeking to explain the differences between reactive and what came before
- amitport 8y agoSounds like you believe there's a progression from BP to reactive programming. I think it's the other way around.
- alfonsodev 8y ago> The work on behavioral programming began with scenario-based programming, a way to create executable specifications of reactive systems Is this sort of what BPMs does ? is a better or worse approach ? Related links about BPM and reactive programming: https://github.com/rht-labs/reactive-bpm https://github.com/rht-labs/reactive-bpm https://www.slideshare.net/JustinHolmes2/visualizing-your-event-storm-in-new-ways https://www.slideshare.net/JustinHolmes2/visualizing-your-ev...
- foobar_ 8y agoThis is exactly like the Actor Model and what Erlang seems to do.
- Jtsummers 8y agohttp://www.wisdom.weizmann.ac.il/~bprogram/pres/bp-sigerl2010.pdf http://www.wisdom.weizmann.ac.il/~bprogram/pres/bp-sigerl201... They actually have a program porting the idea to Erlang. I think it also helps to clarify where the two models differ. Behavioral Programming seems to throw a bunch of possible actions and controls into the world, and lets whichever actions are both desired and not blocked execute (only one of them?). It's straightforward to implement in Erlang (or not too hard), but it's not precisely what Erlang does. There's no message passing (per se), but rather a shared space of knowledge (events) which is controlled by some manager that can permit actors to act or not act. So, related, but not quite the same. From reading it, it seems to have perhaps more in common with tuple spaces and job control languages. Registering what sort of tuple (event) a process can respond to and waiting for work to become available and then acting on it once it's available. Then the process can produce new tuples/events or simply consume them.
- foobar_ 8y agoThis seems very similar to request/reply pattern. Erlang + RabbitMQ should be enough to do Behavioral Programming. Now showing a live sequence diagram is another thing altogether.