Differences between revisions 4 and 5
| Deletions are marked like this. | Additions are marked like this. |
| Line 23: | Line 23: |
| * update: The update site. Update site is http://acme.able.cs.cmu.edu/rainbow; on baobab at /home/apache/sites/rainbow. To build update, do the usual stuff in site.xml, and then check it in. IN /home/apache/sites/rainbow/update do (((svn update))) to update the update site. |
* update: The update site. Update site is http://acme.able.cs.cmu.edu/rainbow; on baobab at /home/apache/sites/rainbow. To build update, do the usual stuff in site.xml, and then check it in. IN /home/apache/sites/rainbow/update do {{{ svn update}}} to update the update site. |
| Line 39: | Line 40: |
|
* Configuring mysql * mysqladmin -u root -p create wiki_wwwp * mysql -u root -p wiki_wwwp < wiki_wwwp-dump.sql * Give user "wikiuser" access to the database, command and expected output shown below: {{{ mysql> create user wikiuser@localhost identified by ''; Query OK, 0 rows affected (0.00 sec) mysql> grant select on wiki_wwwp.* to wikiuser@localhost; Query OK, 0 rows affected (0.00 sec)}}} |
Setting up Eclipse
- Start eclipse in a new workspace
- Check out the following projects from svn://acme.able.cs.cmu.edu/rainbow in framework/trunk
- core/*
- deployment/*
- eclipse/*
- system/*
- test/*
- Should compile automatically. Unknown extension point error in org.sa.rainbow.core/plugin.xml can be ignored
Packages
- common: The Interfaces defining the APIs, and some abstract implementations, and utility classes.
- communication: Defines the communication layer between the target system and Rainbow, i.e., essentially the translation layer. Think Gauge and Probe bus APIs + effectors. Queue and RMI are implemented, JMS has some permissions related issues, and so is not really implemented. Queue is used for single machine instantiation, RMI is used for multi-machine.
- core: implementation of Rainbow architecture layer; model manager, evaluator, am, and strategy executor. Also contains target system API to interact with target.
- src-sim provides simulation environment for target system (so you don't need to run the real znn, for example).
- stitch defines the library of operators accessible from stitch script. Confounds architecture operator and effector. Any operator or query that gets used by stitch is defined in here.
- lang: Stitch grammar, parser, evaluator code. Uses ANTLR, Stitch[L|P|T] (Lexer, Parser, Tree). Build by ant buildGrammar.xml
- stitch.editor: Eclipse editor for stitch, mostly written by Ali
translator: Implementation for probes, gauges, effectors. Also, RainbowDelegate, which allows Rainbow to run distributed (each sub-machine has a RainbowDelegate running on it).
- feature: the rainbow feature
update: The update site. Update site is http://acme.able.cs.cmu.edu/rainbow; on baobab at /home/apache/sites/rainbow. To build update, do the usual stuff in site.xml, and then check it in. IN /home/apache/sites/rainbow/update do
svn update
to update the update site.- translator.contrib: engagement-specific probes, gauges, and effectors (currently for talkshoe and znews)
- config: All example engagements (talkshoe, znn, etc).
- deploy: Has all required jar files for rainbow; eclipse launch configuration files; deploy for preparing deployment packages for various parts of rainbow om multiple machines for engagements.
- test: Unit test files, and a playground
- sdk.template: The set-up for Rainbow SDK, which is a way to package this stuff to give to researchers to use.
Executing znn.com example, Simulation
- config/znews0
- From eclipse, run configuration oracle-znews0. This will terminate at 100s. The default (as defined in rainbow.properties of znews0) is oscillation, which reduces the fidelity, gets good service but under-utilized, then raises fidelity, gets bad service, reduce fidelity, etc.
Executing znn.com example, Single machine
- in deploy, run deploy.xml, refresh and look in build. Copy app.rainbow.master.zip somewhere.
- in cygwin, cd somewhere and unzip app.rainbow...
Install software needed by Znn.com, following instructions on the Znn.com benchmark site
- Configuring mysql
- mysqladmin -u root -p create wiki_wwwp
mysql -u root -p wiki_wwwp < wiki_wwwp-dump.sql
Give user "wikiuser" access to the database, command and expected output shown below:
mysql> create user wikiuser@localhost identified by ''; Query OK, 0 rows affected (0.00 sec) mysql> grant select on wiki_wwwp.* to wikiuser@localhost; Query OK, 0 rows affected (0.00 sec)
- Configuring mysql
