Skip to content

anmavrid/DesignBIP

Repository files navigation

BIP (Behavior - Interaction - Priority)

BIP is a framework for the component-based design and analysis of software systems. It has been successfully used for modelling and analysis of a variety of case studies and applications, such as performance evaluation, modeling and analysis of TinyOS-based wireless sensor network applications, construction and verification of a robotic system. In the latter, the code generated by the tool-chain along with the BIP engine is used as a controller for the robot. The BIP framework also offers validation techniques for checking essential safety properties.

We present a design studio, developed using the WebGME tool, for the specification of BIP models using architecture diagrams, which is a graphical language that describes architecture styles with rigorous semantics. The WebGME-BIP design studio provides support for graphically defining and checking the consistency of BIP architecture models, integrating component behavior specifications, generating Java code from behavior and architecture specifications, and executing the BIP models with the integrated JavaBIP engine.

Quick Start

First, install the following:

To clone the repository, first install (if necessary):

and then clone the repository in your preferred directory, for example:

cd /home/$USER
git clone https://github.com/anmavrid/webgme-bip.git

This makes the 'project root' for the git repo /home/$USER/webgme-bip (you can pick a different location for it besides /home/$USER/ if you'd like).

Install packages with npm in the project root (webgme-bip):

cd /home/$USER/webgme-bip
npm install
npm install webgme

Start mongodb locally by running the mongod executable in your mongodb installation (you may need to create a data directory or set --dbpath). For example:

cd /home/$USER
mkdir bip_data
mongodb --dbpath ./bip_data

wait until you see a line that says "[initandlisten] waiting for connections on port 27017".

Then, in a new terminal window, run npm start from the project root (webgme-bip) to start. For example:

cd /home/$USER/webgme-bip
npm start

After the webgme server is up and there are no error messages in the console, open a valid address in the browser to start using the WebGME-BIP design studio. The default is http://127.0.0.1:8888/, you should see all valid addresses in the console.

Click Create New… to create a new project. After entering a project name of your choice, import the seed BIP to start working on BIP!

Alternative - No installation needed

The design studio can be accessed (read-only) directly here , where you can see the Switchable Routes BIP project.

A non-read-only version of the design-studio can be accessed here.

If you would like to create your own, private BIP projects:

  1. create a WebGME account,
  2. create a new project ( 3-minute tutorial for how to create a project),
  3. use the BIP seed.

Background material

Other information

If you would like to play around with "generic" webgme, you do not need to download and install it. WebGME-BIP contains webgme as a node_module and all "generic" visualization is included.

Links: npm