Overview

Java-Graph is a programming library for the rapid development of graph tools, with applications in graph transformation and related fields. Features include working with graphs, graph morphisms, basic categorical constructions such as computing pushout complements or enumerating all morphisms with certain properties, but also applications such as executing graph transformation steps. Additionally, we offer graphical user interface widgets for visualization and manipulation of graphs, morphisms and categorical diagrams.

Our objective is to allow users to quickly develop graph tools for both simple and complex problems, to allow easy embedding into existing software, and to have comprehensible code especially for the main algorithms. Existing tools that demonstrate the versatility and ease of use of the library include: DPOdactic (a didactic tool for teaching double-pushout graph transformation), DrAGoM (a tool to handle multiply annotated type graphs for abstract graph rewriting), and Grez (termination analysis of graph transformation systems).

Further documentation, especially a user/developer's manual, will be provided in the near future.

Downloads

Developer

Java-Graph was initially developed by H.J. Sander Bruggink and is currently maintained by Lara Wallentin. Contributors include Dennis Nolte and Marleen Matjeka. Supervision by Barbara König.

Disclaimer

The library is currently in an alpha stage - expect API changes.