Instalação do ambiente de simulação

Lista de arquivos

akaroa-2.7.9.tar.gz
CERTI-3.4.1-Source.tar.gz
MiXiM-2.1.tar.gz
omnetpp-4.1-src.tgz
sc_lp.tar.gz
sim_package_fernando.zip
systemc-2.2.0.tgz 

OMNet

Não é possível a instalação em CentOS 5.8 porque o Eclipse provoca a manifestação de um bug da JVM (tanto 1.6 como 1.7 da Oracle). No CentOS 6 32 bits nativo, este mesmo bug não se manifesta. No CentOS 6 virtualizado de um jeito, tem problemas, a cada vez que lançar pode ser um difierente. No CentOS virtualizado por Virtualbox (?) funciona.

OMNet++ 4.1 funciona no CentOS nativo e no CentOS virtualizado por Virtualbox.

OMNet++ 4.1 deve ser usado, não 4.2

O OMNet++ Install Guide Version 4.2 que se encontra no subdiretorio doc está um pouco incompleto. Seguem infromações adicionais:

Prerequisite Packages

É precsio do repositório EPEL.

yum install --disablerepo=rpmforge make cmake gcc gcc-c++ bison flex perl \
tcl-devel tk-devel blt-devel libxml2-devel zlib-devel \
java-1.6.0-openjdk doxygen openmpi-devel libpcap-devel 

in the file configure.user, put the following 2 lines:

MPI_CFLAGS="-I/usr/include/openmpi-i386"
MPI_LIBS=" -pthread -m32 -L/usr/lib/openmpi/lib -lmpi_cxx -lmpi -ldl" 

type: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/openmpi/lib

MiXiM

do not unpack .tar.gz and use http://sourceforge.net/apps/trac/mixim/wiki/Installation

CERTI

type: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

cmake -DCERTI_USE_NULL_PRIME_MESSAGE_PROTOCOL=1 ../CERTI-3.4.1-Source

make

sudo make install

SystemC

use http://llrforge.in2p3.fr/svn/cms/tcc48_firmware/trunk/routing/README.systemc

O comando ../configure --prefix=/usr/local/systemc-2.2.0 tem que ser dado como root e o diretório precisa existir antes.

para compilar o exemplo simple_fifo use o comando: g++ -I/usr/local/systemc-2.2.0/include simple_fifo.cpp -o simple_fifo -L/usr/local/systemc-2.2.0/lib-linux -lsystemc Observe que a sequencia dos argumentos do comando g++ é importante.

SystemC-LP

use http://llrforge.in2p3.fr/svn/cms/tcc48_firmware/trunk/routing/README.systemc

e faça as seguintes modificações:

filelinenew content
src/sysc/kernel/sc_simcontext.h107#include <fstream>
src/sysc/kernel/sc_simcontext.h404std::ofstream fout;
src/sysc/communication/sc_fifo.h72#include "sysc/kerne/sc_thread_process.h"
src/sysc/communication/sc_fifo.h73#include "sysc/kernel/sc_time.h"

O comando ../configure --prefix=/usr/local/systemc-lp-2.2.0 tem que ser dado como root e o diretório precisa existir antes.

depois do make install dê o comando: cp ../src/sysc/kernel/sc_thread_process.h /usr/local/systemc-lp-2.2.0/include/sysc/kernel/

para compilar o exemplo simple_fifo use o comando: g++ -I/usr/local/systemc-lp-2.2.0/include simple_fifo.cpp -o simple_fifo -L/usr/local/systemc-lp-2.2.0/lib-linux -lsystemc Observe que a sequencia dos argumentos do comando g++ é importante.

A Cosimulação de Christoph

The Folders:

  • OMNET_Model contains the network model
  • SystemC_Model contains the system model
  • Simulation_OMNET contains some configuration files

Steps to start the simulation:

1) Compile SystemC model (you need to link with the SystemC library as well as Certi)

use o Makefile

2) Compile Omnet model in the Omnet IDE (also link with the Certi library)

  • import MiXiM in the workspace
  • create a new MixiM project called MyNetwork
  • import all files except Makefile and hidden files from directory OMNET_Model into the new Project
  • OMNeT++ -> Makemake -> Options... -> Link --> More --> +
  • Proect -> Clean
  • Build All

see Rothś email