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.
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 mapin port
name inout 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