BPjs --- a framework for modeling reactive systems using a scripting language and BP

06/03/2018
by   Michael Bar-Sinai, et al.
0

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 written in JavaScript (hence "BPjs"). Using a variety of case-studies, this paper shows how the combination of a lenient programming language with formal model analysis tools creates an efficient way of developing robust complex systems. Additionally, as we learned from an experimental course we ran, the usage of JavaScript make practitioners more amenable to using this system and, thus, model checking and model driven engineering. In addition to providing infrastructure for development and case-studies in behavioral programming, the tool is designed to serve as a common platform for research and innovation in behavioral programming and in model driven engineering in general.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/05/2020

Context-Oriented Behavioral Programming

Modern systems require programmers to develop code that dynamically adap...
research
11/27/2018

AsmetaF: A Flattener for the ASMETA Framework

Abstract State Machines (ASMs) have shown to be a suitable high-level sp...
research
11/02/2020

Out of Control: Reducing Probabilistic Models by Control-State Elimination

We present a new, simple technique to reduce state space sizes in probab...
research
01/31/2008

Investigating the Potential of Test-Driven Development for Spreadsheet Engineering

It is widely documented that the absence of a structured approach to spr...
research
06/29/2023

Scaling Model Checking for DNN Analysis via State-Space Reduction and Input Segmentation (Extended Version)

Owing to their remarkable learning capabilities and performance in real-...
research
02/23/2022

Model-Driven Generation of Microservice Interfaces: From LEMMA Domain Models to Jolie APIs

We formally define and implement a translation from domain models in the...
research
10/29/2021

The Structure-Behavior Coalescence Method –Toward a Unified View of the Software System in Model-Driven Engineering

In Model-Driven Engineering (MDE), the Unified Modeling Language (UML) 2...

Please sign up or login with your details

Forgot password? Click here to reset