# GRAD: A New Graph Drawing and Analysis Library

## Renata Vaderna, Igor Dejanović, Gordana Milosavljević

DOI: http://dx.doi.org/10.15439/2016F299

Citation: Proceedings of the 2016 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 8, pages 1597–1602 (2016)

Abstract. Several important choices need to be made during the development of domain-specific languages, including the one regarding which concrete syntax to implement. There are several alternatives, with graphical and textual syntaxes being the most common ones. Having in mind that the developers and domain experts often have different preferences, supporting both is sometimes the best option. This means that models created using textual editors might need to be opened using separately developed graphical editors. Graphical elements corresponding to model elements then must be automatically created and positioned. Doing so in an aesthetically pleasing way requires usage of a graph layout algorithms. Since implementing them is not an easy task, most developers have to rely on existing solutions. There are many Java libraries which have such capabilities, but they all have certain limitations and room for improvement, some of which are addressed in a new graph drawing and analysis library presented in this paper.

### References

- M. Mernik, J. Heering, and A. Sloane, “When and how to develop domain-specific languages,” ACM Computing Surveys (CSUR), vol. 37, no. 4, pp. 316–344, 2005.
- U. Zdun and M. Strembeck, “Architectural decisions for dsl design: Foundational decisions in dsl development,” in Proceedings of 14th European Conference on Pattern Languages of Programs, Germany, 2009, pp. 1–37.
- I.Dejanović, M. Tumbas-Živanov, G. Milosavljević, and B. Perišić, “Comparison of textual and visual notations of dommlite domainspecific language,” in Proceedings of the Advances in Databases and Information Systems, 2010, pp. 20–24.
- I.Dejanović, G. Milosavljević, B. Perišić, and M. Tumbas-Živanov, “Domain-specific language for defining static structure of database applications,” Computer Science and Information Systems, vol. 7, p. 409–440, 2010. http://dx.doi.org/10.2298/CSIS090203002D
- R. Vaderna, G. Milosavljvić, and I. Dejanović, “Graph layout algorithms and libraries: Overview and improvement,” in ICIST 2015 5th International Conference on Information Society and Technology Proceedings, 2015.
- “Graph analysis and drawing library,” https://github.com/renatav/GraphDrawing, accessed: 2016-4-4.
- M. Patrignani, Handbook of Graph Drawing and Visualization. Chapman and Hall/CRC, 2007, ch. 1, pp. 1–42.
- H. Purchase, Computer Graphics and Multimedia: Applications, Problems and Solutions. Idea Group Publishing, 2004, ch. 8, pp. 110–144.
- A. Rusu, Handbook of Graph Drawing and Visualization. Chapman and Hall/CRC, 2007, ch. 5, pp. 155–192.
- J. Six and I. Tollis, Handbook of Graph Drawing and Visualization. Chapman and Hall/CRC, 2007, ch. 9, pp. 155–192.
- N. Chiba, T. Yamanouchi, and T. Nishizeki, Progress in graph theory. Academic Press, 1984, ch. 5, pp. 153–173.
- P. Eades, “A heuristic for graph drawing,” Congressus Numerantium, vol. 42, p. 149–160, 1984.
- T. Kamada and S. Kawai, “An algorithm for drawing general undirected graphs,” Information Processing Letters, vol. 31, pp. 7–15, April 1989.
- T. Fruchterman and E. Reingold, “Graph drawing by force-directed placement,” Software Practice and Experience, vol. 21, p. 1129 – 1164, November 1991.
- “Jung framework,” http://jung.sourceforge.net, accessed: 2016-4-4.
- B. Meyer, “Self-organizing graphs - a neural network perspective of graph layout,” in In Neural Computers, 393–406, ECKMILLER. Springer, 1998, pp. 246–262.
- “Jgraphx,” https://github.com/jgraph/jgraphx, accessed: 2016-4-4.
- R. Davidson and D. Harel, “Drawing graphs nicely using simulated annealing,” ACM Transactions on Graphics, vol. 15, pp. 301–331, 1996.
- “Prefuse,” http://prefuse.org, accessed: 2016-4-4.
- C. Buchheim, M. Juenge, and S. Leipert, “Improving walker’s algorithm to run in linear time graph drawing,” in Proceedings of 10th International Graph Drawing Symposium, Irvine, CA, USA, 2002.
- “Kroki mockup tool,” http://www.kroki-mde.net, accessed: 2016-4-4.
- H. Carr and W. Kocay, “An algorithm for drawing a graph symmetrically,” Bulleting of the Institute of Combinatorics and its Applications, vol. 27, pp. 19–25, 1997.
- B. McKay, “Practical graph isomorphism,” in Proceedings of 10th. Manitoba Conference on Numerical Mathematics and Computing, 1980, pp. 45–87.
- W. Tutte, “How to draw a graph,” in Proceedings of the London Mathematical Society 13, 1963, p. 743–767.
- J. Hopcroft and R. Tarjan, “Dividing a graph into triconnected components,” SIAM J. Computing, vol. 2, p. 135–158, 1973.