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.