Wall Painting Example

From WeizmannWiki
Revision as of 14:07, 23 December 2014 by Smadar (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This example demonstrates the integration of BPJ scenarios with LSCs. An explanation of the original example and the behavioral threads can be found here. To this example we have added a set of LSCs to control the color supply. The auto generated system model GUI is used to simulate a color that ran out and was manually refilled. For each color used for the wall painting (black, red, blue, green) we have added two LSCs.

  • One LSC monitors the use of a color, and after being used twice (simulating that each color can is sufficient for painting two segments), it announces that the color has run out:

MonitorRED.png

  • Another LSC blocks the use of the color after it runs out. Note that the instruction to block the color applies to all participating LSCs, but also to all participating b-threads. The prohibition to use the color is dismissed as soon as the refill event occurs.

ForbidRedUntilRefill.png

Downloads

Download the Wall Painting Example

The Wall Painting LSC Project

Installation Instructions

  1. Download and install PlayGo.
  2. Extract the downloaded Wall Painting zip. The zip contains 2 projects; one is the LSC project and the other is a simulator project.
  3. Import the downloaded projects to your workspace:
    1. From the File menu choose Import-->General-->Existing Projects into Workspace.
    2. Click the 'Next' button.
    3. When prompted, select the directory to which you extracted the two projects from the downloaded zip file.
    4. Click finish.
  4. The wall painting example is now part of your workspace. To run it:
    1. Run MainPanel from the HeliSim project, under the ServerSide package.
    2. Add the following VM argument to the 'PlayApp' run configuration: -Drunmode=netWorkingMode.
    3. Select the BDrone project and play it out.

For details on play-out refer to how to play out.
For details about S2A-BPJ integration refer to How to create S2A-BPJ integrated solution

A demo of the example:

Download the ROV framework

  1. The Remotely Operated Vehicle Tool framework (abbreviated ROV Tool or RT) was designed with the following goals in mind:
    1. Enable remote piloting command execution on the Parrot AR.Drone 1.0 quadrotor, using ARDrone Java interface.
    2. Provide an external drone piloting API designed for BP programs, using LSC or BPJ.
    3. Abstract the drone spatial position estimation mechanism.
  1. Click here to download the ROV framework.
    1. The downloaded zip file includes a documentation of the framework in the il.ac.wis.cs.rovtool project, under the directory doc.