Skip to content

SNEE: Getting_Started

Alan Stokes edited this page Mar 13, 2015 · 1 revision

#summary How to install SNEE and get it running quickly.

= Getting Started =

This page explains how to install SNEE and get it running, and is aimed at mainly at users. Note that SNEE developers are directed to the [Installing_Developer_Environment instructions for SNEE developers].

===Dependencies===

  • Java SDK 1.5 or newer
  • antlr (2.7.5 is recommended). This is included in the zip file.
  • GraphViz (Note for Mac users: Version 2.20.3 has a bug and does not work, please use 2.20.2 instead).

===Installation===

Download the latest release from the [http://code.google.com/p/snee/downloads/list downloads section], and unzip it to the directory of your choice.

Change to the SNEE directory and create subdirectories bin and output if they are not already there.

Compile the Java source code:

{{{

javac -sourcepath src -classpath "src:lib/antlr-2.7.5.jar"
src/uk/ac/manchester/cs/diasmc/querycompiler/QueryCompiler.java
-d bin }}} Note: On Windows machines remember to use a semicolon instead of a colon in the classpath.

In the input folder, make a copy of example-local.ini and rename it to local.ini. Then edit local.ini and add the location of the GraphViz executable.

{{{ [GraphViz] #Location of the GraphViz executable exe = /usr/bin/dot }}}

(Note: If you do not have GraphViz installed, you will need to run SNEE with the -generate-graphs=false parameter.)

===Running the query optimizer===

You can run the java source code without any parameters (in which case default values are used) {{{

java -classpath "bin:src:lib/antlr-2.7.5.jar" uk.ac.manchester.cs.diasmc.querycompiler.QueryCompiler }}} Note: On Windows machines remember to use a semicolon instead of a colon in the classpath.

The query plan and code generated by SNEE is written the output folder.

Some of the most common SNEE parameters are:

  • -query=**<file> to specify the query to be compiled.
  • -schema-file=**<file> to specify the physical schema to be used, which specifies which nodes are the sources of the streams being queried, and the sink node.
  • -network-topology-file=**<file> to specify the network topology.
  • -qos-acquisition-interval=**<val_in_ms> to specify the rate at which sensor readings should be acquired, in milliseconds.
  • -qos-max-delivery-time=**<val_in_ms> to specify the maximum permissable delivery time for query results, in millseconds.
  • -targets=**<list_of_targets> to specify the targets to generate code for. In release 1.0, only "tossim" or "avrora" (or both) may be specified, and will generate nesC code for TinyOS 1.x.

All filenames may be specified in a relative or absolute manner. There are example queries, physical schemas and networks in the input subdirectory of the SNEE release. The contents of the subdirectories of input directory are as follows:

  • Hilltop: Contains the queries/physical schema for the environmental monitoring scenario used in our ICDE'08 paper.
  • Pipes: Contains the queries/physical schema for the pipe-monitoring scenario used in our SSDBM paper.
  • Building: Contains the queries and physical schema for a building monitoring scenario.
  • Networks: Contains various network topology files, for networks of varying size, area and layouts (e.g., grid/random.)

Clone this wiki locally