1.2.0 • Public • Published

    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:

    Install the command line interface version of webgme globally to your operating system:

    npm install -g webgme-cli

    (If you run whereis webgme, it should give you a location for the executable.)

    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, you should see all valid addresses in the console.

    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


    npm i webgme-bip

    DownloadsWeekly Downloads






    Last publish


    • avatar