Section: Software and Platforms
Participants : David Coudert, Luc Hogie [correspondant] , Aurélien Lancin, Issam Tahiri, Michel Syska.
Around 20,000 lines of code, developed in Java, and licensed under LGPL. See http://grph.inria.fr .
The objective of Grph is to provide researchers and engineers a suitable graph library for graph algorithms experimentation and network simulation. Grph is primarily a software library, but it also comes with a set of executable files for user interaction and graph format conversion; as such, it can be used autonomously. Performance and accessibility are the primary targets of the Grph library. It allows manipulating large graphs (millions of nodes). Its model considers mixed graphs composed of directed and undirected simple- and hyper-edges. Grph comes with a collection of graph algorithms which is regularly augmented.
Grph includes bridges to other graph libraries such as JUNG, JGraphT, CORESE (a software developed by the WIMMICS team Inria-I3S), LAD (Christine Solnon, LIRIS), Nauty (Brendan D. McKay), SageMath, as well as specific algorithms developed by Matthieu Latapy and Jean-Loup Guillaume (LIP6), etc.
In 2013, we have added several graph algorithms to Grph (e.g., subgraph isomorphism, subgraph search as sets or regular expressions, transitive closure, etc.). In particular, a significant effort has been put on the support for paths with multiple data-structures for more efficient in-memory representation of paths, and the implementation of algorithms for the enumeration of paths, the characterization of paths, the computation of the k-shortest paths, etc. Furthermore, we have improved the support of weigths in graphs and developed software bridges to SageMath and OGDF. We have also added several models (link-failures, node mobility) for graph dynamics using the discrete-event simulator included in Grph , as well as models for the development of decentralized algorithms (useful for instance for the simulation of routing schemes). Finally, we have redesigned the website which now includes a forum gathering the community of users.