JS-ARAC

JS-ARAC is a JavaScript library that provides the algorithms which are needed for the calculation of a graphical representation of graphs and networks. The calculation generates positions and further information for the nodes as well as it generates coordinates and further information for the edges of a graph.

Most often a graphical representation of a graph tries to make the graph more readable for a user or it highlights a particular aspect of a graph. To achieve this, the nodes and edges of a graph are brought into a specific arrangement. This technique is known as 'Graph Drawing' and also as 'Graph Layout'.

The JS-ARAC graph drawing library provides various types of graph drawings. On one hand, various types of layouts are necessary because there obviously are also various types of graphs. On the other hand different types of layouts are necessary because there is always a set of requirements that must be met by the drawing. And this is always the goal that is more difficult to achieve. It takes high flexibility and far-reaching control at the same time.
At this stage the JS-ARAC graph drawing library is divided into the following main categories:

Flow Layout
Tree Layout
A flow layout creates a layout in a hierarchical manner. In this way, a flow of sequential steps and steps, which are parallel to each other, becomes visible. This type of layout is used for example to represent a flow chart, a program flow or a process in the context of business process management.
A tree layout creates a layout in a tree-like manner. Therefore the graph must satisfy the conditions of a tree structure. This type of layout is used for example to create an organizational chart or to represent the structure of a directory.

Force Layout
Grid Layout
A force layout creates a layout that is based on physical laws. These laws describe a relationship of forces by means of which the graph is balanced. This type of layout is used for example to represent a computer network or a social network.
A grid layout scatters the nodes of a graph on a grid. The distribution of the nodes is similar to a table, a list or a raster. This type of layout is used for example to represent the nodes of a graph into categories (histogram) or to create a layout for lanes in the context of business process management.