Tree [c963bf] master /
 History



File Date Author Commit
 src 2011-12-30 michi michi [6437c3] Initial public release
 .gitignore 2011-12-30 michi michi [6437c3] Initial public release
 AUTHORS 2011-12-30 michi michi [6437c3] Initial public release
 CHANGELOG 2011-12-30 michi michi [6437c3] Initial public release
 COPYING 2011-12-30 michi michi [6437c3] Initial public release
 README.md 2012-01-02 Michael Duelli Michael Duelli [c963bf] Rename + syntax fix for Markdown syntax highlig...
 TODO 2011-12-30 michi michi [6437c3] Initial public release
 build.xml 2011-12-30 michi michi [6437c3] Initial public release
 runtest.xml 2011-12-30 michi michi [6437c3] Initial public release

Read Me

Multi-Layer Network Engineering and Optimization (MuLaNEO)

Features

  • Multi-layer network visualization based on MuLaViTo
  • Multi-layer exchange format import and export
  • Situation-aware menus toggling entries that are not available/allowed
  • Using JFreeChart for illustrations
    • PlotPanel that may react on events fired by algorithms and
      exports data as CSV and figure as SVG
  • JUnits
  • Export and import of character separated values (CSV)
  • Ant-based build scripts with automatic downloads of dependencies
  • Topology import/export in various formats: GML, GraphML, SNDlib (via optional plugin)
  • Traffic Generators
    • static and dynamic traffic
    • homogeneous
    • population-based
  • Network design algorithms
  • Network provisioning algorithms
    • Path Computation Element (PCE)
    • Traffic Engineering Database
  • Population Generators
    • CSV import
    • homogeneous

Requirements

Optional Extensions

  • SNDlib support via SNDlibIO plugin
    • Note that SNDlib's license restricts usage to academic purposes.
      You will be asked to accept SNDlib's ZIB academic license
      http://sndlib.zib.de/public-dist/LICENSE.txt
    • Download SNDlibIO source archive
    • Extract source and execute build.xml ANT script
    • Place the resulting SNDlib.jar and SNDlibIO.jar in
      • For use in Eclipse: In the projects root folder
      • For use with JARs: In the folder where the MuLaNEO JARs are placed

Basic Structure

The Java package hierarchy of MuLaNEO is structured as follows:

  • ''AUTHORS'' -- A list of contributors to this software and their affiliations
  • ''COPYING'' -- The license information (GPL, LGPL)
  • ''README'' -- This file
  • ''TODO'' -- Further improvements
  • ''src''
    • ''img'' -- project images and icons
    • ''mulaneo'' -- main source package
      • ''algorithms'' -- routing, optimization and validating algorithms
      • ''graph'' -- multi-layer data structure for project
      • ''gui'' -- all components and user interfaces
      • ''io'' -- Importers and Exporters
      • ''model'' -- network equipment and meta data
      • ''provisioning'' -- network optimization routines
      • ''resilience'' -- classes for creating fail safe networks
      • ''resources'' -- classes for link resources
      • ''traffic'' -- modeling of traffic for a network
      • ''utils'' -- everything else
    • ''tests'' -- JUnit tests, usually not exported
    • ''topologies'' -- physical layer topologies and meta data
    • ''XML'' -- CAPEX models
  • ''evaluations'' -- statistical measures
  • ''build.xml'' -- ANT that creates JARs for end user execution
  • ''runtest.xml'' -- Sets up and runs a given JUnit test

GUI Events

The following GUI classes subscribe specific GUI events of MuLaViTo:

  • mulaneo.gui.GUI:
    subscribes the Viewers event of the graphpanel
  • mulaneo.gui.component.RealizationTreePanel:
    subscribes LayerStack propertychange event of given graphpanel
  • mulaneo.gui.component.DynamicPanel:
    subscribes LayerStack propertychange event of given graphpanel
    subscribes ChangeEvent of dynamic trafficmatrix by traversing
    up the given layerstack
  • mulaneo.gui.component.FailurePanel:
    subscribes LayerStack propertychange event of given graphpanel
    subscribes ChangeEvent of dynamic failurematrix by traversing
    up the given layerstack
  • mulaneo.gui.component.SelectionTreePanel:
    subscribes LayerStack propertychange event of given graphpanel