164 research outputs found

    Virtual software in reality

    Get PDF
    Software visualisation is an important weapon in the program comprehension armoury. It is a technique that can, when designed and used effectively, aid in understanding existing program code. It can achieve this by displaying information in new and different forms, which may make obvious something missed in reading the code. It can also be used to present many aspects of the data at once. Software, despite many software engineering advances in requirements, design and implementation techniques, continues to be complex and large and if anything seems to be growing in these respects. This means that techniques that failed to aid comprehension and maintenance are certainly not going to be able to deal with the current software. Therefore this area requires research to be able to suggest solutions to deal with the information overload that is sure to occur. There are several issues that this thesis addresses; all of them related to the creation of software visualisation systems that are capable of being used and useful well into the next generation of software systems. The scale and complexity of software are pressing issues, as is the associated information overload problem that this brings. In an attempt to address this problem the following are considered to be important: abstractions, representations, mappings, metaphors, and visualisations. These areas are interrelated and the first four enable the final one, visualisations. These problems are not the only ones that face software visualisation systems. There are many that are based on the general theory of the applicability of the technique to such tasks as program comprehension, rather than the detail of how a particular code fragment is shown. These problems are also related to the enabling technology of three- dimensional visualisations; virtual reality. In summary the areas of interest are: automation, evolution, scalability, navigation and interaction, correlation, and visual complexity. This thesis provides an exploration of these identified areas in the context of software visualisation. Relationships that describe, and distinguish between, existing and future software visualisations are presented, with examples based on recent software visualisation research. Two real world metaphors (and their associated mappings and representations) are defined for the purpose of visualising software as an aid to program comprehension. These metaphors also provide a vehicle for the exploration of the areas identified above. Finally, an evaluation of the visualisations is presented using a framework developed for the comparative evaluation of three-dimensional, comprehension oriented, software visualisations. This thesis has shown the viability of using three-dimensional software visualisations. The important issues of automation, evolution, scalability, and navigation have been presented and discussed, and their relationship to real world metaphors examined. This has been done in conjunction with an investigation into the use of such real world metaphors for software visualisation. The thesis as a whole has provided an important examination of many of the issues related to these types of visualisation in the context of software and is therefore a valuable basis for future work in this area

    On the Influence of Representation Type and Gender on Recognition Tasks of Program Comprehension

    Get PDF
    RÉSUMÉ L’objectif de la maintenance logicielle est d’amĂ©liorer les logiciels existants en prĂ©servant leur intĂ©gritĂ©. La maintenance peut reprĂ©senter jusqu’à 60% du budget d’un logiciel. Ainsi, amĂ©liorer la maintenabilitĂ© des logiciels est bĂ©nĂ©fique aussi bien pour les fournisseurs que les utilisateurs de logiciels. Les dĂ©veloppeurs de logiciels consacrent un effort considĂ©rable Ă  la comprĂ©hension des programmes, qui est une Ă©tape primordiale Ă  la maintenance logicielle. Nous faisons l’hypothĂšque que le genre des dĂ©veloppeurs de logiciels et le type de reprĂ©sentation peut affecter leur effort et leur efficacitĂ©. Ces facteurs doivent ĂȘtre considĂ©rĂ©s et minutieusement analysĂ©s dans la mesure oĂč ils peuvent cacher certains effets significatifs pouvant ĂȘtre identifiĂ©s en analysant le processus de comprĂ©hension. Dans cette thĂšse, nous nous inspirons de l’utilisation de l’occulomĂštre pour l’étude du processus cognitif lors de la rĂ©solution des problĂšmes. Nous avons effectuĂ© une Ă©tude fonctionnelle pour Ă©valuer tous les travaux de recherche faisant usage de l’occulomĂštre en gĂ©nie logiciel. Les rĂ©sultats obtenus nous ont motivĂ© Ă  utiliser l’occulomĂštre pour effectuer un ensemble d’études afin analyser l’effet de deux facteurs importants sur la comprĂ©hension des programmes : le type de reprĂ©sentation (textuelle ou graphique) et le genre du dĂ©veloppeur. Afin de comprendre comment les diffĂ©rents types de reprĂ©sentations et le genre influencent les stratĂ©gies de visualisation, nous avons Ă©tudiĂ© la diffĂ©rence de stratĂ©gie entre dĂ©veloppeurs. Les rĂ©sultats obtenus montrent que, comparĂ© Ă  une reprĂ©sentation graphique, la reprĂ©sentation sous forme de texte structurĂ© aide mieux le dĂ©veloppeur dans son processus cognitif lors de la comprĂ©hension des programmes de petite taille. Ainsi, la reprĂ©sentation textuelle requiert moins de temps et d’effort aux participants. Par contre, la reprĂ©sentation graphique est celle prĂ©fĂ©rĂ©e par les dĂ©veloppeurs. Nos rĂ©sultats montrent que la structure topologique de la reprĂ©sentation graphique aide les dĂ©veloppeurs Ă  mĂ©moriser l’emplacement des Ă©lĂ©ments et Ă  retrouver plus rapidement les Ă©lĂ©ments pertinents comparĂ© Ă  la reprĂ©sentation textuelle. En plus, la structure hiĂ©rarchique de la reprĂ©sentation graphique guide les dĂ©veloppeurs Ă  suivre une stratĂ©gie de visualisation spĂ©cifique. Nous avons observĂ© que les femmes et les hommes ont des stratĂ©gies de visualisation diffĂ©rentes lors de la lecture du code ou de la mĂ©morisation des noms des identificateurs. Les femmes ont tendance Ă  inspecter minutieusement toutes les options afin de procĂ©der Ă  l’élimination de la mauvaise rĂ©ponse. Au contraire, les hommes ont tendance Ă  inspecter briĂšvement certaines rĂ©ponses. Pendant que les femmes consacrent plus de temps Ă  analyser chaque type d’entitĂ© l’un aprĂšs l’autre, les hommes alternent leur attention entre diffĂ©rents type d’entitĂ©.----------ABSTRACT The purpose of software maintenance is to correct and enhance an existing software system while preserving its integrity. Software maintenance can cost more than 60% of the budget of a software system, thus improving the maintainability of software is important for both the software industry and its customers. Program comprehension is the initial step of software maintenance that requires the major amount of maintenance’s time and effort. We conjuncture that developers’ gender and the type of representations that developers utilize to perform program comprehension impact their efficiency and effectiveness. These factors must be considered and carefully studied, because they may hide some significant effects to be found by analyzing the comprehension process. In this dissertation, inspired by the literature on the usefulness of eye-trackers to study the cognitive process involved in problem solving activities, we perform a mapping study and evaluate all research relevant to the use of eye-tracking technique in software engineering. The results motivate us to perform a set of eye-tracking studies to analyze the impact of two important factors on program comprehension: representation type (textual vs. graphical) and developers’ gender. Moreover, we investigate and compare viewing strategies variability amongst developers to understand how the representation type and gender differences influence viewing strategies. Overall, our results indicate that structured text provides more cognitive support for developers while performing program comprehension with small systems compared to a graphical representation. Developers spend less time and effort working with textual representations. However, developers mostly preferred to use graphical representations and our results confirm that the topological structure of graphical representations helps developers to memorize the location of the elements and to find the relevant ones faster in comparison with textual representation. Moreover, the hierarchical structure of the representation guides developers to follow specific viewing strategies while working with representations. Regarding the impact of gender, our results emphasize that male and female developers exploit different viewing strategies while reading source code or recalling the names of identifiers. Female developers seem to carefully weigh all options and rule out wrong answers, while male developers seem to quickly set their minds on some answers and move forward. Moreover, female developers spend more time on each source code entity and analyze it before going to the next one. In contrast, male developers utilize several attention switching strategies between different source code entities

    Supporting multimedia user interface design using mental models and representational expressiveness

    Get PDF
    This thesis addresses the problem of output media allocation in the design of multimedia user interfaces. The literature survey identifies a formal definition of the representational capabilities of different media.as important in this task. Equally important, though less prominent in the literature, is that the correct mental model of a domain is paramount for the successful completion of tasks. The thesis proposes an original linguistic and cognitive based descriptive framework, in two parts. The first part defines expressiveness, the amount of representational abstraction a medium provides over any domain. The second part describes how this expressiveness is linked to the mental models that media induce, and how this in turn affects task performance. It is postulated that the mental models induced by different media, will reflect the abstractive representation those media offer over the task domain. This must then be matched to the abstraction required by tasks to allow them to be effectively accomplished. A 34 subject experiment compares five media, of two levels of expressiveness, over a range of tasks, in a complex and dynamic domain. The results indicate that expressiveness may allow media to be matched more closely to tasks, if the mental models they are known to induce are considered. Finally, the thesis proposes a tentative framework for media allocation, and two example interfaces are designed using this framework. This framework is based on the matching of expressiveness to the abstraction of a domain required by tasks. The need for the methodology to take account of the user's cognitive capabilities is stressed, and the experimental results are seen as the beginning of this procedure

    ‘IMPLICIT CREATION’ – NON-PROGRAMMER CONCEPTUAL MODELS FOR AUTHORING IN INTERACTIVE DIGITAL STORYTELLING

    Get PDF
    Interactive Digital Storytelling (IDS) constitutes a research field that emerged from several areas of art, creation and computer science. It inquires technologies and possible artefacts that allow ‘highly-interactive’ experiences of digital worlds with compelling stories. However, the situation for story creators approaching ‘highly-interactive’ storytelling is complex. There is a gap between the available technology, which requires programming and prior knowledge in Artificial Intelligence, and established models of storytelling, which are too linear to have the potential to be highly interactive. This thesis reports on research that lays the ground for bridging this gap, leading to novel creation philosophies in future work. A design research process has been pursued, which centred on the suggestion of conceptual models, explaining a) process structures of interdisciplinary development, b) interactive story structures including the user of the interactive story system, and c) the positioning of human authors within semi-automated creative processes. By means of ‘implicit creation’, storytelling and modelling of simulated worlds are reconciled. The conceptual models are informed by exhaustive literature review in established neighbouring disciplines. These are a) creative principles in different storytelling domains, such as screenwriting, video game writing, role playing and improvisational theatre, b) narratological studies of story grammars and structures, and c) principles of designing interactive systems, in the areas of basic HCI design and models, discourse analysis in conversational systems, as well as game- and simulation design. In a case study of artefact building, the initial models have been put into practice, evaluated and extended. These artefacts are a) a conceived authoring tool (‘Scenejo’) for the creation of digital conversational stories, and b) the development of a serious game (‘The Killer Phrase Game’) as an application development. The study demonstrates how starting out from linear storytelling, iterative steps of ‘implicit creation’ can lead to more variability and interactivity in the designed interactive story. In the concrete case, the steps included abstraction of dialogues into conditional actions, and creating a dynamic world model of the conversation. This process and artefact can be used as a model illustrating non-programmer approaches to ‘implicit creation’ in a learning process. Research demonstrates that the field of Interactive Digital Storytelling still has to be further advanced until general creative principles can be fully established, which is a long-term endeavour, dependent upon environmental factors. It also requires further technological developments. The gap is not yet closed, but it can be better explained. The research results build groundwork for education of prospective authors. Concluding the thesis, IDS-specific creative principles have been proposed for evaluation in future work

    Novice programming environments: lowering the barriers, supporting the progression

    Get PDF
    In 2011, the author published an article that looked at the state of the art in novice programming environments. At the time, there had been an increase in the number of programming environments that were freely available for use by novice programmers, particularly children and young people. What was interesting was that they offered a relatively sophisticated set of development and support features within motivating and engaging environments, where programming could be seen as a means to a creative end, rather than an end in itself. Furthermore, these environments incorporated support for the social and collaborative aspects of learning. The article considered five environments—Scratch, Alice, Looking Glass, Greenfoot, and Flip— examining their characteristics and investigating the opportunities they might offer to educators and learners alike. It also considered the broader implications of such environments for both teaching and research. In this chapter, the author revisits the same five environments, looking at how they have changed in the intervening years. She considers their evolution in relation to changes in the field more broadly (e.g., an increased focus on “programming for all”) and reflects on the implications for teaching, as well as research and further development

    Building experiences - a reflective design process for media architecture

    Full text link
    Media Architecture design, although visually prominent and involving interdisciplinary collaboration, rarely succeeds in creating urban situations of contextual relevance beyond temporary effects. This research understands Media Architecture as a communication medium and proposes the need to engage with its multi-stakeholder audience from early on in the conceptual design stage. This practice-led design research presents a broad critical investigation into the emerging field of Media Architecture (Jaschko & Sauter 2006; Foth 2008; Haeusler 2009) spanning conceptions of media space, experience, participation and design as discourse (Scollon & Scollon 2003; Fatah gen. Schieck 2006). Its findings contribute a new perspective on Media Architecture as experiential visual design process, based on an analysis of design methods, principles of participatory design and reflection, as well as an overview and classification of Media Architecture practice. Following a related literature review, the thesis identified experiential learning and the notion of troublesome knowledge (Meyer & Land 2003; Perkins 1999) as a distinguishable new perspective on design for Media Architecture. By connecting exploratory and generative design research tools (i.e., interviews, collaborative expert workshops, visual prototyping) with theoretical constructs of learning theory (Schön 1983; Kolb 1983), experience (McCarthy & Wright 2004) and ownership in urban design (McDonnell 2009; Townsend 2013; Lange & Waal 2013), this thesis developed an experimental design methodology for stakeholder involvement in Media Architecture. An iterative review and reflection process led to methods evolving from initial research tools for analysis to self-reflective design process outcomes. The findings of this study were used to create the Media Architecture Archive (MAA), a digital participatory database using a comprehensive classification system of Media Architecture practice. It is complemented by an experiential method framework based on visual design for contextual research, envisioning and prototyping in Media Architecture. Thus, the research contributes a novel approach to visual communication in Media Architecture, by applying visual design to encourage stakeholder involvement, discourse and reflection at early stages in the design process. The self-reflective structure of the study contributes to our knowledge of how practice-led learning processes applied through visual communication can serve as an extension of the Media Architecture experience as both process and outcome
    • 

    corecore