Subclassing GI.L.A.

GI.L.A. supports the subclassing of the following modules (click to jump to the appropriate section):

  • Cooling Strategies: how the system cools between two seeding supersteps (linear, negative exponential, etc.).
  • Forces (Attractive and Repulsive): how the vertices repel and attract each other.
  • Reintegration Strategies: how to reinsert the one degree vertices at the end of the computation.

//COOLING STRATEGIES

GILA comes with the linear cooling strategy. In order to use your own, two steps must be followed:

  • – Add a new class implementing the CoolingStrategy interface, package unipg.gila.coolingstrategies
  • – When launching the job, overwrite the following options:

    -ca layout.coolingStrategy=[YOUR-NEW-CLASS-HERE]
    -ca layout.coolingStrategyExtraOptions=[OPTIONS]

    The options string is a comma separated list of key-value pairs used to tune the cooling strategy.

//FORCES

GILA comes packed with the FR and LinLog force models. To implement your own, two steps must be followed:

  • – Add a new class implementing the Force interface, package unipg.gila.layout.force
  • – When launching the job, overwrite the following options:

    -ca layout.forceModel=[YOUR-NEW-CLASS-HERE]
    -ca layout.layout.forceModel.extraOptions=[OPTIONS]

    The options string is a comma separated list of values used to tune the force calculation step.

//REINTEGRATION STRATEGIES

GILA comes packed with different one-degree vertices reintegration strategies; all of them can be found in the javadocs.

To implement and use your own, two steps must be followed:

  • – Add a new class extending the PlainGraphReintegration class, package unipg.gila.layout
  • – When launching the job, overwrite the following options:

    -ca reintegration.reintegratingClass=[YOUR-NEW-CLASS-HERE]

If you wish to pass some configuration parameters to the newly created class you can make use of the options already implemented (see the Options page) or you can insert your own in the class you are creating.