Sinalgo - Simulator for Network Algorithms

Sinalgo Project

Once Sinalgo is installed, you may run several independent simulations with the same installation. To distinguish between the different simulations, the files belonging to one simulations are grouped in a project. This includes the project specific configurations and the actual network implementations. At startup of the framework, Sinalgo asks which project to use and then initializes as defined in the chosen project.

Note: It is recommended to generate a project for each algorithm one simulates. However, this often results in quite a lot of common code, e.g. models that are used for several projects. Instead of copying this code to all projects, it is preferred to create a dummy project that holds this common code from where all other projects access it. In fact, the defaultProject shipped with Sinalgo is such a dummy project and gathers quite some default implementations that may be handy for you.

Creating a Project

From the view of a developer, a project is nothing else than a folder located in the src/projects/ folder of Sinalgo. The name of the project is given by the name of this folder. The content of the project folder for a project named sample1 may look as following:


To create a new project, rename a copy of the template project. This gives you an empty folder structure as shown above.

Project Content

The project folder contains three sub-folders:
  • images This folder contains the images for project specific buttons.
  • models All project specific model implementations are stored in the corresponding sub-folder.
  • nodes This folder contains network-node specific implementations, stored in the following four sub-folders:
    • edges Classes describing project specific connection-behavior.
    • messages Classes describing the messages this project uses.
    • nodeImplementations Classes describing the network-nodes and their behavior.
    • timers Classes describing project specific timers.
Note: You may omit any of the folders if it does not contain any files.

Each project contains the four following files in the root directory:

  • Config.xml contains the project specific configuration. When you select Sinalgo to work with a project, the framework initializes according to this configuration file in the project's root folder. The file contains framework specific settings as well as project specific setting, which you may extend to fit your needs.
  • description.txt contains a user-defined description of the project. This text is shown in the project selector dialog.
  • CustomGlobal.java contains framework-wide visible methods for this project.
  • LogL.java is used to specify custom Log-Levels to control the logging. Check the documentation of the Logger to get more information about the logging mechanism.


© Distributed Computing Group
GitHub.com Mark GitHub.com Logo SourceForge.net Logo Valid CSS! Valid HTML 4.01 Transitional