GitXplorerGitXplorer
j

netmodeler

public
7 stars
4 forks
1 issues

Commits

List of commits on branch master.
Unverified
d523b478562b901c05e636d10b24145fe23b4f48

Some debug improvements

jjohnynek committed 13 years ago
Unverified
f3959ebc460b66aa4892992e7119ed6990f16874

Added correct partition from RandCompNet & bugfix

jjohnynek committed 14 years ago
Unverified
731e8d39161b85d1c328ba5f962b2ae83cac2e75

Major Partition update.

jjohnynek committed 14 years ago
Unverified
7dc3f36fe1498c1022cb89d6e5eb9865fee5e90f

Added NetworkPartition class

jjohnynek committed 14 years ago
Unverified
b3e1826b38ada228376dfd138249f9c619252942

Added gmlread python script

jjohnynek committed 14 years ago
Unverified
01e20ca20de78f2848d7255d49a805660dab8d29

Added InfoCom clustering/partition algorithm

jjohnynek committed 14 years ago

README

The README file for this repository.

Netmodeler uses the autoconf and automake build system.

There is a script called bootstrap.sh which should allow you to build everything (for those of us that have not bothered to understand autoconf).

After running the bootstrap code, you may need to go into the src directory and type

make netmodeler.h

(Obviously the above is purely due to the author's autoconf/automake ignorance).

After that, you are on your own!

The above should make the libnetmod.a library and the netmodeler executable from the main.cpp in the main library. This main.cpp probably is not exactly what you want. Check the examples directory for simpler examples.

To write your own code you just use any parts you would like, then using the compiler, link to the libnetmod.a. For g++ (the GNU C++ compiler), you could do the following:

First compile your my.cpp: g++ -c my.cpp -I /path/to/headers/ Then link it: g++ -o test my.o /path/to/library/libnetmod.a

The default path is src/.libs/libnetmod.a

now, the executible "test" should be your code.

You may need to give a complete path to the headers (which is represented in the above example as /path/to/headers/) and you may need to give the complete path to the libnetmod.a file (which is represented above as /path/to/library/).

You may want to make new classes in /src/ directory. After making new files (Let's name them yourfile.cpp and yourfile.h), You need to add your files to the input to Makefile. Add yourfile.cpp and yourfile.h to 'libnetmod_la_SOURCES' in /src/Makefile.in Add yourfile.lo to 'am_libnetmod_la_OBJECTS' in /src/Makefile.in run 'make' in the upper directory. Now, you can use your own classes.

======SWIG/Python Support=====

Netmodeler now has some support for SWIG, which allows us to use netmodeler from languages other than C/C++. To enable this, use:

./configure --enable-swig

This requires swig to be installed as well as the headers for python (and in the future maybe other languages). Go to the pytools directory to see some examples of using python with netmodeler.

======CODE DOCUMENTATION======

The source code is annotated with doxygen (Javadoc) style comments. Not all of the code is properly documented, but much of it is. To produce this documentation, go into the doc directory, and type:

doxygen netmodeler.doxy

Of course, you will need doxygen installed. This will produce HTML and latex documentation that should help you get an idea of the structure of the code. If you are lost, I recommend looking at the software in the tools directory for examples of code that does something useful.

Good Luck, POB boykin@pobox.com