Behavioral Programming

Weaving threads into programs

What Behavioral Programming is about?

Behavioral Programming (BP) is an approach and technique for software development, which enables incremental development in a natural way. A behavioral application consists of threads of behavior each of which represents an independent scenario that the system should and shouldn’t follow. These independent behavior threads are interwoven at run-time yielding integrated system behavior. For example, in a game-playing application, each game rule, and each playing strategy would be programmed separately and independently with little or no awareness of other modules.

Behavioral programming libraries, IDEs and tools are available in several languages including the visual formalism of live sequence charts (LSC) and the BPJ Java package. BP integrates with existing paradigms and technologies such object- and aspect- oriented programming. Read more...


Live Sequence Charts are a graphical and formal way to model and execute behavioral programs. The LSC environment, PlayGo, is based on the Eclipse IDE.

Learn more »


The BP library for Java TM allows you to write behavioral programs directly in Java, re-using Java classes and facilities. If you know Java, you can start using BP right away!

Learn more »


The BP library for Erlang allows you to write behavioral programs directly in Erlang, taking advantage of its parallelism and distribution facilities. Write efficient BP code easily!

Learn more »

Blockly and JavaScript

BP with Google's visual language Blockly. Generate JavaScript code from Blockly or code natively in JavaScript. Integrate behavioral applications with HTML GUI.

Learn more »


Program behaviorally in C++.

Learn more »


The BP software on this website is available under the BSD 2-clause license below. Third party components are subject to their respective licenses.

License »

Third party components »

Third party licenses »