Development is currently on hold. The available version is an work-in-progress and not yet suited for regular use.
Graphter Effects consists of a tool, for people who want to use Graphter Effects on its own, and a Java library, for people who want to integrate Graphter Effects in their code.
The manual and the releases can be found at: github.com/svenkonings/GraphterEffects/releases.
Current graph visualization solutions lack the functionality to easily create rich visualizations that intuitively show what these graphs represent. For the Design Project (TCS MOD11) we have created the library and tool Graphter Effects that can generate these customized visualizations using our domain-specific logic language Graafvis
Input 1: a Graafvis script specifying layout rules for graph visualisation
Graafvis may be considered as "shorthand Prolog with special predicates". A .vis-script contains simple logic rules that define relations between two domains: the input graph and the output visualization.
Specific predicates...
- describe information from the input graph (e.g. node, edge, degree, inShortestPath)
- specify consequences for the visualization (e.g. shape, image, left, distance, align)
Input 2: a graph which contains information that can be visually represented
Thirteen graph import formats are currently supported, including DOT, GraphML and GXL.
Both the Graafvis script and the graph file are loaded and checked for errors. They are then converted to Prolog rules and a Prolog library.
Three programming paradigms are involved:
Using Prolog, the logic programming done in Graafvis is solved such that visualization solutions are found.
When during the Prolog solving process graph information is required, it is retrieved at run time from the Prolog library using imperative Java code.
Numeric values such as position and dimensions are solved using Choco solver: a constraint logic programming interface.
The resulting visualization elements are afterwards bundled into an SVG file.
Output: a generated* visualization using the script and the input graph above
*The constraints depicted with arrows and labels are added to the generated visualization for clarification purposes
The SVG image resulting from the Graphter Effects visualization process contains visualization elements that abide the given Graafvis rules. It contains a representation of the graph with relatable and intuitive imagery.
Graphter Effects has proven to be a strong universal solution: in Graafvis one can define both complex and simple visualisations in a quick and intuitive way.
The library includes...
- error feedback
- a vast number of visualization and graph predicates
- a user manual
- possible extension by third parties through Java implemented predicates
The tool includes...
- an integrated compiler (the library)
- a rich code editor with syntax highlighting
- debug tools for inspection of generated rules and visualization elements
- Ron van Bree
- Lindsay Kempen
- Sven Konings
- Hans van der Laan
- Pim van Leeuwen
Arend Rensink
Website: rebrand.ly/graphtereffects
Email: graphtereffects@gmail.com