=Paper=
{{Paper
|id=Vol-1805/Jolak2016HuFaMo
|storemode=property
|title=Towards a New Generation of Software Design Environments: Supporting the Use of Informal and Formal Notations with OctoUML
|pdfUrl=https://ceur-ws.org/Vol-1805/Jolak2016HuFaMo.pdf
|volume=Vol-1805
|authors=Rodi Jolak,Boban Vesin,Marcus Isaksson,Michel R. V. Chaudron
|dblpUrl=https://dblp.org/rec/conf/models/JolakVIC16
}}
==Towards a New Generation of Software Design Environments: Supporting the Use of Informal and Formal Notations with OctoUML==
Towards a New Generation of Software Design
Environments: Supporting the Use of Informal and Formal
Notations with OctoUML
Empirical Study
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, Sweden
{jolak,vesin,chaudron}@chalmers.se
imarcus@student.chalmers.se
ABSTRACT serve designers to inspect and develop one design idea as
Software architects seek efficient support for planning and well as reflect on some other alternatives [13].
designing models. Many software design tools lack flexibility On the one hand, whiteboards are commonly used for
in combining informal and formal design. In this paper, we sketching initial software design, quite often by many peo-
present OctoUML, a proof of a concept of a new generation ple simultaneously [1]. They support informal design and
software design environment that supports an effective soft- do not constrain the notation being used. However, stan-
ware design process. The system provides options for collab- dard whiteboards lack of integration with subsequent soft-
orative software design and different input methods for cre- ware elaboration tools. Hence, re-modelling is difficult and a
ation of software models at various levels of formality. The time-consuming task. On the other hand, CASE tools (e.g.
design and architecture of OctoUML are also presented. The StarUML, Rational Rose, Enterprise Architect, etc.) pro-
evaluation shows that OctoUML provides a user-friendly en- vide means to store and modify designs. However, they sup-
vironment and has the potential to effectively support the port one or more formal notations and hence restrictively re-
activities of the designers. quire designers to use those specific notations for modelling.
Actually, designers often sketch and use ad hoc notations
that rarely adhere to standards like the Unified Modelling
CCS Concepts Language UML [15].
•Software and its engineering → Model-driven software In previous work, we presented our vision on a new gen-
engineering; Design languages; Unified Modelling Language eration of software design environments [4]. One of the
(UML); System modelling languages; 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
Keywords the advantages of both whiteboards and CASE tools, and
Sketching; Informal and Formal Desing; Recognition; Multi- therefore be able to bridge the gap between early design
touch; Design Environment, UML process (when designers often sketch their ideas) and for-
malization/documentation process. To realize our vision, we
developed a software design environment called OctoUML1
1. INTRODUCTION [10]. This environment can be run using a number of input
As software systems are gaining increased complexity, the devices ranging from desktop computers over large touch-
importance of efficient software design tools is also increas- screens to large electronic whiteboards. It allows simulta-
ing. Software models change frequently and are quite often neous creation of both informal freehand sketches (using
updated by many designers simultaneously [3]. These mod- fingers or styluses) and formal computer-drawn notations,
els should present a description of systems at multiple levels e.g., UML class diagrams. We have enriched our tool with
of abstraction and from different perspectives. Therefore, it some features, functionalities and services in order to sup-
is crucial to provide software design tooling that provides port designers’ activities and provide a practical and inspir-
possibilities for efficient and collaborative development as ing user experience. Further details on these aspects will
well as options for creation and evolution of software mod- be described in Section 3. To assess our concept, we asked
els and architectures. some subjects to evaluate OctoUML and give feedback on
Sketches, or depictive expressions of ideas, pre-date writ- its usability. The following questions are addressed:
ten languages by thousands of years [19]. Many designers
tend to sketch their initial ideas on the whiteboard [20]. • Does our tool provide a usable environment consider-
These sketches present an intuitive way to prototype, com- ing issues like ease of use, efficiency and user satisfac-
municate and record their thoughts. Sketches can facilitate tion?
discovery of new objects and foster new design ideas [18].
1
They effectively support the process of software design and demo video: https://goo.gl/PmuUf8
• Does support for mixing informal and formal notation drawings were temporary and usually erased after producing
better support the software design process? the formal diagram.
Magin and Kopf [11] created a multi-touch based system
This paper is organized as follows: section two describes allowing users to collaboratively design UML class diagrams
the related work. Illustration of our approach for supporting on touch-screens. They have also implemented a new al-
exploratory and collaborative software design is presented in gorithm to recognize the gestures drawn by the users and
section three. We provide the design architecture details of to improve the layout of the diagrams. However, their tool
OctoUML in section four. Evaluation and results are pre- does not allow for informal freehand sketching of arbitrary
sented in section five. We discuss the results in section six. notations.
Threats to validity are presented in section seven. Finally, Baltes and Diehl [1] examined the usage of sketches in
we conclude the paper and illustrate our plan for future work software engineering activities by conducting an exploratory
in section eight. study in software companies. The results showed that the
majority of the sketches were informal, and the purposes
2. RELATED WORK of sketches were related to modelling, explaining or under-
standing. Baltes and Diehl also revealed that the sketches
CASE tools support software development activities such
were archived digitally for re-visualization and future use.
as diagramming, code generating and documentation [8].
Like us, they think software design tools should enable in-
However, software designers consider such formal tools overly
formal design sketching.
restrictive and limitative of their expressiveness [5, 8, 9].
Whiteboards are rather simple to use. In fact, they are
frequently used by software designers due to their role in 3. APPROACH
promoting creativity, idea generation and problem solving Our motivation for creating OctoUML is to provide a more
[6]. Electronic whiteboards provide the perspective for bet- intuitive, inspiring and efficient tool to support exploratory
ter software design support by permitting the management, and collaborative software design. Key innovations of our
control and maintenance of the contents [12, 5]. approach are: (i) enabling users to create and mix both
Mangano et al. [12] identified some behaviors that occur informal hand-drawn sketches and formal computer-drawn
during informal design. In particular, designers sketch dif- notations at the same time on the same canvas, (ii) providing
ferent kind of diagrams (e.g. box and arrow diagrams, UI a selective recognition mechanism that is used to transform
mockups, generic plots, flowcharts, etc.) and use impromptu hand-drawn sketches into formalized contents, and (iii) en-
notations in their designs. The authors implemented an in- abling of multi-user support on a single input device. In the
teractive whiteboard system (called Calico) to support these next subsections, we describe those novel aspects in more
behaviors and identified some ways where interactive white- detail. Table 1 shows the differences between our approach
boards can enable designers to work more effectively. and the related work.
Wüest et al. [22] stated that software engineers often use
paper and pencil to sketch ideas when gathering require- Tool Notation : Informal(IF)/Formal(F) Recognition Multi-touch
Flexisketch IF (hand-drawn) predict symbols based N/A
ments from stakeholders, but such sketches on paper often on incremental learning
need to be modelled again for further processing. A tool, SUMLOW IF and F, but not simultaneously holistic recognition N/A
Knight IF and F, but not simultaneously eager recognition N/A
FlexiSketch, was prototyped by them to combine freeform Calico IF (hand-drawn) beautification of shapes N/A
sketching with the ability to annotate the sketches inter- OctoUML mix of IF and F (simultaneously) selective recognition enabled
actively for an incremental transformation into semi-formal
models. The users of FlexiSketch were able to draw UML- Table 1: Comparison of OctoUML with some other
like diagrams and introduced their own notation. They were tools mentioned in the Related Work section
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. 3.1 Informality and Formality
Chen et al. have developed SUMLOW [5], a sketching- Based on studies done by [8, 12, 13], we report some com-
based UML design tool for electronic whiteboard technol- mon practice behaviours that occur during software mod-
ogy. It allows the preservation of hand-drawn diagrams and elling meetings:
supports the manipulation of them using pen-based actions.
UML sketches can be formalized and exported to a 3rd party • Designers combine informal and formal models.
CASE tool.
• Designers often alternate between CASE tools and white-
Damm et al. [8] conducted user studies in order to under-
boards.
stand the practice of software modelling. They observed
that designers alternate between whiteboards and CASE • Designers prefer all-purpose sketches which refer to
tools, extend the semantics of the notations to support the many scenarios over sketches dedicated to a single sce-
design activities and allow expressiveness, sketch new ideas nario.
informally, and actively collaborate when they work in teams.
• Sketches rarely follow notational convention.
The authors considered that a usable modelling tool should
be designed to come across the aforementioned observed be- • Sketches are used at different levels of abstraction.
haviours. They developed a tool called Knight. Knight sup-
• Designers sketch different types of diagrams with dif-
ports informal and formal modelling using gestures on an
ferent perspectives.
electronic whiteboard. In order to achieve intuitive interac-
tion, Knight uses composite gestures and eager recognition • Designers extend formal notations in order to explain
of hand-drawn elements. Damm et al. showed that informal their ideas to others.
undo/redo commands in order to move easily between the
two forms; sketchy and formal.
3.3 Layering and Multi-touch
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 com-
bined layers or layers in isolation. A key advantage of such
layers is that they allow the isolation of informal and for-
mal elements. As a consequence, designers will be able to
move and edit the content of each layer independently with-
Figure 1: Combination of different notations on the out disturbing the rest of the design. For instance, users
same canvas 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,
Whiteboards support informal design by ensuring the users having the two layers combined could help reveal some ex-
a total freedom in creating and using a variety of modelling isting ambiguities in diagrams as well as give more insights
notations. For example, informal hand-drawn sketches can to increase one’s understanding of concepts, mainly, during
be used to express abstract ideas representationally, allow diagram reviewing cycles. Baltes and Diehl stated that quite
checking the entirety and the internal consistency of an idea often two or more people are involved in sketching when the
as well as facilitate the development of new ideas [18]. In- whiteboard is used as a medium [1]. We enabled our tool
formal sketches, as well as various informal tools are used by to support multi-touch. Multi-touch is an interaction tech-
software developers during their work activities [5, 12, 21]. nique that permits the manipulation of graphical entities
However, some tasks like model transfer and persistence are with several fingers at the same time. This option allows
difficult and require a redundant work by re-drawing the de- concurrent collaborative modelling. In particular, it enables
sign solution using a Computer-Aided Software Engineering two or more designers to simultaneously work on the same
(CASE) tool. CASE-tools provide a limited set of mod- canvas of the same device, especially when the device is an
elling notations, hence restrict designers’ expressiveness by interactive whiteboard or a large touch screen.
imposing the notation that can be used. Modelling tools
should be holistic in order to support software designer’s 3.4 Other features
imagination and creativity. To that end, our tool allows a CASE tools are better than whiteboards when we con-
simultaneous creation of both informal and formal notations sider some aspects such as undo/redo and re-sizing utilities.
on the same canvas. The informal notations can be created For that, we enabled our tool to support the aforementioned
using free-hand sketches, while the formal notations can be features in order to allow designers to easily correct mistakes
either hand-drawn following a specific syntax or created us- and have liberty to change the size of the elements. Some-
ing computer-drawn ready-to-use elements available in the times designers complain about the limited size of tools’
menu. At the moment, and for the creation of formal ele- modelling space or canvas which may not be enough to cap-
ments, our tool mainly supports UML class diagrams, but ture all their design ideas. To overcome this inconvenience,
in the future we aim to support other types of UML dia- the drawing canvas of our tool supports panning and zoom-
grams. Figure 1 illustrates the main canvas of our tool. It ing in/out actions. Panning allows users to drag the canvas
shows how our tool allows the combination of informal and in all directions in order to find more space for their designs.
formal notations on the same canvas. Moreover, it shows In addition, zooming helps to change the scale of the can-
how designers can transform the notations from one state to vas, hence to enhance the visibility and readability of the
another i.e. from informal to formal and vice versa. designs.
3.2 Recognition 4. DESIGN
Walny et al. [21] demonstrated that sketches have a life- In this section we present the current architecture of Oc-
cycle. In particular, a sketch starts as an informal repre- toUML. The architecture is organized in a way to effectively
sentation of one idea and later on ends up having a formal fit with complex business work-flows, data, and security
representation. To facilitate that process as well as support needs as well as to allow for future integration of different
tasks like: model transfer to third-party CASE tools, code modules and other enterprise applications.
generation and model documentation, our tool supports the The key architectural components of OctoUML are pre-
transformation of UML hand-drawn elements to formalized sented in Figure 2. The environment contains three major
computer-drawings and vice versa at any time during the components: UI component, Data cloud and Services. The
modelling sessions. This has been made available using Pa- current version of the system offers only the UI and data
leoSketch, a primitive sketch recognition system [14]. There cloud components. Additional services will be added during
are two aspects that favor the flexibility and elasticity of the future development.
recognition process. Firstly, we allow users to select what
2
they want to recognize in advance. Secondly, users can use http://www.altova.com/umodel.html
Figure 2: Architectural Components of OctoUML
(currently implemented components are presented in green)
UI component consists of two separated but interconnected methodology [7], and used NVivo 3 in the qualitative data
parts: Presentation manager and Input unit. The Presenta- analysis process. More details together with the results are
tion manager provides means for performing stylus or touch- reported in the following subsections.
based input commands on devices being used. Drawing lay-
ers include support for both informal and formal modelling 5.1 Participants and Modelling Expertise
layers. Depending on the chosen layer, users are presented Sixteen software engineering students and researchers were
with an appropriate toolbar. The Command tools are re- involved in doing the assignment and subsequently the in-
sponsible for transferring the inputs from users to different terviews. In particular, there were four master students,
controllers. The Graph controller allows switching between ten PhD students and two post-doctoral researchers. Five
different input techniques as well as combining of different participants have an experience in industry for some period
layers. The Input unit is responsible for processing different of time. Twelve people worked on the design task in pairs,
inputs. In particular, a Sketch recognizer is provided to rec- while the rest worked individually. Overall, the participants
ognize and transform informal models into formal concepts, are experts in software modelling and have some experience
and hence allows to maintain and transfer the designs for in using UML. In fact, nine participants claimed to have high
further processing tasks. A Multi-touch controller captures expertise in software modelling, five have a moderate exper-
and coordinates the inputs from different touch-points. All tise, while only two have low expertise. All participants
the program data are saved and stored in the Data cloud. believe that software design is a critical task for successful
Our tool uses a set of data structures to manage and main- software development and evolution. In previous occasions,
tain the sketched elements, formalized designs, and session all but one participant did software modelling with other
control for users. The modelling process and dynamic as- people in teams (collaborative modelling). The participants
pects of the system are presented in Figure 3. have a practical experience with a variety of modelling tools.
These tools range from whiteboards, pen&paper to CASE
tools like Enterprise Architect, Visual Paradigm, Dia, Ar-
5. EVALUATION goUML and Papyrus.
In order to answer the research questions presented in 5.2 Design Task
Section 1, we prepared user studies. Sixteen subjects were
We formulated a simple design problem, and asked the
engaged in a design assignment. The assignment was to cre-
participants to design a domain model class diagram solu-
ate a UML class diagram of a given scenario using our tool.
tion of it using OctoUML. Before starting with the task, we
To give a global overview of the subjective assessment of our
gave the participants a brief introduction regarding the fea-
tool’s usability, we asked our subjects to answer the System
tures and functionalities of our tool. We directly observed
Usability Scale (SUS) questionnaire [2]. Furthermore, we
the design processes and took notes. When the participants
planned semi-structured interviews using both closed and
asked some specific questions about the design assignment,
open questions. The interviews were held after the comple-
we told them that it is up to their interpretation. They
tion of the design assignment. Our main concern was to get
could, however, ask questions concerning the design envi-
feedback from the participants regarding their experience
ronment e.g. how to use certain tools. The participants
in using OctoUML, so we focused on qualitative data more
3
than quantitative data. We followed the grounded theory http://www.qsrinternational.com/
Figure 3: The Modelling Process
(currently supported activities are presented in green)
did not get any help unless they asked for it. An interac- on. In fact, the participants became more confident as they
tive whiteboard was chosen as an input medium, and the were gradually and progressively interacting with the tool.
design sessions were video-recorded. The text of the design Moreover repeating some actions, such as selection and cre-
assignment is presented in the following paragraph. ation of classes, let them in some manner experience our
E-Learning System. The system is used by teachers, stu- environment’ functionalities.
dents and an administrator (who is also a teacher). One
teacher is responsible for many courses. Consider that courses 5.3 SUS Questionnaire
consist of many topics. Students can enroll into different The System Usability Scale is an easy, standard way of
courses. There is a news section within the system. Teach- evaluating the usability of a system [2]. It is a form contain-
ers add news for a specific course and the students can read ing ten statements, and users provide their feedback on a
them. Every course ends with an evaluation test. Teachers 5-point scale (1 is strongly disagree and 5 is strongly agree).
create a test and the students have to do it. The students It effectively differentiates between usable and unusable sys-
get one of these grades: fail, pass, good, or very good. tems by giving a measure of the perceived usability of a
system. It can be used on small sample sizes and be fairly
5.2.1 Design Task Observations confident of getting a good usability assessment [17]. The
participants were given the forms directly after they finished
While carrying out the design task, the participants were
with the design task. We considered the SUS score as a “pre-
observed in order to understand their activities. This was
liminary feedback” on the usability of our tool. However, in
done in two different ways: First, we directly observed the
order to consolidate the current findings, more people will
behaviour of the participants as they were performing the
be involved in testing our tool and answering the SUS ques-
task and took notes. Second, the participants were recorded
tionnaire.
via a digital video-camera. This let us observe their be-
haviour indirectly through records of the task. The notes
which we took were expanded by transcribing elements of
5.3.1 SUS Result
the video recordings. At the beginning of the task the par- All sixteen participants filled out the SUS questionnaire.
ticipants spent around one minute reading the assignment, We calculated the SUS score reported by each participant.
then they proceeded with designing the solution. While car- After that, we calculated the average of the usability values
rying out the design task, some participants first created of all participants to obtain the overall OctoUML usability
many UML classes then they associated them with differ- score4 . The lowest score was 65 and the highest was 95,
ent kind of relations. Other participants followed another with an average score of 78.75. It falls at around the 80th
strategy by creating two classes in the first place, then, they percentile, and would result in a grade of a “B” which is a
defined the relation between the two classes before contin- high usability score according to [16].
uing to create other UML classes. Even when two people
were working on the same design at the same time, they 5.4 Interviews
rarely interacted with the e-whiteboard at the exact same After answering the SUS questionnaire, each participant
time. Most of the participants tended to create the classes was involved in a semi-structured interview. The conversa-
sequentially, and they discussed the properties of one class tions were recorded using a digital voice recorder. The in-
before proceeding with the creation of another class. Fur- terviewers took some notes which were expanded afterwards
thermore, they often divided the work between themselves, by transcribing the audio recordings. Both closed and open
e.g. one was interacting with the tool to create classes, and questions were used, and respondents’ answers were quanti-
the other one was reading the assignment as well as pro- tatively and qualitatively analyzed.
viding ideas for the solution. The participants were given
a brief introduction about functionalities of the tool. Nev- 5.4.1 Interviews’ Results
ertheless, during the design task, some of the participants Several threads run through the interviews. Such threads
were confused and hesitant about using some features be- are categorized as themes and reported subsequently.
ing provided by our tool. This was actually observable at
4
the beginning of the task, but seemed to be overcome later https://goo.gl/uwlwIp
5.4.1.1 Tool Usability 5.4.1.2 Informal and Formal Notation
There was a strong belief among the participants (12 people
Ease of Use. All participants pointed out that our tool is
agreed, 2 were undecided and 2 disagreed) that informal
intuitive, simple and easy to use.
notations (i.e. sketches) support the formal design. Sketches
“Easy to get started with, I do not have to under- can be used to interconnect different components
stand the UML-standard ”, “It’s simple to use”,
“define the components involved and the interac-
“Easy to change things”
tions among them”.
Learn-ability. The participants also stated that the tool is
Sketches are valuable artefacts beyond being just explorative
easy to understand and learn.
drawings
“easy to understand ”, “Easy to grasp what is what”, “obtain a formal document, not just a sketch”.
“Intuitive for the most part”, “So easy to learn”
There was also a strong belief among participants (11 peo-
Efficiency. We let our environment inherit the fluidity and ple agreed, 2 were undecided and 3 disagreed) that having
immediacy of a standard whiteboard. Furthermore, we wanted sketches beside the formal design can allow for a better ex-
to maintain the recognition process to be as smooth and fast pression of ideas
as possible. Some participants were impressed by the fluidity
and immediacy of our tool in drawing and creating notations “map out the domain of the functionality and
as well as in recognizing the sketchy elements. make sure everyhting is been covered ”, “get an
idea of how things fit together ”.
“Very quick to draw classes and associations com-
Eleven people claimed that sketches can enhance the under-
pared to CASE tools”, “Very smooth and quick
standability and readability of the formal designs
recognition”
“it is mostly for myself to get a clear understand-
Satisfaction. The basic functions of our tool met the expec- ing”, “it is helpful to make you understand what
tations of most of the participants. Overall, the participants you are gonna build ”
liked our tool. Two participant highlighted the eligibility of
our tool in collaborative team modelling. One participants On the other hand, one person said that having sketches
stated that he likes the “selective recognition” mechanism. beside the formal design could complicate the diagram
“Very straightforward once you get used to it”, “No, sketching will introduce complexity”.
“It is really good for team design”, “Nice that you
Half of the participants think that being able to sketch be-
select what to recognize”
side creating formal designs in one tool can replace the need
However, some challenges in tool usability were identified. of sketching on a whiteboard or a paper.
one participant asked for more flexible switching between
“Yes, you could perform all the functions that you
informal and formal input modes .
can do on standard whiteboard. Be able to quickly
“I did not like how I switch between input modes” show ideas, and you do not have to take pictures
of the whiteboard ”.
Some of the participants did not like the manner by which
the elements are being selected i.e. by activating a dedicated While some participants claim that still people will not stop
button. using standard whiteboards as well as pen and paper. The
dependency on such tools, as the participants argued, arises
“Should select by just clicking on element without from their immediacy and ease of use as well as being at
selecting the selection tool first” easy disposal.
One participant stated that “typing-in” classes name and “No, because you will never remove the paper from
their properties using the virtual keyboard was inconvenient offices”, “right now still very dependent on paper ”
task due to the time that it takes, and asked us to find a
better solution. Sketching down thoughts and ideas on paper or whiteboard
when designing software is a common behaviour when de-
“Typing-in is a bit slow ” signing software. In fact, all participants do sketches to some
degree. Some participants mentioned that it depends on the
We previously mentioned that our tool mainly supports UML complexity of the problem
class diagrams when creating formal “computer-drawn” ele-
ments. Some participants expressed the need of being able “I do not sketch when it comes to simple stuff ”.
to create other types of UML diagrams as well as having
more tool options. According to the participants’ responses, the main purposes
of sketching are to:
“I want more features, options, more types of di-
agrams” i) understand problems and start to explore solutions
We consider those challenges, hence they will be used to- “to define the components involved and the
gether with the overall feedback of the users as a basis for interactions among them”, “start putting the
future improvement of our tool. solution together ”
ii) brainstorm as well as explore ideas were appreciated by the participants and are discussed in the
conclusion and future work section.
“to brainstorm”, “to facilitate how to express
our ideas”, “to visualise what is in my head ”. • RQ.2 Does support for mixing informal and formal no-
tation better support the software design process?
iii) communicate and discuss their ideas
“give an explanation for other people about In practice, software systems are becoming more and more
the system or a specific problem”, “commu- complex, and the design of complex systems needs more ef-
nication of ideas in teams”. fort and hence more sophisticated designing tools. In such
cases, having the possibility to use informal notations be-
side the formal ones can better support designers’ activities
6. DISCUSSION in understanding the problems, exploring solutions, brain-
Before starting with the design task, the participants were storming and communicating ideas. This is in line with the
given a short introduction about our environment and its study of Mangano et al. [13]. They stated that informal no-
functions. However, while we were observing the partici- tations, i.e. sketches, allow software designers to discuss de-
pants creating their designs, we noticed that they were not sign alternatives as well as mentally simulate the behaviour
very inclined to use the sketching feature which was illus- of complex systems.
trated during the short introduction. In fact, only six (out Apart from the fact that our subjects did not sketch in-
of sixteen) participants used the sketching feature. We think formal elements frequently, the majority of them think that
that the time of the introduction part was most likely not being able to simultaneously create sketches and formal de-
enough to make the participants feel comfortable in using signs in one design environment could support the design
free-hand sketches. Furthermore, the design problem that process. Indeed, software designers often sketch their early-
we have chosen for the design task was simple and easy to design ideas on a paper. However, when they want to pre-
solve. We tried to simplify it as much as possible to make serve the design, they do a redundant work by re-drawing
it solvable in a short time. We believe that the simplicity the solution using CASE-tools. Furthermore, they may for-
of the design task could have defeated the need of sketching get to include some sketched ideas in the design formaliza-
it up. The participants could easily get a good grasp of the tion process.
design task simply by reading it. However when we did the There was a strong belief among the interviewees that hav-
interviews, the majority of the participants did agree that ing the possibility to create informal elements, i.e. sketches,
being able to mix informal and formal notations could sup- assists the process of ideas expression and enhance the un-
port the design process and flow, thus could bridge the gap derstandability of formal designs. The informal notations
between the process of prototyping ideas on a paper and the can be used both in brainstorming sessions and while cre-
process of entering a formalized version of such ideas in a ating the formal design. In the former case, they are used
CASE-tool. Next, we discuss the research questions based for design exploration and can be volatile. While in the
on our interpretation of the results. latter case, the informal elements could be used to sustain
and describe a specific design problem as well as support
• RQ.1 Does our tool provide a usable environment con- the formal design in conveying and reinforcing the informa-
sidering issues like ease of use, efficiency and user sat- tion that they carry. Informal sketches, for example, may
isfaction? have a very close mapping to the problem domain. As a
result, they could be valuable artefacts beyond being just
OctoUML is designed to offer a usable interactive envi- explorative means.
ronment. First we focused on understanding some common
practice activities that occur during software modelling ses-
sions. Then, we tried to consider and adopt some novel 7. THREATS TO VALIDITY
interaction modalities which could interactively support the Construct Validity. The design task was simple, specific
design process. The interviews’ results show that the cur- and easy to do. Moreover, it is relatively small compared to
rent version of our tool is easy to learn, effective to use, and real world design problems. This might limit the creativity
provides an enjoyable user experience. Moreover, the re- of the designers as well as influence the amount of discussions
sults that we got from the SUS questionnaire on the usabil- and usability interactions. However, during the interviews,
ity of our tool consolidate the previous findings. Of course we asked the participants to give their general opinion about
these results hold only for the device which is used as an the efficiency of our tool when it comes to handling different
input medium, the interactive whiteboard. Other media design problems that vary in size and complexity.
like tablets and standard PCs have different characteristics. Internal Validity. None of our subjects was familiar with
Tablets have a smaller interaction interface when compared our tool and its functions. To mitigate this, we gave the
to interactive whiteboards, and this could raise some usabil- participants a short introduction explaining the features of
ity challenges. To assess these challenges further tests on the tool. Moreover, during the interviews, the participants
different input media are required. On the other hand, our might want to please the interviewers by giving them a pos-
tests revealed some usability challenges related to our sys- itive feedback. To mitigate this, we asked the participants
tem. The main issue is the selection tool. The participants to answer the SUS questionnaire which allowed them to give
had to click on a specific button to activate the selection feedback anonymously.
mode. According to some participants, that was not a user- External Validity. The participants being involved in both
friendly choice. Moreover, we asked the participants for their the design task and the interviews may not represent the
opinion about some new interaction techniques that could be general population of software designers. This could threaten
adopted by our environment in the future. These techniques the generality of the results. However we involved people
with different backgrounds, modelling expertise and aca- [7] J. Corbin and A. Strauss. Basics of qualitative
demical degrees. research: Techniques and procedures for developing
grounded theory. Sage publications, 2014.
8. CONCLUSION AND FUTURE WORK [8] C. H. Damm, K. M. Hansen, and M. Thomsen. Tool
Currently, most CASE-tools are modelling (or even di- support for cooperative object-oriented design:
agramming) tools. Indeed, they lack support for the ma- gesture based modelling on an electronic whiteboard.
jority of design activities in which developers are engaged. In Proceedings of the SIGCHI conference on Human
In this paper, we presented a proof of concept of a new Factors in Computing Systems, pages 518–525. ACM,
generation software design environment. Basically, our tool 2000.
allows for simultaneous creation of both informal freehand [9] J. Iivari. Why are case tools not used?
sketches and formal computer-drawn notations. The users Communications of the ACM, 39(10):94–103, 1996.
of OctoUML can create software designs by performing sim- [10] R. Jolak, B. Vesin, and M. R. V. Chaudron. Octouml:
ple intuitive touch gestures. Moreover, they can manipulate An environment for exploratory and collaborative
the graphical entities with several fingers at the same time software design. In 39th Int. Conference on Software
thanks to the multi-touch technology being adopted by our Engineering. ICSE’17, page in print, 2017.
system. Furthermore, OctoUML supports the transforma- [11] M. Magin and S. Kopf. A collaborative multi-touch
tion of models from informal to formal at any time during uml design tool. Technical reports, 13, 2013.
the design sessions. We evaluated our tool by conducting [12] N. Mangano, T. D. LaToza, M. Petre, and A. van der
user studies. The results show that OctoUML, as perceived Hoek. Supporting informal design with interactive
by our subjects, provides a usable environment in terms of whiteboards. In Proceedings of the SIGCHI
ease of use, efficiency and user satisfaction. Moreover, it Conference on Human Factors in Computing Systems,
seems that giving the possibility to create informal and for- pages 331–340. ACM, 2014.
mal notations in one software design environment could sup- [13] N. Mangano, T. D. LaToza, M. Petre, and A. Van
port both the design process and its flow. Der Hoek. How software designers interact with
Future Work. We will continue to realize our vision [4] of sketches at the whiteboard. Software Engineering,
a new generation of software design environment. OctoUML IEEE Transactions on, 41(2):135–156, 2015.
will be equipped with microphones to record the spoken dis- [14] B. Paulson and T. Hammond. Paleosketch: accurate
cussions, and a recognition system will be provided to inter- primitive sketch recognition and beautification. In
pret users’ voice commands. To open up new opportunities Proceedings of the 13th international conference on
for remote interactive collaborative design, our tool will be Intelligent user interfaces, pages 1–10. ACM, 2008.
enabled to support remote collaborative sessions between [15] M. Petre. Uml in practice. In Proceedings of the 2013
geographically distributed teams as well as in class room International Conference on Software Engineering,
environment between students and teachers. We also aim pages 722–731. IEEE Press, 2013.
to integrate OctoUML with other software engineering tools [16] J. Sauro. A practical guide to the system usability
to provide effective support for different development tasks scale: Background, benchmarks & best practices.
(e.g. requirements gathering, testing, coding and version- Measuring Usability LLC, 2011.
ing) and analysis tasks (e.g. performance).
[17] T. S. Tullis and J. N. Stetson. A comparison of
questionnaires for assessing website usability. In
9. REFERENCES Usability Professional Association Conference, pages
[1] S. Baltes and S. Diehl. Sketches and diagrams in 1–12, 2004.
practice. In Proceedings of the 22nd ACM SIGSOFT [18] B. Tversky. What do sketches say about thinking. In
International Symposium on Foundations of Software 2002 AAAI Spring Symposium, Sketch Understanding
Engineering, pages 530–541. ACM, 2014. Workshop, Stanford University, AAAI Technical
[2] J. Brooke et al. Sus-a quick and dirty usability scale. Report SS-02-08, pages 148–151, 2002.
Usability evaluation in industry, 189(194):4–7, 1996. [19] B. Tversky. Visualizing thought. Topics in Cognitive
[3] M. R. Chaudron, W. Heijstek, and A. Nugroho. How Science, 3(3):499–535, 2011.
effective is uml modeling? Software & Systems [20] J. Walny, S. Carpendale, N. H. Riche, G. Venolia, and
Modeling, 11(4):571–580, 2012. P. Fawcett. Visual thinking in action: Visualizations
[4] M. R. Chaudron and R. Jolak. A vision on a new as used on whiteboards. Visualization and Computer
generation of software design environments. In First Graphics, IEEE Transactions on, 17(12):2508–2517,
Int. Workshop on Human Factors in Modeling 2011.
(HuFaMo 2015). CEUR-WS, pages 11–16, 2015. [21] J. Walny, J. Haber, M. Dörk, J. Sillito, and
[5] Q. Chen, J. Grundy, and J. Hosking. An e-whiteboard S. Carpendale. Follow that sketch: Lifecycles of
application to support early design-stage sketching of diagrams and sketches in software development. In
uml diagrams. In Human Centric Computing Visualizing Software for Understanding and Analysis
Languages and Environments, 2003. Proceedings. 2003 (VISSOFT), 2011 6th IEEE International Workshop
IEEE Symposium on, pages 219–226. IEEE, 2003. on, pages 1–8. IEEE, 2011.
[6] M. Cherubini, G. Venolia, R. DeLine, and A. J. Ko. [22] D. Wüest, N. Seyff, and M. Glinz. Flexisketch: A
Let’s go to the whiteboard: how and why software mobile sketching tool for software modeling. In Mobile
developers use drawings. In Proceedings of the SIGCHI Computing, Applications, and Services, pages 225–244.
conference on Human factors in computing systems, Springer, 2012.
pages 557–566. ACM, 2007.