BPjs
Environment for running behavioral programs written in JavaScript.
Install / Use
/learn @bThink-BGU/BPjsREADME
BPjs: A JavaScript-based Behavioral Programming Runtime.
This repository contains a javascript-based BP library.
License
- BPjs is open sourced under the MIT license. If you use it in a system, please provide a link to this page somewhere in the documentation/system about section.
- BPjs uses the Mozilla Rhino JavaScript engine. Project page and source code can be found here.
Academic Citation
If you use BPjs in an academic work, please consider citing it as:
Bar-Sinai M., Weiss G. (2021) Verification of Liveness and Safety Properties of Behavioral Programs Using BPjs. In: Margaria T., Steffen B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Tools and Trends. ISoLA 2020. Lecture Notes in Computer Science, vol 12479. Springer, Cham. https://doi.org/10.1007/978-3-030-83723-5_14
Getting BPjs
- For Maven projects: Add BPjs as dependency. Note that the version number changes.
<dependencies>
...
<dependency>
<groupId>com.github.bthink-bgu</groupId>
<artifactId>BPjs</artifactId>
<version>0.15.0</version>
</dependency>
...
</dependencies>
- Clone, fork, or download the starting project.
- Download the
.jarfiles directly from Maven Central. - The project's Google group
Documentation
- Devoxx Belgium 2018 talk introducing Behavioral Programming and BPjs.
- Presentations: Introduction Deeper dive
- Tutorial and Reference
- API Javadocs
Change Log for the BPjs Library.
2026-03
- :arrow_up: Upgraded to Rhino 1.9.1. Now supporting modern JS structures, such as arrow functions for bthreads (#240).
Legend:
- :arrows_counterclockwise: Change
- :sparkles: New feature
- :tada: New feature, but more exciting
- :part_alternation_mark: Refactor (turns out this sign is called "part alternation mark" and not "weird 'M'", so it fits).
- :put_litter_in_its_place: Deprecation
- :arrow_up: Upgrade
- :bug: Bug fix

