1,164 research outputs found

    Simulated self-organization of a peer to peer awareness network

    Get PDF
    A simulation process and tool used to test and evaluate the algorithms necessary to optimally arrange a peer-to-peer distributed awareness system for Software Engineering

    Tutor perception of delivery mechanisms for online tutorials

    Get PDF

    Frameworks for enhancing temporal interface behaviour through software architectural design

    Get PDF
    The work reported in this thesis is concerned with understanding aspects of temporal behaviour. A large part of the thesis is based on analytical studies of temporal properties and interface and architectural concerns. The main areas covered include: i. analysing long-term human processes and the impact of interruptions and delays ii. investigating how infrastructures can be designed to support synchronous fast pace activity iii.design of the Getting-to-Know (GtK) experimental notification server The work is motivated by the failure of many collaborative systems to effectively manage the temporal behaviour at the interface level, as they often assume that the interaction is taking place over fast, reliable local area networks. However, the Web has challenged this assumption and users are faced with frequent network-related delays. The nature of cooperative work increases the importance of timing issues. Collaborative users require both rapid feedback of their own actions and timely feedthrough of other actions. Although it may appear that software architectures are about the internals of system design and not a necessary concern for the user interface, internal details do show up at the surface in non-functional aspects, such as timing. The focus of this work is on understanding the behavioural aspects and how they are influenced by the infrastructure. The thesis has contributed to several areas of research: (a)the study of long-term work processes generated a trigger analysis technique for task decomposition in HCI (b)the analysis of architectures was later applied to investigate architectural options for mobile interfaces (c)the framework for notification servers commenced a design vocabulary in CSCW for the implementation of notification services, with the aim of improving design (d)the impedance matching framework facilitate both goal-directed feedthrough and awareness In particular, (c) and (d) have been exercised in the development of the GtK separable notification server

    Ubiq-exp: A toolkit to build and run remote and distributed mixed reality experiments

    Get PDF
    Developing mixed-reality (MR) experiments is a challenge as there is a wide variety of functionality to support. This challenge is exacerbated if the MR experiment is multi-user or if the experiment needs to be run out of the lab. We present Ubiq-Exp - a set of tools that provide a variety of functionality to facilitate distributed and remote MR experiments. We motivate our design and tools from recent practice in the field and a desire to build experiments that are easier to reproduce. Key features are the ability to support supervised and unsupervised experiments, and a variety of tools for the experimenter to facilitate operation and documentation of the experimental sessions. We illustrate the potential of the tools through three small-scale pilot experiments. Our tools and pilot experiments are released under a permissive open-source license to enable developers to appropriate and develop them further for their own needs

    Concur: An Investigation of Lightweight Migration in Support of Centralized Synchronous Distributed Collaboration

    Get PDF
    Synchronous distributed collaborative systems support simultaneous observation of and interaction with shared objects by multiple, dispersed participants. Centralized architectures for such systems support simple user mental models and are comparatively easy to implement, but they suffer from high latency. Replicated architectures improve latency at the expense of more complex user mental models and implementations. Hybrid and dynamic architectures apply centralized and replicated sub-architectures in an attempt to get the best of both worlds, but in reality they further complicate implementations and user mental models. Concur is an architecture I developed to investigate lightweight migration as an alternative means to attain the best characteristics of centralized and replicated architectures. Previous dynamic architectures improved latency using the migration of heavyweight processes or (object-oriented) objects, which is costly in terms of migration time and runtime requirements. In Concur I have instead organized collaborative applications and supporting infrastructures around migrating entities which are not required to have full process or object semantics. These entities are classified by properties affecting migration, such as their size and their use of external references. In this way I achieved both the simpler user mental models and implementations of centralized systems and the superior latency characteristics of replicated systems. Concur accomplishes this through the fast migration of lightweight entities in a multi-centered centralized system, where a multi-centered system is defined as having single physical center and multiple, independently-migrating and entity-specific logical centers. This dissertation also identifies other significant advantages of the Concur architecture. Sub-object, easily-migratable entity classes minimize runtime requirements, facilitating widespread entity distribution. This in turn helps us to achieve the critical mass required for the success of any communication technology. The speed of lightweight entity migration also enables migrations to be triggered based on telegraphed user intentions (user actions that hint at imminent succeeding actions). I have demonstrated that telegraphed intentions are more accurate predictors of future interactions than the recent interaction histories considered in previous systems. Migrating entities based on these telegraphed intentions increases the probability that an entity will be located near a user when he begins to manipulate it

    Investigations of collaborative design environments: A framework for real-time collaborative 3D CAD

    Get PDF
    This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.This research investigates computer-based collaborative design environments, in particular issues of real-time collaborative 3D CAD. The thesis first presents a broad perspective of collaborative design environments with a preliminary case study of team design activities in a conventional and a computer mediated setting. This study identifies the impact and the feasibility of computer support for collaborative design and suggests four kinds of essential technologies for a successful collaborative design environment: information-sharing systems, synchronous and asynchronous co- working tools, project management systems, and communication systems. A new conceptual framework for a real-time collaborative 3D design tool, Shared Stage, is proposed based upon the preliminary study. The Shared Stage is defined as a shared 3D design workspace aiming to smoothly incorporate shared 3D workspaces into existing individual 3D workspaces. The addition of a Shared Stage allows collaborating designers to interact in real-time and to have a dynamic and interactive exchange of intermediate 3D design data. The acceptability of collaborative features is maximised by maintaining consistency of the user interface between 3D CAD systems. The framework is subsequently implemented as a software prototype using a new software development environment, customised by integrating related real-time and 3D graphic software development tools. Two main components of the Shared Stage module in the prototype, the Synchronised Stage View (SSV) and the Data Structure Diagram (DSD), provide essential collaborative features for real-time collaborative 3D CAD. These features include synchronised shared 3D representation, dynamic data exchange and awareness support in 3D workspaces. The software prototype is subsequently evaluated to examine the usefulness and usability. A range of quantitative and qualitative methods is used to evaluate the impact of the Shared Stage. The results, including the analysis of collaborative interactions and user perception, illustrate that the Shared Stage is a feasible and valuable addition for real-time collaborative 3D CAD. This research identifies the issues to be addressed for collaborative design environments and also provides a new framework and development strategy of a novel real-time collaborative 3D CAD system. The framework is successfully demonstrated through prototype implementation and an analytical usability evaluation.Financial support from the Department and from the UK government through the Overseas Research Studentship Awards

    Programming Languages for Distributed Computing Systems

    Get PDF
    When distributed systems first appeared, they were programmed in traditional sequential languages, usually with the addition of a few library procedures for sending and receiving messages. As distributed applications became more commonplace and more sophisticated, this ad hoc approach became less satisfactory. Researchers all over the world began designing new programming languages specifically for implementing distributed applications. These languages and their history, their underlying principles, their design, and their use are the subject of this paper. We begin by giving our view of what a distributed system is, illustrating with examples to avoid confusion on this important and controversial point. We then describe the three main characteristics that distinguish distributed programming languages from traditional sequential languages, namely, how they deal with parallelism, communication, and partial failures. Finally, we discuss 15 representative distributed languages to give the flavor of each. These examples include languages based on message passing, rendezvous, remote procedure call, objects, and atomic transactions, as well as functional languages, logic languages, and distributed data structure languages. The paper concludes with a comprehensive bibliography listing over 200 papers on nearly 100 distributed programming languages
    • …
    corecore