Research Article

Graph Drawing and Analysis Library and Its Domain-Specific Language for Graphs’ Layout Specifications

Table 3

DSL expressions and their semantics.

DSL input Semantics

lay out graph
using algorithm
AlgorithmName
(property1 =
value1, property2
= value2)
Select algorithm named AlgorithmName and set value of its property called property1 to value1, property2 to value2. Execute the selected algorithm

lay out graph
using style
StyleName
Select the best algorithm automatically. If the provided style is not automatic, limit the set of considered algorithms to those belonging to the appropriate group. If the style is circular, hierarchical, tree or symmetric, select an algorithm belonging to the group of the same name. If it is general, select a force-directed algorithm. Execute the selected algorithm

lay out graph
conforming to
criteria
criterion1,
criterion2,
criterion3
Select a layout algorithm which can be applied to the given graph and produces drawings which exhibit characteristics favored by aesthetic criterion criterion1 and, if possible, criterion2 and criterion3. Execute the selected algorithm

lay out graph
not?(criterion1
and criterion2) or
not?(criterion3
and criterion4)
Select a layout algorithm which satisfies either criterion1 and criterion2 (or doesn’t satisfy at least one of them, depending on the presence or absence of the negation operator), or criterion3 and criterion4. Execute that algorithm