459 research outputs found

    Object-oriented Tools for Distributed Computing

    Get PDF
    Distributed computing systems are proliferating, owing to the availability of powerful, affordable microcomputers and inexpensive communication networks. A critical problem in developing such systems is getting application programs to interact with one another across a computer network. Remote interprogram connectivity is particularly challenging across heterogeneous environments, where applications run on different kinds of computers and operating systems. NetWorks! (trademark) is an innovative software product that provides an object-oriented messaging solution to these problems. This paper describes the design and functionality of NetWorks! and illustrates how it is being used to build complex distributed applications for NASA and in the commercial sector

    CLPL: Providing software infrastructure for the systematic and effective construction of complex collaborative learning systems

    Get PDF
    Over the last decade, e-Learning and in particular Computer-Supported Collaborative Learning (CSCL) needs have been evolving accordingly with more and more demanding pedagogical and technological requirements. As a result, high customization and flexibility are a must in this context, meaning that collaborative learning practices need to be continuously adapted, adjusted, and personalized to each specific target learning group. These very demanding needs of the CSCL domain represent a great challenge for the research community on software development to satisfy. This contribution presents and evaluates a previous research effort in the form of a generic software infrastructure called Collaborative Learning Purpose Library (CLPL) with the aim of meeting the current and demanding needs found in the CSCL domain. To this end, we experiment with the CLPL in order to offer an advanced reuse-based service-oriented software engineering methodology for developing CSCL applications in an effective and timely fashion. A validation process is provided by reporting on the use of the CLPL platform as the primary resource for the Master's thesis courses at the Open University of Catalonia when developing complex software applications in the CSCL domain. The ultimate aim of the whole research is to yield effective CSCL software systems capable of supporting and enhancing the current on-line collaborative learning practices.Peer ReviewedPostprint (author's final draft

    A component-based collaboration infrastructure

    Get PDF
    Groupware applications allow geographically distributed users to collaborate on shared tasks. However, it is widely recognized that groupware applications are expensive to build due to coordination services and group dynamics, neither of which is present in single-user applications. Previous collaboration transparency systems reuse existing single-user applications as a whole for collaborative work, often at the price of inflexible coordination. Previous collaboration awareness systems, on the other hand, provide reusable coordination services and multi-user widgets, but often with two weaknesses: (1) the multi-user widgets provided are special-purpose and limited in number, while no guidelines are provided for developing multi-user interface components in general; and (2) they often fail to reach the desired level of flexibility in coordination by tightly binding shared data and coordination services. In this dissertation, we propose a component-based approach to developing group- ware applications that addresses the above two problems. To address the first prob- lem, we propose a shared component model for modeling data and graphic user inter- face(GUI) components of groupware applications. As a result, the myriad of existing single-user components can be re-purposed as shared GUI or data components. An adaptation tool is developed to assist the adaptation process. To address the second problem, we propose a coordination service framework which systematically model the interaction between user, data, and coordination protocols. Due to the clean separation of data and control and the capability to dynamically "glue" them together, the framework provides reusable services such as data distribution, persistence, and adaptable consistency control. The association between data and coordination services can be dynamically changed at runtime. An Evolvable and eXtensible Environment for Collaboration (EXEC) is built to evaluate the proposed approach. In our experiments, we demonstrate two benefits of our approach: (1) a group of common groupware features adapted from existing single- user components are plugged in to extend the functionalities of the environment itself; and (2)coordination services can be dynamically attached to and detached from these shared components at different granules to support evolving collaboration needs

    Adaptive object management for distributed systems

    Get PDF
    This thesis describes an architecture supporting the management of pluggable software components and evaluates it against the requirement for an enterprise integration platform for the manufacturing and petrochemical industries. In a distributed environment, we need mechanisms to manage objects and their interactions. At the least, we must be able to create objects in different processes on different nodes; we must be able to link them together so that they can pass messages to each other across the network; and we must deliver their messages in a timely and reliable manner. Object based environments which support these services already exist, for example ANSAware(ANSA, 1989), DEC's Objectbroker(ACA,1992), Iona's Orbix(Orbix,1994)Yet such environments provide limited support for composing applications from pluggable components. Pluggability is the ability to install and configure a component into an environment dynamically when the component is used, without specifying static dependencies between components when they are produced. Pluggability is supported to a degree by dynamic binding. Components may be programmed to import references to other components and to explore their interfaces at runtime, without using static type dependencies. Yet thus overloads the component with the responsibility to explore bindings. What is still generally missing is an efficient general-purpose binding model for managing bindings between independently produced components. In addition, existing environments provide no clear strategy for dealing with fine grained objects. The overhead of runtime binding and remote messaging will severely reduce performance where there are a lot of objects with complex patterns of interaction. We need an adaptive approach to managing configurations of pluggable components according to the needs and constraints of the environment. Management is made difficult by embedding bindings in component implementations and by relying on strong typing as the only means of verifying and validating bindings. To solve these problems we have built a set of configuration tools on top of an existing distributed support environment. Specification tools facilitate the construction of independent pluggable components. Visual composition tools facilitate the configuration of components into applications and the verification of composite behaviours. A configuration model is constructed which maintains the environmental state. Adaptive management is made possible by changing the management policy according to this state. Such policy changes affect the location of objects, their bindings, and the choice of messaging system

    Rethinking Consistency Management in Real-time Collaborative Editing Systems

    Get PDF
    Networked computer systems offer much to support collaborative editing of shared documents among users. Increasing concurrent access to shared documents by allowing multiple users to contribute to and/or track changes to these shared documents is the goal of real-time collaborative editing systems (RTCES); yet concurrent access is either limited in existing systems that employ exclusive locking or concurrency control algorithms such as operational transformation (OT) may be employed to enable concurrent access. Unfortunately, such OT based schemes are costly with respect to communication and computation. Further, existing systems are often specialized in their functionality and require users to adopt new, unfamiliar software to enable collaboration. This research discusses our work in improving consistency management in RTCES. We have developed a set of deadlock-free multi-granular dynamic locking algorithms and data structures that maximize concurrent access to shared documents while minimizing communication cost. These algorithms provide a high level of service for concurrent access to the shared document and integrate merge-based or OT-based consistency maintenance policies locally among a subset of the users within a subsection of the document – thus reducing the communication costs in maintaining consistency. Additionally, we have developed client-server and P2P implementations of our hierarchical document management algorithms. Simulations results indicate that our approach achieves significant communication and computation cost savings. We have also developed a hierarchical reduction algorithm that can minimize the space required of RTCES, and this algorithm may be pipelined through our document tree. Further, we have developed an architecture that allows for a heterogeneous set of client editing software to connect with a heterogeneous set of server document repositories via Web services. This architecture supports our algorithms and does not require client or server technologies to be modified – thus it is able to accommodate existing, favored editing and repository tools. Finally, we have developed a prototype benchmark system of our architecture that is responsive to users’ actions and minimizes communication costs

    A component-based collaboration infrastructure

    Get PDF
    Groupware applications allow geographically distributed users to collaborate on shared tasks. However, it is widely recognized that groupware applications are expensive to build due to coordination services and group dynamics, neither of which is present in single-user applications. Previous collaboration transparency systems reuse existing single-user applications as a whole for collaborative work, often at the price of inflexible coordination. Previous collaboration awareness systems, on the other hand, provide reusable coordination services and multi-user widgets, but often with two weaknesses: (1) the multi-user widgets provided are special-purpose and limited in number, while no guidelines are provided for developing multi-user interface components in general; and (2) they often fail to reach the desired level of flexibility in coordination by tightly binding shared data and coordination services. In this dissertation, we propose a component-based approach to developing group- ware applications that addresses the above two problems. To address the first prob- lem, we propose a shared component model for modeling data and graphic user inter- face(GUI) components of groupware applications. As a result, the myriad of existing single-user components can be re-purposed as shared GUI or data components. An adaptation tool is developed to assist the adaptation process. To address the second problem, we propose a coordination service framework which systematically model the interaction between user, data, and coordination protocols. Due to the clean separation of data and control and the capability to dynamically "glue" them together, the framework provides reusable services such as data distribution, persistence, and adaptable consistency control. The association between data and coordination services can be dynamically changed at runtime. An Evolvable and eXtensible Environment for Collaboration (EXEC) is built to evaluate the proposed approach. In our experiments, we demonstrate two benefits of our approach: (1) a group of common groupware features adapted from existing single- user components are plugged in to extend the functionalities of the environment itself; and (2)coordination services can be dynamically attached to and detached from these shared components at different granules to support evolving collaboration needs

    The technology of casually connected collaboration

    Get PDF
    Since the early eighties researchers have been studying the use of technology that supports collaboration amongst co-workers and group members. This field of computer science became known as Computer Supported Cooperative Work (CSCW). With the advent of wireless and mobile Internet communication technologies research in the CSCW field has been focused on providing “access, anytime and anywhere”. The main contribution of this study is to introduce and analyze the technology required to support casually connected collaboration. Firstly, we define casually connected collaboration as having “access, anytime and anywhere” to collaborators and resources without having explicit control or knowledge over the environment and its technical abilities. In order to distinguish between connected, mobile, and casually connected collaboration we introduce a conceptual model of collaboration that extrapolates the term “access, anytime and anywhere”. We then aim to prove the soundness of our model by using it to classify some well known collaboration scenarios. Furthermore, by evaluating the functional and non-functional requirements for a casually connected collaboration solution, we argue that current commercial and CSCW research implementations do not sufficiently meet these demands. We then present Nomad: a Peer-to-Peer framework specifically designed to overcome the challenges encountered in casually connected collaboration. We study the technology requirements and highlight the implementation details that enabled us to successfully conform to the requirements set by casually connected collaboration. Finally, we pave the road for future work by investigating new features introduced into the Microsoft .NET Framework version 4.0, Visual Studio 2010 and language enhancements made to C# version 4.0.Dissertation (MSc)--University of Pretoria, 2009.Computer Scienceunrestricte

    Virtual workplaces : when metaphors breakdown

    Get PDF
    Thesis (M.S.)--Massachusetts Institute of Technology, Dept. of Architecture, 1998.Includes bibliographical references (leaves 79-81).Our model of work is shaped by the places we choose to work and the tools we choose to work with. As we introduce new technologies and build new environments our model is changing. Today's virtual workplaces are grounded in models of work that have been reformed from our experiences using current technology in physical workspace. However we are discovering opportunities and possibilities for work in collaborative, virtual environments that question physical models. Emerging patterns of distributed collaboration in persistent virtual environments are changing the way we work in time and space, recasting our notion of workplace. Virtual workplaces are interpreted and experienced through metaphors that describe a space of potential for work occurrences. Through the lens of metaphors, this research focuses on breakdowns between collaborative work and the environment in which work occurs. If what we understand and predict is based on what we already know, then by examining the breakdowns between design and use of collaborative environments we can illuminate the space of possibilities for collaborative work.by Thomas W.I. Gallemore.M.S
    • …
    corecore