GraphsJ - Scenario Development Kit (SDK)
GraphsJ SDK is a library providing traits and classes to easily create scenarios that can be imported and run within GraphsJ.
The framework is very minimalist and inspired by Functional Programming - in particular, it employs the EighthBridge toolkit.
Referencing the SDK
Alternatively, you could download the JAR file from Hephaestus and manually add it to your project structure.
IMPORTANT: the SDK should be referenced as a provided dependency, needed only during the compilation of your project - as it is provided by GraphsJ itself at runtime.
Employing the SDK
Basically speaking, to create a new scenario for GraphsJ, you should:
Implement the Algorithm trait, to express the algorithm logic
Implement the Scenario trait, to provide details on:
the controllers handling user interaction
- Implement the ScenarioFactory trait, which should instantiate the Scenario
Creating a scenario requires knowledge of EighthBridge, the ScalaFX library dedicated to graph modeling and interactive rendering.
Interesting examples are available in GraphsJ - Scenarios, an open source project containing scenarios for both Artificial Intelligence and Operations Research.
For further information, please refer to the related Scaladoc documentation.
Referencing external libraries
The following libraries are automatically provided by GraphsJ SDK:
EighthBridge: for graph modeling and rendering
LambdaPrism: for Artificial Intelligence
OmniEditor: providing an editor with syntax highlighting
Helios-fx: library of shared utilities
Other libraries cannot be referenced by a scenario, unless your build tools includes their classes within your jar, making it self-contained.