<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Two Opportunities and Challenges of Automatic Layout in Visual Languages</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christoph Daniel Schulze</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>secondDudeLogic @ OneDudeLogic [</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Diagram-based visual languages are an established means for describing and developing software systems, but have an important drawback: users need to place diagram elements properly for a diagram to be properly readable, which can take a significant amount of time (Klauske and Dziobek 2010). Automatic layout algorithms aim to automate that task to improve user productivity. These algorithms enable new ways for working with visual languages, but present new challenges as well. In this paper, I suggest to think about automatic layout algorithms in terms of challenges and opportunities. Challenges are problems that need to be solved for layout algorithms to yield good results. Opportunities are problems inherent in visual languages or new user interaction scenarios that can be tackled with automatic layout. To illustrate these terms, I summarize previous research on one example of each.</p>
      </abstract>
      <kwd-group>
        <kwd>management</kwd>
        <kwd>Automatic layout</kwd>
        <kwd>comment attachment</kwd>
        <kwd>label</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Visual languages are popular among developers, both for
describing existing software systems (UML being an example)
and to develop new ones (languages such as LabVIEW,1 a
system design and development platform). Visual languages
have a reputation for being easy to understand and use, a
natural way to communicate. After all, we quickly start
scribbling diagrams on whiteboards or pieces of paper when
try1 http://www.ni.com/labview
ing to understand things or to explain them to others. If this
serves us well, why then should computer-based visual
languages be any different? For the purposes of this paper, we
shall look at two approaches to answer that question.</p>
      <p>First, there is the sheer size of diagrams. In contrast to
diagrams scribbled on a sheet of paper, diagrams used to
develop software systems can quickly grow so large that they
cannot be displayed on a single screen without losing
legibility. This forces developers to only look at small excerpts
of the diagram at a time, which causes the mental overview
to suffer and thereby decreases the diagram’s usability.
Often enough, the problem is not just the number of diagram
elements. Most visual languages contain text labels to
identify elements and to specify behavior. Depending on the
language, these labels can grow very large and force the
diagram to grow very large as well. To make matters worse,
long text labels do not simply enlarge a diagram; they do so
by making it wider, causing the aspect ratio to grow less and
less favorable for displaying the diagram on today’s common
computer screens.</p>
      <p>
        Second, a diagram is not easy to understand just because
it is visual in nature
        <xref ref-type="bibr" rid="ref11">(Petre 1995)</xref>
        . In fact, a diagram whose
elements are all stacked atop each other at the same
position is visual in nature indeed, but not readable at all. Of
course, this is an artificial example, but it does serve to
highlight the fact that element placement hugely influences how
quickly one can grasp what the diagram should express.
Getting the placement right includes ensuring that a visual
language’s formatting guidelines are met. In class diagrams, for
instance, people expect superclasses to be placed somewhere
above their subclasses, while data flow languages require the
majority of edges to point in the same direction to visually
highlight the flow of data. Good placement also includes
taking care that the diagram does not exhibit visual clues that
contradict its content. For example, placing two unrelated
elements neatly aligned in close proximity makes them look
related, whether or not this is in fact the case
        <xref ref-type="bibr" rid="ref21">(Wertheimer
1923)</xref>
        . This is called secondary notation: information that
through placement transcend what is contained in the
diagram’s pure structure. Getting the placement right is a lot of
work. Based on observing developers in the automotive
industry, Klauske et al.
        <xref ref-type="bibr" rid="ref6">(Klauske and Dziobek 2010)</xref>
        estimate
that placement accounts for up to 30% of a developer’s time.
      </p>
      <p>
        Reducing that hit on developer productivity is what
automatic layout algorithms aim to do. Instead of having to place
all diagram elements manually, that task is delegated to the
computer. While this solves the problem of too much time
spent moving diagram elements around, it gives rise to new
problems when it comes to secondary notation. Consider a
diagram with two closely spaced elements. A human viewer
will immediately assume the two to be related in some way
and, when asked to modify the diagram, will probably try
to keep this visual clue intact. What a given automatic
layout algorithm will do in this situation depends strongly on
the particular algorithm. Misue et al.
        <xref ref-type="bibr" rid="ref8">(Misue et al. 1995)</xref>
        distinguish layout adjustment and layout creation algorithms.
The former will try to keep the general topology of a
drawing intact, and may in fact succeed in not destroying the
implicit relation between the two elements. A layout creation
algorithm, on the other hand, computes a new layout from
scratch. Since it does not know about the relationship
between the two elements, this can lead to them being placed
far apart in the final layout, thereby destroying a potentially
important visual clue.
      </p>
      <p>Through the fast computation of layouts, automatic
layout algorithms can serve as enablers for ways to improve
the usability of visual languages. Let us come back to the
problem of large text labels. Depending on what the user is
trying to do at a given moment, the full content of one label
may be important while not all the details of another label
are of interest. Yet another label may not need to be shown
at all, allowing the diagram to become smaller. However,
what is and what is not interesting to a user changes
dynamically as they concentrate on different parts of a diagram.
This dynamic makes it impossible to exploit size changes
with manual placement, but automatic layout is fast enough
to quickly rearrange diagram elements to fit more of them on
the screen.
1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Contributions</title>
      <p>
        In this paper, we take a step back from the details of how
automatic layout algorithms work and think about them
instead in terms of what keeps them from being used and what
new usage scenarios they enable. In this spirit, the main
contribution is the motivation and introduction of the notion
of challenges and opportunities of automatic layout
algorithms. This helps us bring together two formerly separate
lines of research we reported on previously: comment
attachment
        <xref ref-type="bibr" rid="ref16 ref17">(Schulze et al. 2016b)</xref>
        and label management
        <xref ref-type="bibr" rid="ref16 ref17">(Schulze
et al. 2016a)</xref>
        . In doing so, we summarize results obtained so
far in each of these areas.
1.2
      </p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        The ultimate goal of our research is to improve the
usability of visual languages. It is thus worth recognizing that
other researchers have also found that there is, in fact, room
for improvement. This mainly affects two areas: the tooling,
and the visual languages themselves. While editing
environments for textual languages have matured to provide very
advanced and effective editing features, editors for visual
languages still leave something to be desired
        <xref ref-type="bibr" rid="ref12 ref6">(Pietriga 2005;
Klauske and Dziobek 2010)</xref>
        . The languages themselves
require a certain expertise when it comes to using secondary
notation well
        <xref ref-type="bibr" rid="ref11">(Petre 1995)</xref>
        , which is a skill that must be
learned.
      </p>
      <p>
        It has been recognized that comments can relate to
diagram elements differently
        <xref ref-type="bibr" rid="ref4">(Eichelberger 2005)</xref>
        . However, to
the best of our knowledge we are the first to tackle the
problem of inferring those relations to support automatic layout
algorithms
        <xref ref-type="bibr" rid="ref15 ref16 ref17 ref20">(Schulze and von Hanxleden 2014; Schulze et al.
2016b)</xref>
        . The results of this line of research may be combined
with research done on comments in textual languages. For
example, checking the consistency between comments and
the code they relate to
        <xref ref-type="bibr" rid="ref19">(Tan et al. 2012)</xref>
        requires knowledge
about that relation. Comment attachment may ultimately
make such techniques applicable to visual languages.
      </p>
      <p>
        The term label management and basic label shortening
techniques were introduced by Fuhrmann as part of his
dissertation
        <xref ref-type="bibr" rid="ref5">(Fuhrmann 2011)</xref>
        . We have since implemented and
added to the techniques, have started to evaluate them, and
have developed more advanced concepts as to how they can
be integrated with automatic layout.
      </p>
      <p>
        Label management aims to do something about the
problem of too little screen space and can be used to reduce the
amount of unnecessary information visible at a given time.
There are other techniques that focus on similar problems.
Fisheye views
        <xref ref-type="bibr" rid="ref14 ref7">(Leung and Apperley 1994; Sarkar and Brown
1992)</xref>
        emphasize a region of focus over its surroundings by
scaling diagram elements up and down, but suffer from
legibility problems either due to optical distortion or due to very
small font sizes. Other approaches show or hide elements
depending on the zoom level
        <xref ref-type="bibr" rid="ref1">(Been et al. 2006)</xref>
        , but cannot
reduce the amount of information shown by an element.
Osman et al.
        <xref ref-type="bibr" rid="ref10">(Osman et al. 2014)</xref>
        take the approach of ranking
elements in class diagrams by importance and allow the user
to hide less important elements. In contrast to our methods,
they do not take spatial considerations into account and can
only show and hide elements, not modify them. Similarly,
Musial and Jacobs progressively hide details of classes in
UML class diagrams as the classes are further away from
what the user is currently focusing on
        <xref ref-type="bibr" rid="ref9">(Musial and Jacobs
2003)</xref>
        . They rely purely on the concept of focus and
context
        <xref ref-type="bibr" rid="ref2">(Card et al. 1999)</xref>
        , which our methods are compatible
with, but not limited to.
1.3
      </p>
    </sec>
    <sec id="sec-4">
      <title>Outline</title>
      <p>We start by properly introducing what we mean by
opportunities and challenges. This is followed by a discussion of two
examples of opportunities and challenges, along with a
summary of results obtained so far in these areas. We conclude
with a discussion of the presented material.</p>
      <sec id="sec-4-1">
        <title>Challenges and Opportunities</title>
        <p>
          The problem of placing diagram elements and routing edges
is a very complex one. Consider the three main phases of
the layered layout approach
          <xref ref-type="bibr" rid="ref18">(Sugiyama et al. 1981)</xref>
          : layer
assignment, crossing minimization, and horizontal
coordinate assignment. Depending on the optimization criteria, the
first two must solve NP-complete problems
          <xref ref-type="bibr" rid="ref3">(Di Battista et al.
1999)</xref>
          : finding an order of nodes that minimizes the number
of edge crossings, for example. This leads us to the
following definition:
        </p>
        <p>A challenge is a problem inherent in a layout
approach that needs to be solved in order for the
approach to work or to improve the layout results it
produces.</p>
        <p>Research on layout algorithms usually focuses on
efficient methods to tackle the complex and hard algorithmic
problems, which of course are big challenges for algorithm
developers. In the process, seemingly smaller and perhaps
less theoretically interesting problems often seem to be
overlooked and regarded as trivial implementation details. It is
the experience at our research group, however, that if left
unsolved these problems can be the reason why users fail to
use automatic layout more than once. The experience that
the layout algorithm has produced an unfortunate and
obvious placement problem which is easily spotted and which “I
could have easily done better” can lead users to never hit a
layout button again. What’s more, many small and simple
problems turn out to be not as small and simple once
properly investigated. If layout algorithm developers want their
algorithms to be widely adopted, both the obviously hard
and the seemingly smaller challenges have to be addressed.</p>
        <p>Problems are not to be found only in layout algorithms,
but also in the design of visual languages. One example are
long labels: if a visual language tends to make developers
use long labels, the diagrams they produce will often grow
too wide to be properly displayed on standard computer
screens. This leads us to the following definition:
An opportunity is a usability problem in the design
of a visual language which can be mitigated through
the use of automatic layout, or a new user interaction
scenario enabled by automatic layout.</p>
        <p>In the case of long labels, automatic layout algorithms
can be used to shorten them and then modify the layout to
take advantage of the saved space. Of course, taking
advantage of such opportunities does pose additional problems to
be solved on the layout algorithm side. In contrast to
challenges, however, these problems are not inherent to the
layout algorithms, but arise from problems with the languages
that are to be laid out.</p>
        <p>Starting with the next section, we will look at a challenge
and an opportunity and summarize results obtained so far.
Similar to textual languages, comments in visual languages
help explain what is expressed through a diagram (see
Figure 1). In textual languages it is usually very apparent what a
comment refers to. Languages such as Java even make rules
part of the language definition. There are usually no such
rules in visual languages. If the comment is not explicitly
connected to the diagram element it refers to (which not all
languages support, and not all developers use), their relation
is defined through more implicit and ill-defined means, such
as how the comment is placed relative to other diagram
elements, or the comment’s text.</p>
        <p>
          If an automatic layout algorithm encounters a comment
with no explicit connection to the diagram element it relates
to, it may end up placing the two far apart. After all, it has no
idea that they should be placed in close proximity. We thus
need to make these relations available to layout algorithms.
This requires developing methods that recognize implicit
clues in order to turn them into explicit attachments between
comments and diagram elements that layout algorithms can
process. Computing these attachments is called the comment
attachment problem
          <xref ref-type="bibr" rid="ref15 ref20">(Schulze and von Hanxleden 2014)</xref>
          .
        </p>
        <p>Note that we would classify this as a challenge. Relating
comments and diagram elements through placement in
manual layouts works just fine, so this is not a problem of the
visual language itself. The problem much rather lies in the
layout algorithms that do not recognize these relations and
may consequently fail to preserve them.</p>
        <p>
          It is obvious that all comment attachment methods are
limited to be heuristics: there simply are no universal rules
people follow when writing and placing comments. Still, we
wanted to find out whether a number of obvious and
easyto-implement heuristics might be enough to infer the
relations between comments and diagram elements. In the past,
we have evaluated the performance of several such
heuristics
          <xref ref-type="bibr" rid="ref16 ref17">(Schulze et al. 2016b)</xref>
          with a set of example diagrams
taken from Ptolemy II
          <xref ref-type="bibr" rid="ref13">(Ptolemaeus 2014)</xref>
          , a set of visual
languages developed at UC Berkeley focusing on the design
and interplay of heterogeneous systems.
        </p>
        <p>Font Size Text documents usually start with a heading set
in a font size larger than the rest of the text. Similarly, if
a diagram contains a comment whose font size is larger
than that of all other comments, we might hypothesize
that it contains the diagram’s title. Such a comment of
course does not relate to any specific diagram element
and should thus be left alone. This heuristic works well
in that if it flags a comment as containing the diagram’s
title, this is correct in 98% of all cases.</p>
        <p>Text Prefix We found that comments that describe the
diagram as a whole as opposed to a single element often
start with a similar prefix, such as “This model. . . ”, or
“Authors: . . . ”. Such comments do not relate to any
single diagram element. How successful this heuristic is
depends on how developers use a given visual language. It
works well for the surveyed example diagrams in that if
the heuristics flags a comment it is always correct, but it
may fail for other languages.</p>
        <p>Text References It seems obvious that if a comment
actually mentions a diagram element by name, the two will
probably be related. In practice, though, the comment
may mention other elements as well, or the named
element may just serve to distinguish it from the element
the comment actually relates to.</p>
        <p>Distance The distance between a comment and other
diagram elements is probably the most obvious heuristic.
However, the distance between a comment and the
element it relates to is rather fuzzy in practice. Worse, often
that element is not even the one closest to the comment.
There is also the question of how far a comment and a
diagram element may be apart for them to still be
considered to be related.</p>
        <p>Alignment Graphic designers use alignment as one of the
main tools to establish relations between graphical
elements. To our surprise, we found that developers
working with visual languages care a lot less about alignment,
thus rendering this heuristic almost useless.</p>
        <p>In our evaluations, the best combination of heuristics
was able to make correct decisions in about 90% of all
cases. The heuristics that fared best were those based on
established conventions for the given visual language, such
as the font size and text prefix heuristic. Heuristics that rely
more on developers having a grasp on graphic design are
more problematic or even useless.</p>
        <p>These results have yet to be verified with other visual
languages. Still, they already allow for two observations. First,
a good attachment result largely depends on how the
heuristics are configured. The distance heuristic, for example, is
very sensitive to the maximum distance that comments and
diagram elements may be apart to still be considered related.
Finding good settings can be challenging, especially since
every team of developers can have different coding
conventions. The second observation directly follows from this
difficulty: inferring relations between comments and other
diagram elements will always be prone to some margin of error.
It therefore seems sensible for language designers to make
explicit relations part of the language’s design, and to make
it as easy as possible to define them through the tooling.
4.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Label Management</title>
        <p>
          Few visual languages can get away without incorporating
at least a bit of text. Languages based on state machines
usually use text labels to specify the conditions upon which
a transition can be taken as well as the actions executed
when it is. SCCharts
          <xref ref-type="bibr" rid="ref15 ref20">(von Hanxleden et al. 2014)</xref>
          is such
a language. Even for small diagrams, transition labels can
grow rather long, which in turn forces the diagrams into
awkward aspect ratios (see Figure 2. Such diagrams cannot
be shown completely without sacrificing readability, even if
they could be drawn perfectly well if the labels were shorter.
        </p>
        <p>Label management aims to improve this situation by
changing the content of labels and computing a new layout
that takes advantage of the label size changes. The actual
motivation to do so can vary:</p>
        <p>Increase the zoom level. If the diagram should fit on the
screen, a smaller diagram results in a larger zoom level,
thereby increasing legibility. If the zoom level is fixed,
smaller labels allow for more diagram elements to fit on
the screen, thereby increasing the user’s overview.
Reduce visual clutter. Whether the information a label
contributes is of interest to the user or not depends on
the task they are working on and what they are currently
focusing on. Reducing the detail of or even removing
unnecessary labels reduces visual clutter and allows more
interesting elements to fit on the screen,</p>
        <p>As mentioned in Section 2 this is an example of an
opportunity. The problem to be solved—labels quickly becoming
too large and increasing the size of diagrams—is inherent in
the visual language. Automatic layout is used as an enabler
for label management. After all, simply changing the size of
labels does not accomplish much if we do not change the
diagram’s size as well.</p>
        <p>When reducing the size of labels two questions need to
be answered: how do we shorten labels, and when do we do
it?</p>
        <p>
          Let us begin with the how. Fuhrmann
          <xref ref-type="bibr" rid="ref5">(Fuhrmann 2011)</xref>
          proposed a number of basic shortening strategies shown in
Table 1. Syntactical abbreviation simply cuts off a label’s
text once a given target length is reached. Semantical
abbreviation tries to cut out unnecessary details, only
leavinput bo l firstDude_switch_impendingDo m
input bo l firstDude_switch_apocalypse
input bo l secondDude_switch_impendingDo m
input bo l secondDude_switch_apocalypse
input bo l thirdDude_switch_impendingDo m
input bo l thirdDude_switch_apocalypse
output int indicatorReady = 0
oouuttppuutt iinntt iinnddiiccaattoorrIAmppoecnadlyinpsgeDo= 0m = 0
bo l firstDude_request_ready
bboo ll ffiirrssttDDuuddee__rreeqquueesstt__iamppoecnaldyipnsgeDo m
bo l secondDude_request_ready
bboo ll sseeccoonnddDDuuddee__rreeqquueesstt__iamppoecnaldyipnsgeDo m
bo l thirdDude_request_ready
bo l thirdDude_request_impendingDo m
bo l thirdDude_request_apocalypse
[-] FirstDude
firstDudeLogic @ OneDudeLogic
[+]
[-] Control er
int entryTime = &lt;mil s()&gt;
int cur entTime = entryTime
entry / indicatorReady = 25
exit / indicatorReady = 0
[-] 2: / cur entTime = &lt;mil is()&gt;
notQuiteBoringYetWeAreWorkingOnIt
firstDude_request_ready = false | secondDude_request_ready = false | thirdDude_request_ready = false
2: firstDude_request_ready = true &amp;&amp; secondDude_request_ready = true &amp;&amp; thirdDude_request_ready = true
(a)
itsBoringThankYouVeryMuch
eexnittry/ i/nidnaidcpiacotaoctraoAlrypApopscoeaclSaylptyasptesee==025 fir1s:t DfiursdteD_urdeqe_ureesqt_uaepsot_caaplyopcsaely=psefa=lsetr&amp;u&amp;e |sesceocnodnDduDdued_er_erqeuqeusets_ta_paopcoaclaylpyspese= =fatlrsuee&amp;|&amp;ththiridrdDDuuddee__rereqquueesst_t_aappooccaalylyppssee== trfuaelse
Without label management.
impendingDo mState
eexnittry/ i/nidnidciactaotroImrImpepnednidnignDgDoomm==025
syntactical
semantical
syntactical
        </p>
        <p>(hard)
syntactical</p>
        <p>(soft)
semantical</p>
        <p>Example
(not SignalA) xor (...</p>
        <p>SignalA, SignalB / SignalC
(not SignalA) xor (not
SignalB) / SignalC(cou
nter)
(not SignalA) xor (not
SignalB) / SignalC(
counter)
(not SignalA) xor
(not SignalB) /
SignalC(counter)
ing in what is required to get an idea of the original text.
The three wrapping strategies are based in the observation
that the width of labels is often more problematic than their
height. Syntactical hard and soft wrapping work just like
they do in text editors. Semantical wrapping makes sense
in cases where labels follow a strict syntax: it restricts the
points where line breaks can be inserted in an attempt to
visually reflect the text structure.</p>
        <p>We applied some of these heuristics to a set of 93
SCCharts containing a total of 6230 transition labels and measured
the zoom level required to fit a whole diagram on the screen,
with and without shortened labels. The results, shown in
Figure 3, indicate that significant zoom level increases are
possible. It does not come as a surprise that syntactical
abbreviation is most effective in that regard: it always achieves the
target length and does not increase a label’s height. Other
strategies may be better, though, in terms of usability.</p>
        <p>Let us now turn to the when of shortening labels, which
will also answer the question of how to determine the
tar[-] ThirdDude
thirdDudeLogic @ OneDudeLogic
[+]
[-] SecondDude
secondDudeLogic @ OneDudeLogic
[+]
readyState
1: cur entTime
entryTime &gt;=
300000 /
indicatorReady =
0</p>
        <p>apocalypseState
entry / indicatorApocalypse = 255
exit / indicatorApocalypse = 0
(b)</p>
        <p>With
label
management.</p>
        <p>firstDude_request_ready == false |
secondDude_request_ready == false
| thirdDude_request_ready == false
2: firstDude_request_ready == true
&amp;&amp; secondDude_request_ready ==
true &amp;&amp; thirdDude_request_ready ==
true
firstDude_request_apocalypse ==
false &amp;&amp;
secondDude_request_apocalypse ==
false &amp;&amp;
thirdDude_request_apocalypse ==
false
1: firstDude_request_apocalypse ==
true |
secondDude_request_apocalypse ==
true | thirdDude_request_apocalypse
== true
notQuiteBoringYetWeAreWorkingOnIt
itsBoringThankYouVeryMuch</p>
        <p>impendingDoomState
entry / indicatorImpendingDoom = 255
exit / indicatorImpendingDoom = 0</p>
        <sec id="sec-4-2-1">
          <title>Inactive</title>
        </sec>
        <sec id="sec-4-2-2">
          <title>Syntactical</title>
        </sec>
        <sec id="sec-4-2-3">
          <title>Abbreviation</title>
        </sec>
        <sec id="sec-4-2-4">
          <title>Semantical</title>
        </sec>
        <sec id="sec-4-2-5">
          <title>Abbreviation</title>
        </sec>
        <sec id="sec-4-2-6">
          <title>Semantical</title>
        </sec>
        <sec id="sec-4-2-7">
          <title>Wrapping 0 1 2</title>
          <p>
            zoom factor we achieved for our
with different label management
without label management.
get length. The most obvious way to decide which labels to
shorten is to use a preprocessing approach before the
automatic layout algorithm is triggered. The preprocessing can
make decisions based on information such as what parts of a
diagram are active while a simulation or debugging session
is running, or which diagram elements are selected. It is here
that the preprocessing approach can easily be integrated with
focus and context concepts
            <xref ref-type="bibr" rid="ref2">(Card et al. 1999)</xref>
            .
          </p>
          <p>The preprocessing approach has the potential drawback
that labels are shortened regardless of whether this actually
has any impact on the diagram’s size. This is because the
necessary information are not available until automatic
layout is triggered. This is why we developed the feedback loop
approach. Here, a preprocessing still configures how each
label can be shortened, but the decision of whether or not it
will be shortened is then left to the layout algorithm.</p>
          <p>The two approaches also differ in how the target length
for labels is determined. The preprocessing approach needs
to set a target length more or less arbitrarily, perhaps based
on user input. The feedback loop approach can allow labels
to be as long as possible before having too much of an impact
on their diagram’s size.</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Discussion</title>
        <p>We have introduced the notions of opportunities and
challenges in the context of automatic layout algorithms. To
provide an example for each, we have summarized our
findings regarding two lines of research: comment attachment
(a challenge) and label management (an opportunity). The
former served to illustrate how automatic layout algorithms
are still posing challenges for algorithm designers when it
comes to secondary notation. The latter served to illustrate,
however, that automatic layout algorithms can also open up
opportunities for new ways to help users accomplish their
tasks, for example by auto-generating synthesized views that
dynamically adapt to changing requirements.</p>
        <p>We believe that algorithm designers often neglect the
(seemingly) small challenges. In practice, however, we
found that it is these details that keep users from
embracing automatic layout. We also believe that we are just
starting to realize the opportunities enabled by automatic layout
algorithms.</p>
        <p>There is much potential for future work. Regarding
comment attachment, the methods need to be tested with more
visual languages. Also, more complex heuristics could
improve the quality of computed attachments. Regarding
label management, a study will be required to show how label
management impacts usability.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>K.</given-names>
            <surname>Been</surname>
          </string-name>
          , E. Daiches, and
          <string-name>
            <given-names>C.</given-names>
            <surname>Yap</surname>
          </string-name>
          .
          <article-title>Dynamic map labeling</article-title>
          .
          <source>IEEE Transactions on Visualization and Computer Graphics</source>
          ,
          <volume>12</volume>
          (
          <issue>5</issue>
          ):
          <fpage>773</fpage>
          -
          <lpage>780</lpage>
          ,
          <year>Sept 2006</year>
          . doi:
          <volume>10</volume>
          .1109/TVCG.
          <year>2006</year>
          .
          <volume>136</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Card</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mackinlay</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Shneiderman</surname>
          </string-name>
          .
          <article-title>Readings in Information Visualization: Using Vision to Think</article-title>
          . Morgan Kaufmann, Jan.
          <year>1999</year>
          . ISBN 1558605339.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>G.</given-names>
            <surname>Di Battista</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Eades</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tamassia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I. G.</given-names>
            <surname>Tollis. Graph Drawing</surname>
          </string-name>
          :
          <article-title>Algorithms for the Visualization of Graphs</article-title>
          . Prentice Hall,
          <year>1999</year>
          . ISBN 0-13-301615-3.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>H.</given-names>
            <surname>Eichelberger</surname>
          </string-name>
          .
          <article-title>Aesthetics and Automatic Layout of UML Class Diagrams</article-title>
          .
          <source>PhD thesis</source>
          , Bayerische Julius-MaximiliansUniversita¨t Wu¨ rzburg,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>H.</given-names>
            <surname>Fuhrmann</surname>
          </string-name>
          .
          <source>On the Pragmatics of Graphical Modeling. Dissertation</source>
          ,
          <string-name>
            <surname>Christian-</surname>
          </string-name>
          Albrechts-Universita¨t zu Kiel, Faculty of Engineering, Kiel,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>L. K.</given-names>
            <surname>Klauske</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Dziobek</surname>
          </string-name>
          .
          <article-title>Improving modeling usability: Automated layout generation for Simulink</article-title>
          .
          <source>In Proceedings of the MathWorks Automotive Conference (MAC'10)</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>Y. K.</given-names>
            <surname>Leung and M. D. Apperley</surname>
          </string-name>
          .
          <article-title>A review and taxonomy of distortion-oriented presentation techniques</article-title>
          .
          <source>ACM Transactions on Computer-Human Interaction</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ):
          <fpage>126</fpage>
          -
          <lpage>160</lpage>
          ,
          <year>June 1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>K.</given-names>
            <surname>Misue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Eades</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Lai</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sugiyama</surname>
          </string-name>
          .
          <article-title>Layout adjustment and the mental map</article-title>
          .
          <source>Journal of Visual Languages &amp; Computing</source>
          ,
          <volume>6</volume>
          (
          <issue>2</issue>
          ):
          <fpage>183</fpage>
          -
          <lpage>210</lpage>
          ,
          <year>June 1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>B.</given-names>
            <surname>Musial</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          .
          <article-title>Application of focus + context to UML</article-title>
          . In
          <source>APVis '03: Proceedings of the Asia-Pacific symposium on Information visualisation</source>
          , pages
          <fpage>75</fpage>
          -
          <lpage>80</lpage>
          , Darlinghurst, Australia, Australia,
          <year>2003</year>
          . Australian Computer Society, Inc. ISBN 1- 920682-03-1.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>M. H. Osman</surname>
            ,
            <given-names>M. R. V.</given-names>
          </string-name>
          <string-name>
            <surname>Chaudron</surname>
            , and
            <given-names>P. van der Putten.</given-names>
          </string-name>
          <article-title>Interactive scalable abstraction of reverse engineered UML class diagrams</article-title>
          .
          <source>In 21st Asia-Pacific Software Engineering Conference, APSEC</source>
          <year>2014</year>
          , Jeju, South Korea,
          <source>December 1-4</source>
          ,
          <year>2014</year>
          . Volume
          <volume>1</volume>
          : Research Papers, pages
          <fpage>159</fpage>
          -
          <lpage>166</lpage>
          ,
          <year>2014</year>
          . doi:
          <volume>10</volume>
          .1109/APSEC.
          <year>2014</year>
          .34. URL http://dx.doi.org/10.1109/APSEC.
          <year>2014</year>
          .
          <volume>34</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Petre</surname>
          </string-name>
          .
          <article-title>Why looking isn't always seeing: Readership skills and graphical programming</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>38</volume>
          (
          <issue>6</issue>
          ):
          <fpage>33</fpage>
          -
          <lpage>44</lpage>
          ,
          <year>June 1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <given-names>E.</given-names>
            <surname>Pietriga</surname>
          </string-name>
          .
          <article-title>A toolkit for addressing HCI issues in visual language environments</article-title>
          .
          <source>In IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05)</source>
          , pages
          <fpage>145</fpage>
          -
          <lpage>152</lpage>
          ,
          <year>Sept 2005</year>
          . doi:
          <volume>10</volume>
          .1109/VLHCC.
          <year>2005</year>
          .
          <volume>11</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <given-names>C.</given-names>
            <surname>Ptolemaeus</surname>
          </string-name>
          , editor.
          <source>System Design</source>
          , Modeling, and
          <article-title>Simulation using Ptolemy II. Ptolemy</article-title>
          .org,
          <year>2014</year>
          . URL http://ptolemy.org/books/Systems.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Sarkar</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Brown</surname>
          </string-name>
          .
          <article-title>Graphical fisheye views of graphs</article-title>
          .
          <source>In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</source>
          , pages
          <fpage>83</fpage>
          -
          <lpage>91</lpage>
          . ACM,
          <year>1992</year>
          . ISBN 0-89791- 513-5. doi: http://doi.acm.
          <source>org/10</source>
          .1145/142750.142763.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>C. D. Schulze</surname>
          </string-name>
          and R. von Hanxleden.
          <article-title>Automatic layout in the face of unattached comments</article-title>
          .
          <source>In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'14)</source>
          , Melbourne, Australia,
          <year>July 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>C. D. Schulze</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Lasch</surname>
          </string-name>
          , and R. von Hanxleden.
          <article-title>Label management: Keeping complex diagrams usable</article-title>
          .
          <source>In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'16)</source>
          ,
          <year>2016a</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>C. D. Schulze</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Plo¨ ger, and</article-title>
          R. von Hanxleden.
          <article-title>On comments in visual languages</article-title>
          .
          <source>In Proceedings of the 9th International Conference on the Theory and Application of Diagrams (DIAGRAMS'16)</source>
          ,
          <year>2016b</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <given-names>K.</given-names>
            <surname>Sugiyama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tagawa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Toda</surname>
          </string-name>
          .
          <article-title>Methods for visual understanding of hierarchical system structures</article-title>
          .
          <source>IEEE Transactions on Systems, Man and Cybernetics</source>
          ,
          <volume>11</volume>
          (
          <issue>2</issue>
          ):
          <fpage>109</fpage>
          -
          <lpage>125</lpage>
          , Feb.
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <given-names>S. H.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Marinov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Tan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G. T.</given-names>
            <surname>Leavens</surname>
          </string-name>
          . @tComment:
          <article-title>Testing Javadoc comments to detect comment-code inconsistencies</article-title>
          .
          <source>In Fifth IEEE International Conference on Software Testing, Verification and Validation</source>
          , pages
          <fpage>260</fpage>
          -
          <lpage>269</lpage>
          ,
          <year>April 2012</year>
          . doi:
          <volume>10</volume>
          .1109/ICST.
          <year>2012</year>
          .
          <volume>106</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>R. von Hanxleden</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Duderstadt</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Motika</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Smyth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Mendler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Aguado</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Mercer</surname>
            , and
            <given-names>O. O</given-names>
          </string-name>
          <string-name>
            <surname>'Brien. SCCharts: Sequentially Constructive</surname>
          </string-name>
          <article-title>Statecharts for safety-critical applications</article-title>
          .
          <source>In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'14)</source>
          , Edinburgh,
          <string-name>
            <surname>UK</surname>
          </string-name>
          ,
          <year>June 2014</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Wertheimer</surname>
          </string-name>
          .
          <article-title>Untersuchungen zur Lehre von der Gestalt</article-title>
          . II. Psychologische Forschung,
          <volume>4</volume>
          (
          <issue>1</issue>
          ):
          <fpage>301</fpage>
          -
          <lpage>350</lpage>
          ,
          <year>1923</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>