<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">A Vision on a New Generation of Software Design Environments (Empirical Theory)</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Michel</forename><forename type="middle">R V</forename><surname>Chaudron</surname></persName>
							<email>chaudron@chalmers.se</email>
							<affiliation key="aff0">
								<orgName type="department">Joint Department of Computer Science and Engineering</orgName>
								<orgName type="institution" key="instit1">Chalmers University of Technology</orgName>
								<orgName type="institution" key="instit2">Gothenburg University Gothenburg</orgName>
								<address>
									<country key="SE">Sweden</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Rodi</forename><surname>Jolak</surname></persName>
							<email>jolak@chalmers.se</email>
							<affiliation key="aff0">
								<orgName type="department">Joint Department of Computer Science and Engineering</orgName>
								<orgName type="institution" key="instit1">Chalmers University of Technology</orgName>
								<orgName type="institution" key="instit2">Gothenburg University Gothenburg</orgName>
								<address>
									<country key="SE">Sweden</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">A Vision on a New Generation of Software Design Environments (Empirical Theory)</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">1FAE9FC14C27EEDAA792AC5E65D79FA4</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T14:03+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>software engineering</term>
					<term>modeling tools</term>
					<term>collaborative design</term>
					<term>IDE</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In this paper we explain our vision for a new generation of software design environments. We aim to generalize existing software development tools in several key wayswhich include: integration of rigorous and informal notations, and support for multiple modes of interaction. We describe how we can consolidate the environment by integrating it with other software engineering tools. Furthermore, we describe some methods which could permit the environment to provide a flexible collaborative medium and have a practical and inspiring user experience.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>Software systems have an important role in the technological evolution which we are witnessing nowadays, and as a consequence, software systems are becoming more and more complex. The increasing complexity of such systems has raised some certain challenges, such as e.g. design uncertainty and run-time changes, making it difficult to meet continuous customer demands for a better software quality <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8]</ref>. Software modeling plays a pivotal role in software development. Models present an understandable description of complex systems at several levels of abstraction and from a diversity of perspectives. Furthermore, they provide an essential medium matching between problem and software implementation by describing user's needs and prescribing the product to be developed.</p><p>Software modeling is a highly complex and demanding activity <ref type="bibr" target="#b20">[21]</ref>. Software designers often use software modeling tools to perform a software design. There are two dimensions of these tools that we will challenge in this paper: i) the formality of the notation used, and ii) the modes of interaction supported by the tools. Next, we briefly explain our views on these dimensions.</p><p>First, we classify modeling tools into two groups: informal and formal. We mean by informal any tool that supports informal design in the sense that it does not constrain the notation used. Examples of such tools are whiteboards, paper and pencil. Whiteboards are often used to collaboratively sketch software modeling ideas, discover architectural solutions, capture design discussions, etc. <ref type="bibr" target="#b12">[13,</ref><ref type="bibr" target="#b4">5]</ref>. Whiteboards are normally used for sketching when more than two people are involved <ref type="bibr" target="#b1">[2]</ref>. Generic diagramming tools such as PowerPoint and Visio are informal in the sense that they do not constrain the notation, but they do provide mature digital editing functionality (move, delete, undo). While on the other hand we mean by formal tools any CASE tool which supports one or more formalized notations. Typical examples are UML CASE tools (like Rational Rose, Enterprise Architect, Visual Paradigm, StarUML etc.). Also for many other modeling languages, tools are often dedicated to a single notation (Archimate for Enterprise Modeling, ARIS-tool for Business Process Modeling, etc.). All CASE tools support mature digital edition functionality. Table <ref type="table" target="#tab_0">1</ref> is based on Hammouda <ref type="bibr" target="#b10">[11]</ref> and describes some relative advantages of informal and formal modeling tools: </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Ease of continuous design</head><p>In tools based on digital editing, editing (move, resize, delete, undo, etc.) is easier than in sketch-based tools such as whiteboards.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Ease of learning notation</head><p>Formal syntax checking helps in learning the proper syntax.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Intuitiveness of using tool very simple to use; but limited in functionality</head><p>More difficult to learn, but advanced functionalities supported.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Collaboration</head><p>Multiple people collaborating on a shared design prefer to use informal representations <ref type="bibr" target="#b1">[2]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Integration</head><p>Absence of a formal syntax (and semantics) prohibits exchange of designs.</p><p>Formal syntax allows a formal representation of the design that can be exchanged with other tools. We envision our environment to have the advantages of both formal and informal tools.</p><p>The second dimension we challenge is that of the modes of interaction supported by modeling tools. Oviatt and Cohen <ref type="bibr" target="#b18">[19]</ref> illustrated the importance of multimodal systems in reshaping daily computing tasks and predicted their future role in shifting the balance of human-computer interaction much closer to the human. Based on that, we want to support multimodal communication interactions by recognizing touch, voice and gesture for a more intuitive software modeling experience.</p><p>Summarizing, the following questions are addressed: Q1: How can we achieve an integrated design environment having the power of both formal and informal tools? Q2: How can we make modeling tools easier to use and more productive? -How can tools better support tasks of software developers?</p><p>Our focus is on tasks related to the design of systems. -Which sources of knowledge and information can be connected to provide information needed at easy disposal (right information at the right moment, place and format)?</p><p>The paper is organized as follows: in section two we describe the related work. Section three illustrates our vision. Finally we conclude and discuss ideas for future work in section four.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. RELATED WORK</head><p>Many empirical studies of formal tools usage have pointed out that software designers consider these tools overly restrictive and this often lead to poor utilization <ref type="bibr" target="#b12">[13,</ref><ref type="bibr" target="#b5">6]</ref>. By doing a HCI study, Plimmer et al. revealed that in early software design phases, the designers prefer to sketch by hand rather than using a keyboard or a mouse <ref type="bibr" target="#b19">[20]</ref>. Whiteboards support informal design. They are frequently used by software designers during project meetings to sketch ideas and thoughts about system goals, requirements and design solutions <ref type="bibr" target="#b12">[13,</ref><ref type="bibr" target="#b4">5]</ref>.</p><p>Electronic interactive whiteboards offer the potential for enhanced support by allowing the manipulation of the content, handling of sketches, and doing collaborative distributed works. Mangano et al. <ref type="bibr" target="#b14">[15]</ref> identified some behaviors that occur during informal design. They implemented an interactive whiteboard system to support these behaviors, and identified some ways where interactive whiteboards can enable designers to work more effectively. The main goal of the system that they implemented, called Calico, is to maintain fluidity and flexibility allowing software designers to focus on the content of their sketches rather than the tool used to make it. Mangano et al. revealed a number of weaknesses in Calico ranging from usability issues to challenges inherent to interactive whiteboards. In particular, designers reported that some gestures were not rapidly interpreted, and the large ewhiteboard diminished the quality of their handwriting, forcing them to write slower or larger. We want to support software design not only with interactive whiteboards, but with PCs, touch pads and smart phones.</p><p>Baltes and Diehl <ref type="bibr" target="#b1">[2]</ref> investigated the use of sketches in software engineering activities by conducting an exploratory study in three different software companies. Their results showed that the majority of the sketches were informal, and the purposes of sketches were related to designing, explaining, or understanding. Baltes and Diehl also showed that the sketches were archived digitally for re-visualization and future use. Like us, they think software design tools should enable informal design sketching.</p><p>Wüest et al. <ref type="bibr" target="#b21">[22]</ref> 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 a further processing. A tool, FlexiSketch, was prototyped by them to combine freeform sketching with the ability to interactively annotate the sketches for an incremental transformation into semi-formal models. The users of FlexiSketch were able to draw UML-like 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. FlexiSketch runs on tablet computers. It is a single user tool, and does not support collaborative sketching. We think running FlexiSketch on electronic whiteboards could allow for multi-user input and facilitate collaboration. We also think that software design tools should be able to support sketch recognition and its transformation into a kind of formal diagrams as well as allow the exportation of such diagrams to other programs e.g. CASE tools. FlexiSketch Team <ref type="bibr" target="#b22">[23]</ref> is an extended version of FlexiSketch, which supports a collaborative sketching via ad-hoc local Wi-Fi network, but it does not allow for a distributed collaboration.</p><p>Chen et al. have developed SUMLOW <ref type="bibr" target="#b3">[4]</ref>. A sketchingbased UML design tool for electronic whiteboard technology. It allows to preserve hand drawn diagrams and supports for manipulation of the diagrams using pen-based actions. UML sketches can be formalized and exported to a 3rd party CASE tool. Their tool does not support design sketching on different platforms like mobiles and tablets. Again as all works previously mentioned, it does not support a collaborative distributed software modeling.</p><p>MaramaSketch <ref type="bibr" target="#b9">[10]</ref> includes a meta-modeling editor. This editor allows to define a conventional modeling language which is then used to compile a modeling tool for the defined language. However, MaramaSketch needs to create the complete language definition first, and after that, users must strictly follow it. So as a consequence, it prevents any flexible sketching.</p><p>Magin and Kopf <ref type="bibr" target="#b13">[14]</ref> have created a multi-touch based system allowing users to collaboratively design UML class diagram on touch screens. They have also implemented new algorithms to recognize the gestures drawn by the users and to improve the layout of the diagrams. However, it does not support a remote collaboration, and as they stated, their tool has some usability challenges in creating and editing of sketches, and in the recognition process of hand written text.</p><p>In the area of integration of software development tools Open Services for Lifecycle Collaboration "OSLC" <ref type="bibr" target="#b24">[25]</ref> is an emerging standard. This standard defines API's through which development tools can interoperate. OSLC could be a technology that underlies the integration aspects of our vision.</p><p>Brosch et al. <ref type="bibr" target="#b2">[3]</ref> showed the importance of model versioning in enabling efficient team-based development of models. Based on that, we think a version management tool should be integrated within software design environments to track modeling processes and their evolution. There is a fair amount of work ongoing in versioning for software models <ref type="bibr" target="#b0">[1]</ref>, but none of this has been integrated in mainstream CASE tools yet.</p><p>IBM's family of integrated development environments <ref type="bibr" target="#b23">[24]</ref> allow for a collaborative software development. In particular, they provide teams with rich capabilities for continuous development, testing, analyzing and optimizing applications. For example, IBM Rational Business Developer is an Eclipsebased environment. It allows complex applications to be modeled graphically. IBM only offers these tools on a commercial basis.</p><p>While a comprehensive theory of IDEs does not exist, there are proposals for theoretical models that can serve to support the design of NGDE. Notable approaches are the Cognitive Dimensions approach <ref type="bibr" target="#b8">[9]</ref> and the 'Physics of Notations' <ref type="bibr" target="#b15">[16]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. OUR VISION</head><p>In this section we present our vision for a more intuitive, inspiring and efficient tool to support exploratory and collaborative software modeling. In particular, we are going to describe some ideas which we consider to be relevant to achieve such a tool. We will refer the next generation software design environment as NGDE.</p><p>One first point is that in practice modeling and designing go hand-in hand. A modeling language provides the notation in which to express a design. As such a modeling language is a part of the toolbox that a designer uses in the creative process of designing a solution. Currently, most case tools are modeling (or even diagramming) tools. Instead, the next generation of tools should take a holistic view on supporting all design activities in which developers are engaged.</p><p>Next, we discuss several key aspects in which NGDE can provide better support for the design activities of software developers:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Informal versus Formal Notation</head><p>Informal tools like whiteboards provide a useful mean for flexible collaborative modeling. In fact, software designers can easily create/extend diagrams, add comments and highlight some parts of their sketches. Even more, they can sketch diagrams of multiple notations without following any restrictive rule imposed by the formality of a one modeling language or syntax. However, re-modeling is a difficult and a time consuming task. Moreover, whiteboards do not support data persistency and transference. Formal tools like CASE tools are restrictive in that they require designers to use some specific notations for modeling. We propose that NGDE tools should support the mix of both formal and informal modeling notations that designers use. Ideally, NGDEs should maintain the characteristics of formal tools in their support of design transfer and persistency. To support informal modeling, tools should allow designers to create different types of diagrams on the same canvas <ref type="bibr" target="#b14">[15]</ref>. Furthermore, they should not constrain designers to sketch only some specific notations. For instance, designers should be able to draw and create a variety of sketches e.g. use case diagrams, workflows, arrows, state charts, data models, etc. In general, NGDE should enable designers to add domain specific icons or notations. These kind of notations help to better describe a specific domain problem.</p><p>NGDEs should keep from existing editors the abilities to organize diagrams by moving, resizing, grouping and separating sketches, and the ability to modify and evolve sketches.</p><p>NGDEs should have the ability to transform sketches into formalized content by providing a recognition unit. This enables designs be formally represented and hence easily exchanged with other software tools. Furthermore, they should have the power of formal tools in maintaining and transferring the designs for further processing tasks.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Integration</head><p>In their daily work, many software designers work concurrently on different artefacts: changes to a design and followed closely by changes in code and changes in requirements. Unfortunately, with current tools the developer needs to switch to different applications. We propose to design an integrated environment. This does not need to become a 'Swiss army knife' that integrates all functionality in a single tool. Integration of development tools needs to address a shared data model of software development artefacts, but also a shared UI-concept.</p><p>The goal behind the idea of integrating other software management tools within a software modeling tool in a 'one stop' environment is to provide effective support for an effective software modeling process.</p><p>Software requirements, for instance, evolve over time and they are frequently subject to changes during initial development and later on to delivery. Designers generate many ideas in order to understand a problem and find a solution for it. These ideas are often compared, modified, evaluated and enriched as the modeling process evolves. In order to realize how useful could be having a trace of the requirements within a software modeling tool, let's think about the following scenario: a group of software designers start to document and gather needs of a specific software product, after that, they proceed to create a first design of the product using for example a traditional whiteboard or a CASE tool. Let's also consider that the software needs, written on a simple paper sheet, are given by a client. In both cases, using either a whiteboard or a CASE tool, software designers have to meet again and again whenever new requirements come out or having earlier requirements exposed to changes. This is a time consuming task and especially when designers have to recollect their designs and re-model them according to the new set of requirements.</p><p>Here, a NGDE should be able to handle notes written on paper as an artefact. Ideally, this paper is not only stored as a (jpeg) picture, but contents are (partially) recognized and can be transformed into formal concepts.</p><p>Modeling involves several stakeholders who conduct the creation of the design in elicitation and formalization phases, and since requirements evolve over time, modeling usually comprises several iterations of elicitation and formalization resulting in an evolving process <ref type="bibr" target="#b11">[12]</ref>. Therefore, we think that software modeling tools should be integrated with other software engineering tools to deliver a 'one stop' environment capable of addressing and supporting issues like requirements analysis and management, programming and coding, generation of bug reports, performance and security analysis, testing, versioning, etc. This is in line with the Twin Peaks model by Nuseibeh <ref type="bibr" target="#b17">[18]</ref>. This model states that in reality requirements and designs develop progressively in concert and mutually influence each other.</p><p>Of course, source code is also essential in the development of software. Hence throughout the development process, models and code must be combinedin the sense that developers must be able to view them side by side and jump between editing one and keeping the other synchronized. One challenge is the linking between models and code. It is typical that models are used at various and varying levels of abstraction. Models start out at a high level of abstraction and gradually get refined by adding details.</p><p>The integration of code and models also raises the question of debugging. While we can always use the IDE's debugging functionality, it usually does not make sense to debug the generated code itself. The developer is more familiar with the model than the code, and if a problem is found, we want to correct it in the model not the code. Modeling tools should support the usage of models in debugging the functionalities at a higher level of abstraction in order to know if the application is doing what it was designed to do.</p><p>Modeling tools should support multiple people and teams working on the same design from different locations. In particular, they should provide means to achieve an effective coordination between geographically distributed project members. Version management, for example, should be adapted to support collaborative modeling and design. We think modeling tools should provide a repository to keep track of the version history of the models stored in it, as well as provide the ability to observe who is changing what artifacts in the environment. Following the checkout-update-commit interaction paradigm, the repository would offer an interactive model merging tool to resolve conflicts when two users change the same model data. It would increase the potential for parallel and distributed work, improve ability to track and merge changes over time and automate management of revision history. It would also allow multiple designers to work with the same models concurrently, supporting tight collaboration and a fast feedback loop.</p><p>Finally, and to provide an effective communication medium for a geographically distributed software modeling teams, we propose integrating social media and chat tools within the modeling tools. The goal is to make software modeling activity more efficient. For instance when two designers from two different locations want to exchange ideas about a specific design, they could make use of the integrated social media or chatting tools to do such a task, and of course, this reduces the time spent handling emails. In fact, these communicative facilities play an important role in establishing a basis for discussions and negotiations, information exchanging, and sharing data e.g. images, videos, etc. In general, modeling tools should be "open" providing various integration mechanisms among the different platforms. In particular, they should have programmable interfaces, import/export formats, and enable plug-ins for integration (see Figure <ref type="figure" target="#fig_0">1</ref>), thus offering an ideal support for team work, and letting the overall development process becomes easier and faster. On this topic, we will explore to what degree OSLC helps solve this issue. In summary, integration has several facets: -Integration of rigorous and informal notation -Integration of different tools for different activities in the software development lifecycle. -Integration of (machine and human) knowledge sources.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Usability, Interaction and Collaboration</head><p>The usability of current CASE tools is a common source of criticism. One key aspect of usability is the manner in which humans interact with the system. Currently this is by using the keyboard and the mouseessentially we are using the computer as an enriched typewriter. Other modes of interaction have gained popularity because of their intuitive nature and these should also be employed in the area of software design environments.</p><p>Touch-based interfaces have become common in tablets and smart phones, and also smart-whiteboards with touchbased interaction have been introduced in class room environments. This introduces the dimension of modality of interaction. While traditional interaction with a computer is via a keyboard (and mouse) currently there are many options available: voice, touch, gesture, eye-focus or laser-focus as pointing. Computers are capable of handling such new types of inputs. This will make interacting with NGDEs much more intuitive.</p><p>Whiteboards allow multiple users to draw software models together. In order to emulate this informality in our environment, we propose enabling it to support a collaborative multi-touch modeling. Multi-touch is an interaction technique that's permits the manipulation of graphical entities with several fingers at the same time. Making use of multi-touch screens allows users to design complex diagrams simultaneously by performing simple intuitive touch gestures to draw their part of the diagram.</p><p>Such joint drawing sessions typically also trigger a lot of discussion. Such discussion may contain valuable information about a design, such as e.g. its rationale. However, traditional tools do not capture the discussion. NGDE can be equipped with microphones and also record the spoken discussion. New challenges in this area will be to search through this type of recorded spoken text. Inspiring work in this direction is the work by Nakakoji et al. <ref type="bibr" target="#b16">[17]</ref>. They describe a system that makes video-recordings of the design discussion in front of the whiteboard. Their system does automated voice recognition and produced a textual transcript of the discussion. Also, their system offers a way of navigating through the using a time-line. The recording of discussions is effortless for (i.e. without any explicit action) the developers. In such a way NGDE can relieve the developer by lowering the cognitive attention needed for inputting relevant information into the system and linking it to related artefacts.</p><p>A task that is commonly forgotten is that of design review. Designers frequently review the design progress in order to know what is done and what they have still to do. For that, NGDEs should support design review "on the fly", as well as in detail whenever designers want to add some additional items to their previously sketched design. One approach in this direction is offered by the recent version of the Altova UModel tool. This tool provides a layeringmechanism: here review comments are part of one layer and the software design is part of another layer. The user can then select to see combined layers or layers in isolation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>D. Multiplatform</head><p>Rather than tying the development process down to any specific hardware environment, the NGDE should aim to facilitate multiple platforms: smart whiteboards, tablets, smart phones, and traditional desktops and laptops. This increases the accessibility of the environment. Also, in classroom environments, this will open up new opportunities for interactive collaborative design.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. CONCLUSION</head><p>Other application domains have gone before software development CASE tools and have shown that rich interaction with computer-based systems is enhancing productivity <ref type="bibr" target="#b18">[19]</ref>. Next generation software design tools must keep up with this trend and offer improvements over existing tools in the following dimensions: -Rich support for multiple modes of interaction (touch, audio, video, gesture).</p><p>-Support for mixing formal notations with informal notations (e.g. UML diagrams with additional sketching). -Higher level of integration of tools: on the one hand integrating tools for different development tasks (requirements, testing, coding) and also analysis tools (performance, security). On the other hand, integration of social/organizational sources of knowledge via ((video) chat). -Rich support for multiple platforms: work does not only happen behind a PC, there is also discussions at the whiteboard and via tablets. NGDE should offer a seamless environment for this. The design of software design environments should be driven by studying the needs of actual software developers. We consider it very important that more observation studies are performed about the actual tasks that software developers perform. From this we can learn how to best support them.</p><p>This paper describes our vision. It is beyond our own capacity to realize this vision. We therefore call on the community to collaboratively work on the next generation of software design environments.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. An illustrative view of NGDEs and the integration mechanism.</figDesc><graphic coords="4,315.25,145.90,251.75,154.00" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 :</head><label>1</label><figDesc>Relative Advantages of Informal and Formal Modeling</figDesc><table><row><cell></cell><cell>Approaches</cell></row><row><cell></cell><cell>Informal</cell><cell>Formal</cell></row><row><cell>Clarity</cell><cell></cell><cell>High clarity because of strict adherence to syntax</cell></row><row><cell>Flexibility</cell><cell>Caters for improvisation of notation.</cell></row></table></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A survey on model versioning approaches</title>
		<author>
			<persName><forename type="first">Kerstin</forename><surname>Altmanninger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Martina</forename><surname>Seidl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Manuel</forename><surname>Wimmer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Web Information Systems</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="271" to="304" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Sketches and diagrams in practice</title>
		<author>
			<persName><forename type="first">Sebastian</forename><surname>Baltes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stephan</forename><surname>Diehl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering</title>
				<meeting>the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="530" to="541" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">An introduction to model versioning</title>
		<author>
			<persName><forename type="first">Petra</forename><surname>Brosch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gerti</forename><surname>Kappel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Philip</forename><surname>Langer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Martina</forename><surname>Seidl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Konrad</forename><surname>Wieland</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Manuel</forename><surname>Wimmer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Formal Methods for Model-Driven Engineering</title>
				<meeting><address><addrLine>Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="336" to="398" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">An ewhiteboard application to support early design-stage sketching of UML diagrams</title>
		<author>
			<persName><forename type="first">Qi</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">John</forename><surname>Grundy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">John</forename><surname>Hosking</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Human Centric Computing Languages and Environments</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2003">2003. 2003</date>
			<biblScope unit="page" from="219" to="226" />
		</imprint>
	</monogr>
	<note>Proceedings. 2003 IEEE Symposium on</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Let&apos;s go to the whiteboard: how and why software developers use drawings</title>
		<author>
			<persName><forename type="first">Mauro</forename><surname>Cherubini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gina</forename><surname>Venolia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rob</forename><surname>Deline</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrew</forename><forename type="middle">J</forename><surname>Ko</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the SIGCHI conference on Human factors in computing systems</title>
				<meeting>the SIGCHI conference on Human factors in computing systems</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="557" to="566" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Tool support for cooperative objectoriented design: gesture based modelling on an electronic whiteboard</title>
		<author>
			<persName><forename type="first">Christian</forename><surname>Damm</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Klaus</forename><forename type="middle">Marius</forename><surname>Heide</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><surname>Hansen</surname></persName>
		</author>
		<author>
			<persName><surname>Thomsen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the SIGCHI conference on Human Factors in Computing Systems</title>
				<meeting>the SIGCHI conference on Human Factors in Computing Systems</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="518" to="525" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">The many faces of complexity in software design</title>
		<author>
			<persName><forename type="first">José</forename><surname>Fiadeiro</surname></persName>
		</author>
		<author>
			<persName><surname>Luiz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Conquering Complexity</title>
				<imprint>
			<biblScope unit="page" from="3" to="47" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Conquering complexity via seamless integration of design-time and run-time verification</title>
		<author>
			<persName><forename type="first">Antonio</forename><surname>Filieri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Carlo</forename><surname>Ghezzi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Raffaela</forename><surname>Mirandola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Giordano</forename><surname>Tamburrelli</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Conquering Complexity</title>
				<imprint>
			<publisher>Springer London</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="253" to="275" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Usability analysis of visual programming environments: a &apos;cognitive dimensions&apos; framework</title>
		<author>
			<persName><forename type="first">Thomas</forename><forename type="middle">R G</forename><surname>Green</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Marian</forename><surname>Petre</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Visual Languages &amp; Computing</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="131" to="174" />
			<date type="published" when="1996">1996</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Supporting generic sketching-based input of diagrams in a domain-specific visual language meta-tool</title>
		<author>
			<persName><forename type="first">John</forename><surname>Grundy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">John</forename><surname>Hosking</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICSE 2007. 29th International Conference on</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2007">2007. 2007</date>
			<biblScope unit="page" from="282" to="291" />
		</imprint>
	</monogr>
	<note>Software Engineering</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">CASE tools versus pencil and paper: A student&apos;s perspective on modeling software design</title>
		<author>
			<persName><forename type="first">Imed</forename><surname>Hammouda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Håkan</forename><surname>Burden</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rogardt</forename><surname>Heldal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">V</forename><surname>Michel</surname></persName>
		</author>
		<author>
			<persName><surname>Chaudron</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">EduSymp@MoDELS</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="21" to="30" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Formal modelling as a grounded conversation</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">J B A</forename><surname>Hoppenbrouwers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">A</forename><surname>Proper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Tvd</forename><surname>Weide</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 10th International Working Conference on the Language Action Perspective on Communication Modelling (LAP05)</title>
				<meeting>the 10th International Working Conference on the Language Action Perspective on Communication Modelling (LAP05)<address><addrLine>Kiruna, Sweden</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="139" to="155" />
		</imprint>
		<respStmt>
			<orgName>Linköpings Universitet and Högskolan i Borås, Linköping and Borås</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">On-line recognition of UML diagrams</title>
		<author>
			<persName><forename type="first">Edward</forename><surname>Lank</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Thorley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sean</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Dorothea</forename><surname>Blostein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings. Sixth International Conference on</title>
				<meeting>Sixth International Conference on</meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2001">2001. 2001</date>
			<biblScope unit="page" from="356" to="360" />
		</imprint>
	</monogr>
	<note>Document Analysis and Recognition</note>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">A Collaborative Multi-Touch UML Design Tool</title>
		<author>
			<persName><forename type="first">Michael</forename><surname>Magin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stephan</forename><surname>Kopf</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="volume">13</biblScope>
		</imprint>
	</monogr>
	<note type="report_type">Technical reports</note>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Supporting informal design with interactive whiteboards</title>
		<author>
			<persName><forename type="first">Nicolas</forename><surname>Mangano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Thomas</forename><forename type="middle">D</forename><surname>Latoza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Marian</forename><surname>Petre</surname></persName>
		</author>
		<author>
			<persName><forename type="first">André</forename><surname>Van Der Hoek</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</title>
				<meeting>the SIGCHI Conference on Human Factors in Computing Systems</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="331" to="340" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">The &quot;physics&quot; of notations: toward a scientific basis for constructing visual notations in software engineering</title>
		<author>
			<persName><forename type="first">Daniel</forename><forename type="middle">L</forename><surname>Moody</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software Engineering</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="756" to="779" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
	<note>IEEE Transactions on</note>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Toward Unweaving Streams of Thought for Reflection in Professional Software Design</title>
		<author>
			<persName><forename type="first">Kumiyo</forename><surname>Nakakoji</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yasuhiro</forename><surname>Yamamoto</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Nobuto</forename><surname>Matsubara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yoshinari</forename><surname>Shirai</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="34" to="38" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
	<note>IEEE</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Weaving together requirements and architectures</title>
		<author>
			<persName><forename type="first">Bashar</forename><surname>Nuseibeh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="115" to="119" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Multimodal interfaces that process what comes naturally</title>
		<author>
			<persName><forename type="first">Sharon</forename><surname>Oviatt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Philip</forename><surname>Cohen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">43</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="45" to="53" />
			<date type="published" when="2000-03">March 2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Computer-aided sketching to capture preliminary design</title>
		<author>
			<persName><forename type="first">Beryl</forename><surname>Plimmer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Mark</forename><surname>Apperley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Australian Computer Science Communications</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="9" to="12" />
			<date type="published" when="2002">2002</date>
			<publisher>Australian Computer Society, Inc</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">What makes software design effective?</title>
		<author>
			<persName><forename type="first">Antony</forename><surname>Tang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Aldeida</forename><surname>Aleti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Janet</forename><surname>Burge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Hans</forename><surname>Van Vliet</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Design Studies</title>
		<imprint>
			<biblScope unit="volume">31</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="614" to="640" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Flexisketch: A mobile sketching tool for software modeling</title>
		<author>
			<persName><forename type="first">Dustin</forename><surname>Wüest</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Norbert</forename><surname>Seyff</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Martin</forename><surname>Glinz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Mobile Computing, Applications, and Services</title>
				<meeting><address><addrLine>Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="225" to="244" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">FLEXISKETCH TEAM: Collaborative Sketching and Notation Creation on the Fly</title>
		<author>
			<persName><forename type="first">Dustin</forename><surname>Wüest</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Norbert</forename><surname>Seyff</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Martin</forename><surname>Glinz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE/ACM 37th IEEE International Conference on</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2015">2015. 2015</date>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="685" to="688" />
		</imprint>
	</monogr>
	<note>Software Engineering (ICSE)</note>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<ptr target="http://www-03.ibm.com/software/products/en/developer" />
		<title level="m">IBM Rational Development Family</title>
				<imprint>
			<date type="published" when="2015-09-03">Sep. 03, 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<ptr target="http://open-services.net/" />
		<title level="m">OSLC&quot;, an open community building practical specifications for integrating software</title>
				<imprint>
			<date type="published" when="2015-07-16">Jul. 16, 2015</date>
		</imprint>
	</monogr>
	<note>Open Services for Lifecycle Collaboration</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
