79,043 research outputs found

    A Multiview Visualisation Architecture for Open Distributed Systems

    Get PDF
    Program visualisation is an attractive way for understanding collaboration structures of complex distributed systems. By using the concepts of the open distributed processing-reference model (ODP-RM) as entities for visualisation, a multiview visualisation architecture is presented, which provides a large degree of flexibility in visualising the actions of an ODP system. The architecture has been implemented for visualising the CORBA system resulting in a visualisation tool called OBVlouS

    Viper : a visualisation tool for parallel program construction

    Get PDF
    +133hlm.;24c

    Runtime visualisation of object-oriented software

    Get PDF
    Software is a complex and invisible entity, yet one which is core to modem life. The development and maintenance of such software includes one staple task, the need to understand the software at the implementation level. This process of program comprehension is difficult and time consuming. Yet, despite its importance, there remains very limited tool support for program comprehension activities. The results of this research show the role that runtime visualisation can play in aiding the comprehension of object-oriented software by highlighting both its static and dynamic structure. Previous work in this area is discussed, both in terms of the representations used and the methods of extracting runtime information. Building on this previous work, this thesis develops new representations of object-oriented software at runtime, which are then implemented in a proof of concept tool. This tool allowed the representations to be investigated on real software systems. The representations are evaluated against two feature-based evaluation frameworks. The evaluation focuses on generic software visualisation criteria, due to the lack of any specific frameworks for visualising dynamic information. The evaluation also includes lessons learnt in the implementation of a prototype visualisation tool. The object-oriented paradigm continues to grow in popularity and provides advantages to program comprehension activities. However, it also brings a number of new challenges to program comprehension due to the discrepancies between its static definition and its runtime structure. Therefore, techniques that highlight both the static definition and the runtime behaviour of object-oriented systems offer benefits to their comprehension. Software visualisation offers an approach to aid program comprehension activities through providing a means to deal with the size and complexity of the software and its invisible nature. This thesis highlights the generic issues that software visualisation faces, before focusing on how the visualisation of runtime information affects these issues. Many of the issues are compounded by the dynamic nature of the information to be visualised and the explosive growth in the volume of information that this dynamism can bring. Wider results of this research have allowed the proposal of the necessary concepts that should be considered in the design and evaluation of runtime visualisations. Software visualisation at runtime is still a relatively unexplored area and there remains many research challenges within it. This thesis aims to act as a first step to addressing these challenges and aims to promote interest and future development within this area

    A tool for creating and visualising formal concept trees

    Get PDF
    This paper presents a tool for creating and visualising formal concept trees. The concept tree provides an alternative visualisation to the more commonly known concept lattice. The tool described here is an extension of the In-Close formal concept mining program, where concepts are output in a format that can be visualised in a Web Browser using the Collapsible Tree Layout from the D3.js JavaScript library. Because the visualisation is expandable and collapsible, the tool is able to deal with large trees and the user is able to explore branches with single mouse clicks and by panning and zooming the tree. So-called ‘iceberg trees’ can also be produced, by specifying a minimum support for objects

    Architectural visualisation toolkit for 3D Studio Max users

    Get PDF
    Architectural Visualisation has become a vital part of the design process for architects and engineers. The process of modelling and rendering an architectural visualisation can be complex and time consuming with only a few tools available to assist novice modellers. This paper looks at available solutions for visualisation specialists including AutoCAD, 3D Studio Max and Google SketchUp as well as available solutions which attempt to automate the process including Batzal Roof Designer. This thesis details a new program which has been developed to automate the modelling and rendering of the architectural visualisation process. The tool created for this thesis is written in MAXScript and runs along side 3D Studio Max. N.B.: Audio files were attached to this thesis at the time of its submission. Please refer to the author for further details

    Visualising Java Coupling and Fault Proneness

    Get PDF
    In this paper, a tool is described for visualising the Coupling Between Objects (CBO) metric for Java systems, decomposing it into coupling collaborators and using colour to denote the object-oriented mechanisms at work for each couple. The resulting visualisation is also envisaged to be useful for general program comprehension and is integrated into Java development in the Eclipse IDE. Evidence is also given that the visualisation may help detect classes tending to be less fault-prone than would be expected from inspection of their CBO values alone

    Visualising software in cyberspace

    Get PDF
    The problems of maintaining software systems are well documented. The increasing size and complexity of modern software serves only to worsen matters. Software maintainers are typically confronted with very large and very complex software systems, of which they may have little or no prior knowledge. At this stage they will normally have some maintenance task to perform, though possibly little indication of where or how to start. They need to investigate and understand the software to some extent in order to begin maintenance. This understanding process is termed program comprehension. There are various theories on program comprehension, many of which put emphasis on the construction of a mental model of the software within the mind of the maintainor. These same theories hypothesise a number of techniques employed by the maintainer for the creation and revision of this mental model. Software visualisation attempts to provide tool support for generating, supplementing and verifying the maintainer’s mental model. The majority of software visualisations to date have concentrated on producing two dimensional representations and animations of various aspects of a software system. Very little work has been performed previously regarding the issues involved in visualising software within a virtual reality environment. This research represents a significant first step into this exciting field and offers insight into the problems posed by this new media. This thesis provides an identification of the possibilities afforded byU3D graphics for software visualisation and program comprehension. It begins by defining seven key areas of 3D software visualisation, followed by the definition of two terms, visualisation and representation. These two terms provide a conceptual division between a visualisation and the elements of which it is comprised. This division enables improved discussion of the properties of a 3D visualisation and particularly the idenfification of properties that are desirable for a successful visualisation. A number of such desirable properties are suggested for both visualisations and representations, providing support for the design and evaluation of a 3D software visualisation system. Also presented are a number of prototype visualisations, each providing a different approach to the visualisation of a software system. The prototypes help demonstrate the practicalities and feasibility of 3D software visualisation. Evaluation of these prototypes is performed using a variety of techniques, the results of which emphasise the fact that there is substantial potential for the application of 3D graphics and virtual reality to software visualisation

    TRACING LEARNING ENVIRONMENT IN JAVA PROGRAMMING LANGUAGE

    Get PDF
    The visualisation approach is one of the programming learning styles that has been taken into account in programming education. A collection of visualisation tools has emerged with the aim of assisting novice programmers in learning how to program. Each tool has its own set of features that may or may not be helpful in gaining a better understanding. The methods that we used in this study are focused on using memory referencing and visualisation to clarify what happens during individual program statement executions. Understanding the efficacy of current instructional resources is a critical component of gathering students' requirements and needs for future improvement. The “Tracing Learning Environment” (TLE) is developed for novice programmers to help them trace the sequence of execution of a software program and the reserved place of data in the memory. The framework relies on using visualisation as the programs are run and to show the effect of each statement in the code. It provides an environment for learners to see what happens to the data while running the program. The specification of the TLE draws largely on research regarding the role of visualisation in teaching computer programming and associated literature on tools to support learning programming. The TLE framework has been evaluated by conducting an empirical study using a mixed-method approach with novice and expert participants. The study has included surveys, focus groups, and semi-structured interviews. Student performance was measured before and after using the visualisation tool and compared with a control group who participated in a standard teaching session only. Early findings highlighted the need to visualise the control of the execution of code, evaluation of expressions, represent the class hierarchy along with the importance of a good interface/usability of the tool and to consider the programming languages supported. The evaluation findings are in line with the literature surrounding the benefits of using visualisation in learning to program. The findings found visualisation increased the students’ performance and confidence. When compared to the regular lab activities, the visualisation contributed to better understanding and support for learning to program.Ministry of Education, Saudi Arabi

    Software visualisation for object-oriented program comprehension

    Get PDF
    Software visualisation is the process of modelling software systems for comprehension. The comprehension of software systems both during and after development is a crucial component of the software process. The complex interactions inherent in the object-oriented paradigm make visualisation a particularly appropriate comprehension technique, and the large volume of information typically generated during visualisation necessitates tool support

    A comparative evaluation of dynamic visualisation tools

    Get PDF
    Despite their potential applications in software comprehension, it appears that dynamic visualisation tools are seldom used outside the research laboratory. This paper presents an empirical evaluation of five dynamic visualisation tools - AVID, Jinsight, jRMTool, Together ControlCenter diagrams and Together ControlCenter debugger. The tools were evaluated on a number of general software comprehension and specific reverse engineering tasks using the HotDraw objectoriented framework. The tasks considered typical comprehension issues, including identification of software structure and behaviour, design pattern extraction, extensibility potential, maintenance issues, functionality location, and runtime load. The results revealed that the level of abstraction employed by a tool affects its success in different tasks, and that tools were more successful in addressing specific reverse engineering tasks than general software comprehension activities. It was found that no one tool performs well in all tasks, and some tasks were beyond the capabilities of all five tools. This paper concludes with suggestions for improving the efficacy of such tools
    • 

    corecore