Project

General

Profile

How to produce and compile the Fiacre / Hippo version of the experiment.

You first need to install Hippo and TINA. Then make sure that your $HIPPO_DIST and $TINA_DIST environment variables respectively point to the installed distribution of Fiacre/Hippo and tina.

Note Although Hippo is a direct extension of Fiacre, it is not yet part of the official Fiacre distribution. For now you must grab it directly from Hippo distribution. If this distribution does not satisfy your system requirements, send me an email

Put these variables (tune the values for your installation) in your .bashrc file.

export HIPPO_DIST=${HOME}/work/hippo-2.6.5
export TINA_DIST=${HOME}/work/tina-3.6.0

Then you need to install the GenoM3 Fiacre template. Check its documentation for more information on this template.:

cd ~/work
git clone git://redmine.laas.fr/laas/users/felix/vandv/genom3-fiacre-template.git
cd genom3-fiacre-template
autoreconf -vif
mkdir build
cd build
../configure --prefix=${HOME}/work
make install

After this, the command genom3 -l (which lists the templates available) should return a list of templates including the fiacre/…​ ones:

% genom3 -l
fiacre/model
fiacre/pocolibs
fiacre/ros
pocolibs/client/c
pocolibs/server
ros/client/c
ros/client/ros
ros/server
interactive
example
mappings
skeleton

You need to install the hippo-genom3 module which defines some services to handle the hippo engine (changing traces and debug on the fly).

cd ~/work/osmosis
git clone  git://redmine.laas.fr/laas/users/felix/vandv/genom3-hippo.git hippo-genom3
cd hippo-genom3
autoreconf -vif
mkdir build
cd build
../configure --prefix=${HOME}/work --with-templates=pocolibs/server,pocolibs/client/c
make install

Go in the ~/work/osmosis/vv directory and type the commands:

cd ~/work/osmosis/vv
mkdir build-hippo
cd build-hippo
genom3 fiacre/pocolibs --slow 10000 --wcet ../all-simu.wcet --patch ../fiacre-monitor.patch --port_mapping ../all-simu.pmap --exp_name robotnik ../all-simu.gen

The previous genom3 command can be interpreted like:

  • fiacre/pocolibs is the name of template you are using.

  • ../all-simu.gen is the file with the modules definition (in this case, it includes the 7 modules modeled).

  • --slow 10000 is the frequence at which Hippo will run (in this case every 100 microsecond).

  • --wcet ../all-simu.wcet the file containing the worst case execution time value for the codels.

  • --patch ../fiacre-monitor.patch a patch to apply to the final Fiacre model (in this case, it includes the monitor to detect Laser Scan delay).

  • --port_mapping ../all-simu.pmap is the file where we map in port name in out port name (e.g. PotentialField_Target Navigation_Target)

  • --exp_name robotnik is the name of the experiment.

cd fiacre-pocolibs
autoreconf -vif
./configure --prefix=${HOME}/work
make install

The content of the complete synthesized Fiacre model (with the monitor patch) can be found in: fiacre/robotnik_FiacreGenoM3.fcr

To launch and run this experiment, check the Hippo Monitor page. a