Speakers:
Assaf Marron, Weizmann Institute of Science  
Gera Weiss, Ben Gurion University of the Negev
Guy Wiener, Weizmann Institute of Science


Title: Behavioral Programming


Abstract.  We propose an approach to software development, called behavioral programming, which offers new capabilities in modular and incremental development. Behavioral programming is an extension and generalization of scenario-based programming introduced with the language of live sequence charts (LSC), and was recently implemented also in Java, in the functional/distributed programming language Erlang, and in other platforms.
A behavioral application consists of modules called behavior threads, each of which represents an independent scenario (sometimes analogous to a use-case appearing in a requirements document) which describes sequences of events that the system should and shouldn’t do following certain chains of events. These independent behavior threads are interwoven at run-time yielding integrated system behavior.
The talk will cover introduction and examples of behavioral programming in Java and in Erlang;  verification and repair of behavioral programs with a proof-of-concept model-checking tool called BPmc; proposed architectures for applications with large numbers of b-threads; integration with external events and non-behavioral applications; and, tools for visualization and comprehension of execution traces.
The talk reflects joint work with David Harel and with additional researchers at the Weizmann institute and at Ben Gurion University.