BPjs --- a framework for modeling reactive systems using a scripting language and BP
Michael Bar-Sinai, Gera Weiss, Reut Shmuel

TL;DR
BPjs is a versatile framework that integrates behavioral programming with scripting and formal analysis tools, enabling intuitive modeling, verification, and embedding in Java applications for complex system development.
Contribution
It unifies behavioral programming approaches into a common, extensible platform with scripting, formal analysis, and integration capabilities, facilitating research and practical system engineering.
Findings
JavaScript scripting increases practitioner engagement.
The framework supports various state space traversal algorithms.
Case studies demonstrate effective development and verification of complex systems.
Abstract
We describe some progress towards a new common framework for model driven engineering, based on behavioral programming. The tool we have developed unifies almost all of the work done in behavioral programming so far, under a common set of interfaces. Its architecture supports pluggable event selection strategies, which can make models more intuitive and compact. Program state space can be traversed using various algorithms, such as DFS and A*. Furthermore, program state is represented in a way that enables scanning a state space using parallel and distributed algorithms. Executable models created with this tool can be directly embedded in Java applications, enabling a model-first approach to system engineering, where initially a model is created and verified, and then a working application is gradually built around the model. The model itself consists of a collection of small scripts…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Formal Methods in Verification · Model-Driven Software Engineering Techniques
