Hacker News new | past | comments | ask | show | jobs | submit login
Behavioral Programming (2012) [pdf] (weizmann.ac.il)
36 points by akkartik on Jan 3, 2019 | hide | past | favorite | 6 comments



> 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://www.slideshare.net/JustinHolmes2/visualizing-your-ev...


thanks akkartik, just what I was seeking to explain the differences between reactive and what came before


Sounds like you believe there's a progression from BP to reactive programming. I think it's the other way around.


This is exactly like the Actor Model and what Erlang seems to do.


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.


This 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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: