Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.

denis-martin/nena

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Prerequisites
=============

You will need SCons (http://www.scons.org) which is used instead of
make/automake as the build system (Ubuntu-Package: scons)

You will need some basic C++ Boost libraries (http://www.boost.org), which are
an extension of the C++ STL. You will need version 1.46 or newer. The libraries
might be part of your favorite Linux distribution, or you can download and
compile them yourself (Ubuntu-Package: libboost-all-dev)

For some example building blocks, you'll need the crypto++ library
(libcrypto++), but it is not needed for the default configuration.

For running the NENA inside the OMNeT++ Simulator, you need to install OMNeT++ 
and add its bin-directory to your $PATH variable. SCons SHOULD then be able to
find OMNeT++. If you are not familiar with OMNeT++, try out its tictoc tutorial
first.


Compiling
=========

First, build the daemon and the simple architecture by typing

  scons

To build the "real" Node Architecture Daemon for Linux/Windows, run the command

  scons boost

To build an OMNeT++ simulation with nodes running the Node Architecture Daemon
type

  scons omnet

To clean up the build files, type

  scons -c
  scons -c boost
  scons -c omnet

To every scons command you may add the parameter debug=1 in order to compile
everything with GDB debugging symbols. This will reduce performance but allows
comfortable debugging of your code using GDB.


Running
=======

In nena/examples/localhost you'll find an example configuration with two nodes,
the SimpleArchitecture, and a simple Ping-Pong application. Launch the
following commands in four different terminals:

Launch NENA daemon for 1st node:

  1> cd nena/examples/localhost/node01
  1> ./run.sh

Launch NENA daemon for 2nd node:

  2> cd nena/examples/localhost/node02
  2> ./run.sh

Launch PingPong server application on node02:

  3> cd nena/examples/localhost/node02
  3> ./run-pingServer.sh

Launch PingPong client application on node01:

  4> cd nena/examples/localhost/node01
  4> ./run-ping.sh

For the last command, you may optionally request a reliable transport protocol
(with ./run-ping.sh -r) or an unreliable transport protocol (-u). You should
then notice different console outputs from both NENA nodes.


Acknowledgments
===============

The following persons contributed actively to the code base of this package and
are listed in alphabetical order:

  Helge Backhaus, KIT, Karlsruhe, Germany
  Benjamin Behringer, KIT, Karlsruhe, Germany
  Gorka Hernando Garcia, ROBOTIKER-Tecnalia, Bilbao, Spain
  Denis Martin, KIT, Karlsruhe, Germany
  Hans Wippel, KIT, Karlsruhe, Germany

In addition, we would like to thank the following people for the conceptual
design (listed in alphabetical order):

  Ibitissam El Khayat, Ericsson, Aachen, Germany
  Christoph Werle, KIT, Karlsruhe, Germany
  Lars Völker, KIT, Karlsruhe, Germany
  Martina Zitterbart, KIT, Karlsruhe, Germany

  ...and all the 4WARD (www.4ward-project.eu) and G-Lab (german-lab.de) people
  for interesting discussions and feedback!

--
2013-05-03 denis: Updated instructions
2010-06-11 denis: Added acknowledgment section
2009-10-10 denis: Updated instructions for running the daemon version
2009-09-09 denis: Updated build instructions
2009-04-24 denis: Some updates
2009-01-16 denis: Initial version