features

Features

As MuLaViTo is based on the Java Universal Network/Graph Framework (JUNG), MuLaViTo comprises all features JUNG provides. For details on JUNG's features, go here.

Graphical User Interface

(mulavito.gui)

  • Multi-layer graph framework based on the JUNG graph framework
    • GUI class for a paneled main window (mulavito.gui.Gui)
    • Entity for viewing a multi-layer graph (mulavito.gui.components.GraphPanel)
      • (Un)Synchronized view of individual layers
      • Hide or maximize certain layers using an advanced GridLayout (mulavito.gui.utils.MyGridLayout)
      • Auto-rearranging and auto-resizing of multi-layer graphs
    • mulavito.gui.components.SelectionPanel to list picked/selected vertices and edges in multiple layers
    • mulavito.gui.components.QuickSearchBar for performing searches (e.g. vertices and edges) in the multi-layer graph using regular expressions (e.g. V[1-5])
  • Run any algorithm derived from mulavito.algorithms.IAlgorithm in a separate
    Java thread and show status information using mulavito.gui.dialogs.ProgressBarDialog and
    an arbitrary number of mulavito.algorithms.AbstractAlgorithmStatus
  • A mulavito.gui.components.FloatablePanel containing an arbitrary number of mulavito.gui.components.FloatingTabbedPane that can be docked/undocked as well as closed, e.g.
    • mulavito.gui.components.ConsolePanel to intercept stdout/stderr
    • mulavito.gui.components.LayerDataPanel for displaying graph degree data
  • An extended JFileChooser, mulavito.gui.dialogs.LocatableFileChooser, that remembers last path with different categories
  • Export of scalable vector graphics (SVG) of any layer (mulavito.utils.SVGExporter) using Batik SVG Toolkit
  • Basis for content-aware pop-up menus (mulavito.gui.control.AbstractPopupMousePlugin)
  • Basic file filter (mulavito.gui.utils.BasicFileFilter)
  • Demonstrators (mulavito.samples)

Graphs

Graph algorithms

(mulavito.algorithms)

  • Disjoint paths (mulavito.algorithms.shortestpath.disjoint)
    • Suurballe-Turjan
  • k-shortest paths (mulavito.algorithms.shortestpath.ksp)
    • Eppstein
    • Yen
  • JUnits to validate the algorithms (mulavito.tests)
Graph generators

(mulavito.graph.generators)

  • Random
  • Fully-meshed
  • Waxman
  • Wrapper to ensure reachability

Utilities

Basic random number stream generators

(mulavito.utils.distributions)

  • Uniform
  • Negative-exponential / Poisson
  • Deterministic
Miscellaneous

(mulavito.utils)

  • Resource accessor for using embedded icons of the Tango project or icons outside of MuLaViTo in derived projects
  • Class scanner utils (mulavito.utils.ClassScanner) for dynamic class loading even in JAR files
  • Ant-based build scripts with automatic downloads of dependencies