<!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>Towards a New Generation of Software Design Environments: Supporting the Use of Informal and Formal Notations with OctoUML</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Empirical Study</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>CCS Concepts</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Rodi Jolak, Boban Vesin, Marcus Isaksson, Michel R. V. Chaudron Joint Department of Computer Science and Engineering Chalmers University of Technology and Gothenburg University Gothenburg</institution>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Software architects seek e cient support for planning and designing models. Many software design tools lack exibility in combining informal and formal design. In this paper, we present OctoUML, a proof of a concept of a new generation software design environment that supports an e ective software design process. The system provides options for collaborative software design and di erent input methods for creation of software models at various levels of formality. The design and architecture of OctoUML are also presented. The evaluation shows that OctoUML provides a user-friendly environment and has the potential to e ectively support the activities of the designers.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        As software systems are gaining increased complexity, the
importance of e cient software design tools is also
increasing. Software models change frequently and are quite often
updated by many designers simultaneously [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. These
models should present a description of systems at multiple levels
of abstraction and from di erent perspectives. Therefore, it
is crucial to provide software design tooling that provides
possibilities for e cient and collaborative development as
well as options for creation and evolution of software
models and architectures.
      </p>
      <p>
        Sketches, or depictive expressions of ideas, pre-date
written languages by thousands of years [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Many designers
tend to sketch their initial ideas on the whiteboard [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
These sketches present an intuitive way to prototype,
communicate and record their thoughts. Sketches can facilitate
discovery of new objects and foster new design ideas [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
They e ectively support the process of software design and
serve designers to inspect and develop one design idea as
well as re ect on some other alternatives [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        On the one hand, whiteboards are commonly used for
sketching initial software design, quite often by many
people simultaneously [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. They support informal design and
do not constrain the notation being used. However,
standard whiteboards lack of integration with subsequent
software elaboration tools. Hence, re-modelling is di cult and a
time-consuming task. On the other hand, CASE tools (e.g.
StarUML, Rational Rose, Enterprise Architect, etc.)
provide means to store and modify designs. However, they
support one or more formal notations and hence restrictively
require designers to use those speci c notations for modelling.
Actually, designers often sketch and use ad hoc notations
that rarely adhere to standards like the Uni ed Modelling
Language UML [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        In previous work, we presented our vision on a new
generation of software design environments [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. One of the
characteristics which we proposed for such environments is
that they should be capable of supporting both informal
and formal modelling. In other words, they would combine
the advantages of both whiteboards and CASE tools, and
therefore be able to bridge the gap between early design
process (when designers often sketch their ideas) and
formalization/documentation process. To realize our vision, we
developed a software design environment called OctoUML1
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. This environment can be run using a number of input
devices ranging from desktop computers over large
touchscreens to large electronic whiteboards. It allows
simultaneous creation of both informal freehand sketches (using
ngers or styluses) and formal computer-drawn notations,
e.g., UML class diagrams. We have enriched our tool with
some features, functionalities and services in order to
support designers' activities and provide a practical and
inspiring user experience. Further details on these aspects will
be described in Section 3. To assess our concept, we asked
some subjects to evaluate OctoUML and give feedback on
its usability. The following questions are addressed:
Does our tool provide a usable environment
considering issues like ease of use, e ciency and user
satisfaction?
      </p>
    </sec>
    <sec id="sec-2">
      <title>1demo video: https://goo.gl/PmuUf8</title>
      <p>Does support for mixing informal and formal notation
better support the software design process?</p>
      <p>This paper is organized as follows: section two describes
the related work. Illustration of our approach for supporting
exploratory and collaborative software design is presented in
section three. We provide the design architecture details of
OctoUML in section four. Evaluation and results are
presented in section ve. We discuss the results in section six.
Threats to validity are presented in section seven. Finally,
we conclude the paper and illustrate our plan for future work
in section eight.</p>
      <sec id="sec-2-1">
        <title>RELATED WORK</title>
        <p>
          CASE tools support software development activities such
as diagramming, code generating and documentation [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
However, software designers consider such formal tools overly
restrictive and limitative of their expressiveness [
          <xref ref-type="bibr" rid="ref5 ref8 ref9">5, 8, 9</xref>
          ].
Whiteboards are rather simple to use. In fact, they are
frequently used by software designers due to their role in
promoting creativity, idea generation and problem solving
[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Electronic whiteboards provide the perspective for
better software design support by permitting the management,
control and maintenance of the contents [
          <xref ref-type="bibr" rid="ref12 ref5">12, 5</xref>
          ].
        </p>
        <p>
          Mangano et al. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] identi ed some behaviors that occur
during informal design. In particular, designers sketch
different kind of diagrams (e.g. box and arrow diagrams, UI
mockups, generic plots, owcharts, etc.) and use impromptu
notations in their designs. The authors implemented an
interactive whiteboard system (called Calico) to support these
behaviors and identi ed some ways where interactive
whiteboards can enable designers to work more e ectively.
        </p>
        <p>
          Wuest et al. [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] stated that software engineers often use
paper and pencil to sketch ideas when gathering
requirements from stakeholders, but such sketches on paper often
need to be modelled again for further processing. A tool,
FlexiSketch, was prototyped by them to combine freeform
sketching with the ability to annotate the sketches
interactively for an incremental transformation into semi-formal
models. The users of FlexiSketch were able to draw
UMLlike diagrams and introduced their own notation. They were
also able to assign types to drawn symbols. Users liked the
informality provided by the tool, and stated that they would
be willing to adopt it in practice.
        </p>
        <p>
          Chen et al. have developed SUMLOW [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], a
sketchingbased UML design tool for electronic whiteboard
technology. It allows the preservation of hand-drawn diagrams and
supports the manipulation of them using pen-based actions.
UML sketches can be formalized and exported to a 3rd party
CASE tool.
        </p>
        <p>
          Damm et al. [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] conducted user studies in order to
understand the practice of software modelling. They observed
that designers alternate between whiteboards and CASE
tools, extend the semantics of the notations to support the
design activities and allow expressiveness, sketch new ideas
informally, and actively collaborate when they work in teams.
The authors considered that a usable modelling tool should
be designed to come across the aforementioned observed
behaviours. They developed a tool called Knight. Knight
supports informal and formal modelling using gestures on an
electronic whiteboard. In order to achieve intuitive
interaction, Knight uses composite gestures and eager recognition
of hand-drawn elements. Damm et al. showed that informal
drawings were temporary and usually erased after producing
the formal diagram.
        </p>
        <p>
          Magin and Kopf [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] created a multi-touch based system
allowing users to collaboratively design UML class diagrams
on touch-screens. They have also implemented a new
algorithm to recognize the gestures drawn by the users and
to improve the layout of the diagrams. However, their tool
does not allow for informal freehand sketching of arbitrary
notations.
        </p>
        <p>
          Baltes and Diehl [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] examined the usage of sketches in
software engineering activities by conducting an exploratory
study in software companies. The results showed that the
majority of the sketches were informal, and the purposes
of sketches were related to modelling, explaining or
understanding. Baltes and Diehl also revealed that the sketches
were archived digitally for re-visualization and future use.
Like us, they think software design tools should enable
informal design sketching.
3.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>APPROACH</title>
        <p>Our motivation for creating OctoUML is to provide a more
intuitive, inspiring and e cient tool to support exploratory
and collaborative software design. Key innovations of our
approach are: (i) enabling users to create and mix both
informal hand-drawn sketches and formal computer-drawn
notations at the same time on the same canvas, (ii) providing
a selective recognition mechanism that is used to transform
hand-drawn sketches into formalized contents, and (iii)
enabling of multi-user support on a single input device. In the
next subsections, we describe those novel aspects in more
detail. Table 1 shows the di erences between our approach
and the related work.</p>
        <p>Tool
Flexisketch
SUMLOW
Knight
Calico
OctoUML</p>
        <p>Notation : Informal(IF)/Formal(F)</p>
        <p>IF (hand-drawn)
IF and F, but not simultaneously
IF and F, but not simultaneously</p>
        <p>IF (hand-drawn)
mix of IF and F (simultaneously)</p>
        <p>Recognition
predict symbols based
on incremental learning
holistic recognition
eager recognition
beauti cation of shapes
selective recognition</p>
        <p>Multi-touch</p>
        <p>N/A
N/A
N/A
N/A
enabled</p>
        <p>Designers extend formal notations in order to explain
their ideas to others.</p>
        <p>
          Whiteboards support informal design by ensuring the users
a total freedom in creating and using a variety of modelling
notations. For example, informal hand-drawn sketches can
be used to express abstract ideas representationally, allow
checking the entirety and the internal consistency of an idea
as well as facilitate the development of new ideas [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
Informal sketches, as well as various informal tools are used by
software developers during their work activities [
          <xref ref-type="bibr" rid="ref12 ref21 ref5">5, 12, 21</xref>
          ].
However, some tasks like model transfer and persistence are
di cult and require a redundant work by re-drawing the
design solution using a Computer-Aided Software Engineering
(CASE) tool. CASE-tools provide a limited set of
modelling notations, hence restrict designers' expressiveness by
imposing the notation that can be used. Modelling tools
should be holistic in order to support software designer's
imagination and creativity. To that end, our tool allows a
simultaneous creation of both informal and formal notations
on the same canvas. The informal notations can be created
using free-hand sketches, while the formal notations can be
either hand-drawn following a speci c syntax or created
using computer-drawn ready-to-use elements available in the
menu. At the moment, and for the creation of formal
elements, our tool mainly supports UML class diagrams, but
in the future we aim to support other types of UML
diagrams. Figure 1 illustrates the main canvas of our tool. It
shows how our tool allows the combination of informal and
formal notations on the same canvas. Moreover, it shows
how designers can transform the notations from one state to
another i.e. from informal to formal and vice versa.
3.2
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Recognition</title>
        <p>
          Walny et al. [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] demonstrated that sketches have a
lifecycle. In particular, a sketch starts as an informal
representation of one idea and later on ends up having a formal
representation. To facilitate that process as well as support
tasks like: model transfer to third-party CASE tools, code
generation and model documentation, our tool supports the
transformation of UML hand-drawn elements to formalized
computer-drawings and vice versa at any time during the
modelling sessions. This has been made available using
PaleoSketch, a primitive sketch recognition system [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. There
are two aspects that favor the exibility and elasticity of the
recognition process. Firstly, we allow users to select what
they want to recognize in advance. Secondly, users can use
undo/redo commands in order to move easily between the
two forms; sketchy and formal.
3.3
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Layering and Multi-touch</title>
        <p>
          Having been inspired by the recent version of the Altova
UModel tool 2, we decided to equip our tool with a layering
mechanism. In particular, the software design is part of one
layer which we call the formal layer. While another layer, the
informal layer, contains the informal sketchy elements e.g.
hand-written comments, illustrative drawings, highlighting
arrows or circles, etc. The user can then select to see
combined layers or layers in isolation. A key advantage of such
layers is that they allow the isolation of informal and
formal elements. As a consequence, designers will be able to
move and edit the content of each layer independently
without disturbing the rest of the design. For instance, users
might want to archive, print or share the formal designs
without including the sketchy elements. In that case, the
formal layer can be a solution for them. On the other hand,
having the two layers combined could help reveal some
existing ambiguities in diagrams as well as give more insights
to increase one's understanding of concepts, mainly, during
diagram reviewing cycles. Baltes and Diehl stated that quite
often two or more people are involved in sketching when the
whiteboard is used as a medium [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. We enabled our tool
to support multi-touch. Multi-touch is an interaction
technique that permits the manipulation of graphical entities
with several ngers at the same time. This option allows
concurrent collaborative modelling. In particular, it enables
two or more designers to simultaneously work on the same
canvas of the same device, especially when the device is an
interactive whiteboard or a large touch screen.
3.4
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>Other features</title>
        <p>CASE tools are better than whiteboards when we
consider some aspects such as undo/redo and re-sizing utilities.
For that, we enabled our tool to support the aforementioned
features in order to allow designers to easily correct mistakes
and have liberty to change the size of the elements.
Sometimes designers complain about the limited size of tools'
modelling space or canvas which may not be enough to
capture all their design ideas. To overcome this inconvenience,
the drawing canvas of our tool supports panning and
zooming in/out actions. Panning allows users to drag the canvas
in all directions in order to nd more space for their designs.
In addition, zooming helps to change the scale of the
canvas, hence to enhance the visibility and readability of the
designs.
4.</p>
      </sec>
      <sec id="sec-2-6">
        <title>DESIGN</title>
        <p>In this section we present the current architecture of
OctoUML. The architecture is organized in a way to e ectively
t with complex business work- ows, data, and security
needs as well as to allow for future integration of di erent
modules and other enterprise applications.</p>
        <p>The key architectural components of OctoUML are
presented in Figure 2. The environment contains three major
components: UI component, Data cloud and Services. The
current version of the system o ers only the UI and data
cloud components. Additional services will be added during
future development.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>2http://www.altova.com/umodel.html</title>
      <p>UI component consists of two separated but interconnected
parts: Presentation manager and Input unit. The
Presentation manager provides means for performing stylus or
touchbased input commands on devices being used. Drawing
layers include support for both informal and formal modelling
layers. Depending on the chosen layer, users are presented
with an appropriate toolbar. The Command tools are
responsible for transferring the inputs from users to di erent
controllers. The Graph controller allows switching between
di erent input techniques as well as combining of di erent
layers. The Input unit is responsible for processing di erent
inputs. In particular, a Sketch recognizer is provided to
recognize and transform informal models into formal concepts,
and hence allows to maintain and transfer the designs for
further processing tasks. A Multi-touch controller captures
and coordinates the inputs from di erent touch-points. All
the program data are saved and stored in the Data cloud.
Our tool uses a set of data structures to manage and
maintain the sketched elements, formalized designs, and session
control for users. The modelling process and dynamic
aspects of the system are presented in Figure 3.</p>
      <sec id="sec-3-1">
        <title>EVALUATION</title>
        <p>
          In order to answer the research questions presented in
Section 1, we prepared user studies. Sixteen subjects were
engaged in a design assignment. The assignment was to
create a UML class diagram of a given scenario using our tool.
To give a global overview of the subjective assessment of our
tool's usability, we asked our subjects to answer the System
Usability Scale (SUS) questionnaire [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Furthermore, we
planned semi-structured interviews using both closed and
open questions. The interviews were held after the
completion of the design assignment. Our main concern was to get
feedback from the participants regarding their experience
in using OctoUML, so we focused on qualitative data more
than quantitative data. We followed the grounded theory
methodology [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], and used NVivo3 in the qualitative data
analysis process. More details together with the results are
reported in the following subsections.
5.1
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Participants and Modelling Expertise</title>
        <p>Sixteen software engineering students and researchers were
involved in doing the assignment and subsequently the
interviews. In particular, there were four master students,
ten PhD students and two post-doctoral researchers. Five
participants have an experience in industry for some period
of time. Twelve people worked on the design task in pairs,
while the rest worked individually. Overall, the participants
are experts in software modelling and have some experience
in using UML. In fact, nine participants claimed to have high
expertise in software modelling, ve have a moderate
expertise, while only two have low expertise. All participants
believe that software design is a critical task for successful
software development and evolution. In previous occasions,
all but one participant did software modelling with other
people in teams (collaborative modelling). The participants
have a practical experience with a variety of modelling tools.
These tools range from whiteboards, pen&amp;paper to CASE
tools like Enterprise Architect, Visual Paradigm, Dia,
ArgoUML and Papyrus.
5.2</p>
      </sec>
      <sec id="sec-3-3">
        <title>Design Task</title>
        <p>We formulated a simple design problem, and asked the
participants to design a domain model class diagram
solution of it using OctoUML. Before starting with the task, we
gave the participants a brief introduction regarding the
features and functionalities of our tool. We directly observed
the design processes and took notes. When the participants
asked some speci c questions about the design assignment,
we told them that it is up to their interpretation. They
could, however, ask questions concerning the design
environment e.g. how to use certain tools. The participants</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3http://www.qsrinternational.com/</title>
      <p>did not get any help unless they asked for it. An
interactive whiteboard was chosen as an input medium, and the
design sessions were video-recorded. The text of the design
assignment is presented in the following paragraph.</p>
      <p>E-Learning System. The system is used by teachers,
students and an administrator (who is also a teacher). One
teacher is responsible for many courses. Consider that courses
consist of many topics. Students can enroll into di erent
courses. There is a news section within the system.
Teachers add news for a speci c course and the students can read
them. Every course ends with an evaluation test. Teachers
create a test and the students have to do it. The students
get one of these grades: fail, pass, good, or very good.
5.2.1</p>
      <sec id="sec-4-1">
        <title>Design Task Observations</title>
        <p>While carrying out the design task, the participants were
observed in order to understand their activities. This was
done in two di erent ways: First, we directly observed the
behaviour of the participants as they were performing the
task and took notes. Second, the participants were recorded
via a digital video-camera. This let us observe their
behaviour indirectly through records of the task. The notes
which we took were expanded by transcribing elements of
the video recordings. At the beginning of the task the
participants spent around one minute reading the assignment,
then they proceeded with designing the solution. While
carrying out the design task, some participants rst created
many UML classes then they associated them with di
erent kind of relations. Other participants followed another
strategy by creating two classes in the rst place, then, they
de ned the relation between the two classes before
continuing to create other UML classes. Even when two people
were working on the same design at the same time, they
rarely interacted with the e-whiteboard at the exact same
time. Most of the participants tended to create the classes
sequentially, and they discussed the properties of one class
before proceeding with the creation of another class.
Furthermore, they often divided the work between themselves,
e.g. one was interacting with the tool to create classes, and
the other one was reading the assignment as well as
providing ideas for the solution. The participants were given
a brief introduction about functionalities of the tool.
Nevertheless, during the design task, some of the participants
were confused and hesitant about using some features
being provided by our tool. This was actually observable at
the beginning of the task, but seemed to be overcome later
on. In fact, the participants became more con dent as they
were gradually and progressively interacting with the tool.
Moreover repeating some actions, such as selection and
creation of classes, let them in some manner experience our
environment' functionalities.
5.3</p>
        <sec id="sec-4-1-1">
          <title>SUS Questionnaire</title>
          <p>
            The System Usability Scale is an easy, standard way of
evaluating the usability of a system [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. It is a form
containing ten statements, and users provide their feedback on a
5-point scale (1 is strongly disagree and 5 is strongly agree).
It e ectively di erentiates between usable and unusable
systems by giving a measure of the perceived usability of a
system. It can be used on small sample sizes and be fairly
con dent of getting a good usability assessment [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ]. The
participants were given the forms directly after they nished
with the design task. We considered the SUS score as a
\preliminary feedback" on the usability of our tool. However, in
order to consolidate the current ndings, more people will
be involved in testing our tool and answering the SUS
questionnaire.
5.3.1
          </p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>SUS Result</title>
        <p>
          All sixteen participants lled out the SUS questionnaire.
We calculated the SUS score reported by each participant.
After that, we calculated the average of the usability values
of all participants to obtain the overall OctoUML usability
score4. The lowest score was 65 and the highest was 95,
with an average score of 78.75. It falls at around the 80th
percentile, and would result in a grade of a \B" which is a
high usability score according to [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
5.4
        </p>
        <sec id="sec-4-2-1">
          <title>Interviews</title>
          <p>After answering the SUS questionnaire, each participant
was involved in a semi-structured interview. The
conversations were recorded using a digital voice recorder. The
interviewers took some notes which were expanded afterwards
by transcribing the audio recordings. Both closed and open
questions were used, and respondents' answers were
quantitatively and qualitatively analyzed.
5.4.1</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Interviews’ Results</title>
        <p>Several threads run through the interviews. Such threads
are categorized as themes and reported subsequently.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4https://goo.gl/uwlwIp</title>
      <p>5.4.1.1 Tool Usability
Ease of Use. All participants pointed out that our tool is
intuitive, simple and easy to use.</p>
      <p>\Easy to get started with, I do not have to
understand the UML-standard ", \It's simple to use",
\Easy to change things"
Learn-ability. The participants also stated that the tool is
easy to understand and learn.</p>
      <p>\easy to understand ", \Easy to grasp what is what ",
\Intuitive for the most part ", \So easy to learn"
E ciency. We let our environment inherit the uidity and
immediacy of a standard whiteboard. Furthermore, we wanted
to maintain the recognition process to be as smooth and fast
as possible. Some participants were impressed by the uidity
and immediacy of our tool in drawing and creating notations
as well as in recognizing the sketchy elements.</p>
      <p>\Very quick to draw classes and associations
compared to CASE tools", \Very smooth and quick
recognition"
Satisfaction. The basic functions of our tool met the
expectations of most of the participants. Overall, the participants
liked our tool. Two participant highlighted the eligibility of
our tool in collaborative team modelling. One participants
stated that he likes the \selective recognition" mechanism.
\Very straightforward once you get used to it ",
\It is really good for team design", \Nice that you
select what to recognize"
However, some challenges in tool usability were identi ed.
one participant asked for more exible switching between
informal and formal input modes .</p>
      <p>\I did not like how I switch between input modes "
Some of the participants did not like the manner by which
the elements are being selected i.e. by activating a dedicated
button.</p>
      <p>\Should select by just clicking on element without
selecting the selection tool rst "
One participant stated that \typing-in" classes name and
their properties using the virtual keyboard was inconvenient
task due to the time that it takes, and asked us to nd a
better solution.</p>
      <p>\Typing-in is a bit slow "
We previously mentioned that our tool mainly supports UML
class diagrams when creating formal \computer-drawn"
elements. Some participants expressed the need of being able
to create other types of UML diagrams as well as having
more tool options.</p>
      <p>\I want more features, options, more types of
diagrams"
We consider those challenges, hence they will be used
together with the overall feedback of the users as a basis for
future improvement of our tool.</p>
      <p>5.4.1.2 Informal and Formal Notation
There was a strong belief among the participants (12 people
agreed, 2 were undecided and 2 disagreed) that informal
notations (i.e. sketches) support the formal design. Sketches
can be used to interconnect di erent components
\de ne the components involved and the
interactions among them".</p>
      <p>Sketches are valuable artefacts beyond being just explorative
drawings</p>
      <p>\obtain a formal document, not just a sketch ".</p>
      <p>There was also a strong belief among participants (11
people agreed, 2 were undecided and 3 disagreed) that having
sketches beside the formal design can allow for a better
expression of ideas
\map out the domain of the functionality and
make sure everyhting is been covered ", \get an
idea of how things t together ".</p>
      <p>Eleven people claimed that sketches can enhance the
understandability and readability of the formal designs
\it is mostly for myself to get a clear
understanding", \it is helpful to make you understand what
you are gonna build "
On the other hand, one person said that having sketches
beside the formal design could complicate the diagram
\No, sketching will introduce complexity ".</p>
      <p>Half of the participants think that being able to sketch
beside creating formal designs in one tool can replace the need
of sketching on a whiteboard or a paper.</p>
      <p>\Yes, you could perform all the functions that you
can do on standard whiteboard. Be able to quickly
show ideas, and you do not have to take pictures
of the whiteboard ".</p>
      <p>While some participants claim that still people will not stop
using standard whiteboards as well as pen and paper. The
dependency on such tools, as the participants argued, arises
from their immediacy and ease of use as well as being at
easy disposal.</p>
      <p>\No, because you will never remove the paper from
o ces", \right now still very dependent on paper "
Sketching down thoughts and ideas on paper or whiteboard
when designing software is a common behaviour when
designing software. In fact, all participants do sketches to some
degree. Some participants mentioned that it depends on the
complexity of the problem</p>
      <p>\I do not sketch when it comes to simple stu ".</p>
      <p>According to the participants' responses, the main purposes
of sketching are to:
i) understand problems and start to explore solutions
\to de ne the components involved and the
interactions among them", \start putting the
solution together "
ii) brainstorm as well as explore ideas
\to brainstorm", \to facilitate how to express
our ideas", \to visualise what is in my head ".
iii) communicate and discuss their ideas
\give an explanation for other people about
the system or a speci c problem",
\communication of ideas in teams".</p>
      <sec id="sec-5-1">
        <title>DISCUSSION</title>
        <p>Before starting with the design task, the participants were
given a short introduction about our environment and its
functions. However, while we were observing the
participants creating their designs, we noticed that they were not
very inclined to use the sketching feature which was
illustrated during the short introduction. In fact, only six (out
of sixteen) participants used the sketching feature. We think
that the time of the introduction part was most likely not
enough to make the participants feel comfortable in using
free-hand sketches. Furthermore, the design problem that
we have chosen for the design task was simple and easy to
solve. We tried to simplify it as much as possible to make
it solvable in a short time. We believe that the simplicity
of the design task could have defeated the need of sketching
it up. The participants could easily get a good grasp of the
design task simply by reading it. However when we did the
interviews, the majority of the participants did agree that
being able to mix informal and formal notations could
support the design process and ow, thus could bridge the gap
between the process of prototyping ideas on a paper and the
process of entering a formalized version of such ideas in a
CASE-tool. Next, we discuss the research questions based
on our interpretation of the results.</p>
        <p>RQ.1 Does our tool provide a usable environment
considering issues like ease of use, e ciency and user
satisfaction?</p>
        <p>OctoUML is designed to o er a usable interactive
environment. First we focused on understanding some common
practice activities that occur during software modelling
sessions. Then, we tried to consider and adopt some novel
interaction modalities which could interactively support the
design process. The interviews' results show that the
current version of our tool is easy to learn, e ective to use, and
provides an enjoyable user experience. Moreover, the
results that we got from the SUS questionnaire on the
usability of our tool consolidate the previous ndings. Of course
these results hold only for the device which is used as an
input medium, the interactive whiteboard. Other media
like tablets and standard PCs have di erent characteristics.
Tablets have a smaller interaction interface when compared
to interactive whiteboards, and this could raise some
usability challenges. To assess these challenges further tests on
di erent input media are required. On the other hand, our
tests revealed some usability challenges related to our
system. The main issue is the selection tool. The participants
had to click on a speci c button to activate the selection
mode. According to some participants, that was not a
userfriendly choice. Moreover, we asked the participants for their
opinion about some new interaction techniques that could be
adopted by our environment in the future. These techniques
were appreciated by the participants and are discussed in the
conclusion and future work section.</p>
        <p>
          RQ.2 Does support for mixing informal and formal
notation better support the software design process?
In practice, software systems are becoming more and more
complex, and the design of complex systems needs more
effort and hence more sophisticated designing tools. In such
cases, having the possibility to use informal notations
beside the formal ones can better support designers' activities
in understanding the problems, exploring solutions,
brainstorming and communicating ideas. This is in line with the
study of Mangano et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. They stated that informal
notations, i.e. sketches, allow software designers to discuss
design alternatives as well as mentally simulate the behaviour
of complex systems.
        </p>
        <p>Apart from the fact that our subjects did not sketch
informal elements frequently, the majority of them think that
being able to simultaneously create sketches and formal
designs in one design environment could support the design
process. Indeed, software designers often sketch their
earlydesign ideas on a paper. However, when they want to
preserve the design, they do a redundant work by re-drawing
the solution using CASE-tools. Furthermore, they may
forget to include some sketched ideas in the design
formalization process.</p>
        <p>There was a strong belief among the interviewees that
having the possibility to create informal elements, i.e. sketches,
assists the process of ideas expression and enhance the
understandability of formal designs. The informal notations
can be used both in brainstorming sessions and while
creating the formal design. In the former case, they are used
for design exploration and can be volatile. While in the
latter case, the informal elements could be used to sustain
and describe a speci c design problem as well as support
the formal design in conveying and reinforcing the
information that they carry. Informal sketches, for example, may
have a very close mapping to the problem domain. As a
result, they could be valuable artefacts beyond being just
explorative means.
7.</p>
      </sec>
      <sec id="sec-5-2">
        <title>THREATS TO VALIDITY</title>
        <p>Construct Validity. The design task was simple, speci c
and easy to do. Moreover, it is relatively small compared to
real world design problems. This might limit the creativity
of the designers as well as in uence the amount of discussions
and usability interactions. However, during the interviews,
we asked the participants to give their general opinion about
the e ciency of our tool when it comes to handling di erent
design problems that vary in size and complexity.</p>
        <p>Internal Validity. None of our subjects was familiar with
our tool and its functions. To mitigate this, we gave the
participants a short introduction explaining the features of
the tool. Moreover, during the interviews, the participants
might want to please the interviewers by giving them a
positive feedback. To mitigate this, we asked the participants
to answer the SUS questionnaire which allowed them to give
feedback anonymously.</p>
        <p>External Validity. The participants being involved in both
the design task and the interviews may not represent the
general population of software designers. This could threaten
the generality of the results. However we involved people
with di erent backgrounds, modelling expertise and
academical degrees.</p>
      </sec>
      <sec id="sec-5-3">
        <title>CONCLUSION AND FUTURE WORK</title>
        <p>Currently, most CASE-tools are modelling (or even
diagramming) tools. Indeed, they lack support for the
majority of design activities in which developers are engaged.
In this paper, we presented a proof of concept of a new
generation software design environment. Basically, our tool
allows for simultaneous creation of both informal freehand
sketches and formal computer-drawn notations. The users
of OctoUML can create software designs by performing
simple intuitive touch gestures. Moreover, they can manipulate
the graphical entities with several ngers at the same time
thanks to the multi-touch technology being adopted by our
system. Furthermore, OctoUML supports the
transformation of models from informal to formal at any time during
the design sessions. We evaluated our tool by conducting
user studies. The results show that OctoUML, as perceived
by our subjects, provides a usable environment in terms of
ease of use, e ciency and user satisfaction. Moreover, it
seems that giving the possibility to create informal and
formal notations in one software design environment could
support both the design process and its ow.</p>
        <p>
          Future Work. We will continue to realize our vision [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] of
a new generation of software design environment. OctoUML
will be equipped with microphones to record the spoken
discussions, and a recognition system will be provided to
interpret users' voice commands. To open up new opportunities
for remote interactive collaborative design, our tool will be
enabled to support remote collaborative sessions between
geographically distributed teams as well as in class room
environment between students and teachers. We also aim
to integrate OctoUML with other software engineering tools
to provide e ective support for di erent development tasks
(e.g. requirements gathering, testing, coding and
versioning) and analysis tasks (e.g. performance).
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Baltes</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Diehl</surname>
          </string-name>
          .
          <article-title>Sketches and diagrams in practice</article-title>
          .
          <source>In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering</source>
          , pages
          <volume>530</volume>
          {
          <fpage>541</fpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Brooke</surname>
          </string-name>
          et al.
          <article-title>Sus-a quick and dirty usability scale</article-title>
          .
          <source>Usability evaluation in industry</source>
          ,
          <volume>189</volume>
          (
          <issue>194</issue>
          ):
          <volume>4</volume>
          {
          <issue>7</issue>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Chaudron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Heijstek</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Nugroho</surname>
          </string-name>
          . How e ective is uml modeling?
          <source>Software &amp; Systems Modeling</source>
          ,
          <volume>11</volume>
          (
          <issue>4</issue>
          ):
          <volume>571</volume>
          {
          <fpage>580</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Chaudron</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Jolak</surname>
          </string-name>
          .
          <article-title>A vision on a new generation of software design environments</article-title>
          .
          <source>In First Int. Workshop on Human Factors in Modeling (HuFaMo</source>
          <year>2015</year>
          ).
          <source>CEUR-WS</source>
          , pages
          <volume>11</volume>
          {
          <fpage>16</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Grundy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Hosking</surname>
          </string-name>
          .
          <article-title>An e-whiteboard application to support early design-stage sketching of uml diagrams</article-title>
          .
          <source>In Human Centric Computing Languages and Environments</source>
          ,
          <year>2003</year>
          . Proceedings.
          <source>2003 IEEE Symposium on</source>
          , pages
          <volume>219</volume>
          {
          <fpage>226</fpage>
          . IEEE,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cherubini</surname>
          </string-name>
          , G. Venolia,
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>DeLine, and</article-title>
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Ko</surname>
          </string-name>
          .
          <article-title>Let's go to the whiteboard: how and why software developers use drawings</article-title>
          .
          <source>In Proceedings of the SIGCHI conference on Human factors in computing systems</source>
          , pages
          <volume>557</volume>
          {
          <fpage>566</fpage>
          . ACM,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>Corbin</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Strauss</surname>
          </string-name>
          .
          <article-title>Basics of qualitative research: Techniques and procedures for developing grounded theory</article-title>
          .
          <source>Sage publications</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Damm</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. M. Hansen</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Thomsen</surname>
          </string-name>
          .
          <article-title>Tool support for cooperative object-oriented design: gesture based modelling on an electronic whiteboard</article-title>
          .
          <source>In Proceedings of the SIGCHI conference on Human Factors in Computing Systems</source>
          , pages
          <fpage>518</fpage>
          {
          <fpage>525</fpage>
          . ACM,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Iivari</surname>
          </string-name>
          .
          <source>Why are case tools not used? Communications of the ACM</source>
          ,
          <volume>39</volume>
          (
          <issue>10</issue>
          ):
          <volume>94</volume>
          {
          <fpage>103</fpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Jolak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Vesin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. R. V.</given-names>
            <surname>Chaudron</surname>
          </string-name>
          . Octouml:
          <article-title>An environment for exploratory and collaborative software design</article-title>
          .
          <source>In 39th Int. Conference on Software Engineering. ICSE'17</source>
          , page in print,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Magin</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Kopf</surname>
          </string-name>
          .
          <article-title>A collaborative multi-touch uml design tool</article-title>
          .
          <source>Technical reports</source>
          ,
          <volume>13</volume>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>N.</given-names>
            <surname>Mangano</surname>
          </string-name>
          , T. D. LaToza, M. Petre,
          <article-title>and</article-title>
          <string-name>
            <surname>A. van der Hoek.</surname>
          </string-name>
          <article-title>Supporting informal design with interactive whiteboards</article-title>
          .
          <source>In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</source>
          , pages
          <fpage>331</fpage>
          {
          <fpage>340</fpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>N.</given-names>
            <surname>Mangano</surname>
          </string-name>
          , T. D. LaToza, M. Petre,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. Van Der</given-names>
            <surname>Hoek</surname>
          </string-name>
          .
          <article-title>How software designers interact with sketches at the whiteboard</article-title>
          .
          <source>Software Engineering</source>
          , IEEE Transactions on,
          <volume>41</volume>
          (
          <issue>2</issue>
          ):
          <volume>135</volume>
          {
          <fpage>156</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>Paulson</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Hammond</surname>
          </string-name>
          .
          <article-title>Paleosketch: accurate primitive sketch recognition and beauti cation</article-title>
          .
          <source>In Proceedings of the 13th international conference on Intelligent user interfaces</source>
          ,
          <source>pages</source>
          <volume>1</volume>
          {
          <fpage>10</fpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Petre</surname>
          </string-name>
          .
          <article-title>Uml in practice</article-title>
          .
          <source>In Proceedings of the 2013 International Conference on Software Engineering</source>
          , pages
          <volume>722</volume>
          {
          <fpage>731</fpage>
          . IEEE Press,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sauro</surname>
          </string-name>
          .
          <article-title>A practical guide to the system usability scale: Background, benchmarks &amp; best practices</article-title>
          . Measuring
          <string-name>
            <surname>Usability</surname>
            <given-names>LLC</given-names>
          </string-name>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T. S.</given-names>
            <surname>Tullis</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. N.</given-names>
            <surname>Stetson</surname>
          </string-name>
          .
          <article-title>A comparison of questionnaires for assessing website usability</article-title>
          .
          <source>In Usability Professional Association Conference</source>
          , pages
          <volume>1</volume>
          {
          <fpage>12</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>B.</given-names>
            <surname>Tversky</surname>
          </string-name>
          .
          <article-title>What do sketches say about thinking</article-title>
          .
          <source>In 2002 AAAI Spring Symposium</source>
          , Sketch Understanding Workshop, Stanford University,
          <source>AAAI Technical Report SS-02-08</source>
          , pages
          <fpage>148</fpage>
          {
          <fpage>151</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>B.</given-names>
            <surname>Tversky</surname>
          </string-name>
          .
          <article-title>Visualizing thought</article-title>
          .
          <source>Topics in Cognitive Science</source>
          ,
          <volume>3</volume>
          (
          <issue>3</issue>
          ):
          <volume>499</volume>
          {
          <fpage>535</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Walny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Carpendale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. H.</given-names>
            <surname>Riche</surname>
          </string-name>
          , G. Venolia, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Fawcett</surname>
          </string-name>
          .
          <article-title>Visual thinking in action: Visualizations as used on whiteboards</article-title>
          .
          <source>Visualization and Computer Graphics</source>
          , IEEE Transactions on,
          <volume>17</volume>
          (
          <issue>12</issue>
          ):
          <volume>2508</volume>
          {
          <fpage>2517</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>J.</given-names>
            <surname>Walny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Haber</surname>
          </string-name>
          , M. Dork, J. Sillito, and
          <string-name>
            <given-names>S.</given-names>
            <surname>Carpendale</surname>
          </string-name>
          .
          <article-title>Follow that sketch: Lifecycles of diagrams and sketches in software development</article-title>
          .
          <source>In Visualizing Software for Understanding and Analysis (VISSOFT)</source>
          ,
          <year>2011</year>
          6th IEEE International Workshop on, pages
          <fpage>1</fpage>
          <article-title>{8</article-title>
          . IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>D. Wu</surname>
            est, N. Sey , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Glinz</surname>
          </string-name>
          .
          <article-title>Flexisketch: A mobile sketching tool for software modeling</article-title>
          .
          <source>In Mobile Computing, Applications, and Services</source>
          , pages
          <volume>225</volume>
          {
          <fpage>244</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>