3,396 research outputs found

    Enabling collaboration in virtual reality navigators

    Get PDF
    In this paper we characterize a feature superset for Collaborative Virtual Reality Environments (CVRE), and derive a component framework to transform stand-alone VR navigators into full-fledged multithreaded collaborative environments. The contributions of our approach rely on a cost-effective and extensible technique for loading software components into separate POSIX threads for rendering, user interaction and network communications, and adding a top layer for managing session collaboration. The framework recasts a VR navigator under a distributed peer-to-peer topology for scene and object sharing, using callback hooks for broadcasting remote events and multicamera perspective sharing with avatar interaction. We validate the framework by applying it to our own ALICE VR Navigator. Experimental results show that our approach has good performance in the collaborative inspection of complex models.Postprint (published version

    Engineering Object-Oriented Semantics Using Graph Transformations

    Get PDF
    In this paper we describe the application of the theory of graph transformations to the practise of language design. We have defined the semantics of a small but realistic object-oriented language (called TAAL) by mapping the language constructs to graphs and their operational semantics to graph transformation rules. In the process we establish a mapping between UML models and graphs. TAAL was developed for the purpose of this paper, as an extensive case study in engineering object-oriented language semantics using graph transformation. It incorporates the basic aspects of many commonly used object-oriented programming languages: apart from essential imperative programming constructs, it includes inheritance, object creation and method overriding. The language specification is based on a number of meta-models written in UML. Both the static and dynamic semantics are defined using graph rewriting rules. In the course of the case study, we have built an Eclipse plug-in that automatically transforms arbitrary TAAL programs into graphs, in a graph format readable by another tool. This second tool is called Groove, and it is able to execute graph transformations. By combining both tools we are able to visually simulate the execution of any TAAL program

    Context Aware Middleware Architectures: Survey and Challenges

    Get PDF
    Abstract: Context aware applications, which can adapt their behaviors to changing environments, are attracting more and more attention. To simplify the complexity of developing applications, context aware middleware, which introduces context awareness into the traditional middleware, is highlighted to provide a homogeneous interface involving generic context management solutions. This paper provides a survey of state-of-the-art context aware middleware architectures proposed during the period from 2009 through 2015. First, a preliminary background, such as the principles of context, context awareness, context modelling, and context reasoning, is provided for a comprehensive understanding of context aware middleware. On this basis, an overview of eleven carefully selected middleware architectures is presented and their main features explained. Then, thorough comparisons and analysis of the presented middleware architectures are performed based on technical parameters including architectural style, context abstraction, context reasoning, scalability, fault tolerance, interoperability, service discovery, storage, security & privacy, context awareness level, and cloud-based big data analytics. The analysis shows that there is actually no context aware middleware architecture that complies with all requirements. Finally, challenges are pointed out as open issues for future work

    Context Aware Computing for The Internet of Things: A Survey

    Get PDF
    As we are moving towards the Internet of Things (IoT), the number of sensors deployed around the world is growing at a rapid pace. Market research has shown a significant growth of sensor deployments over the past decade and has predicted a significant increment of the growth rate in the future. These sensors continuously generate enormous amounts of data. However, in order to add value to raw sensor data we need to understand it. Collection, modelling, reasoning, and distribution of context in relation to sensor data plays critical role in this challenge. Context-aware computing has proven to be successful in understanding sensor data. In this paper, we survey context awareness from an IoT perspective. We present the necessary background by introducing the IoT paradigm and context-aware fundamentals at the beginning. Then we provide an in-depth analysis of context life cycle. We evaluate a subset of projects (50) which represent the majority of research and commercial solutions proposed in the field of context-aware computing conducted over the last decade (2001-2011) based on our own taxonomy. Finally, based on our evaluation, we highlight the lessons to be learnt from the past and some possible directions for future research. The survey addresses a broad range of techniques, methods, models, functionalities, systems, applications, and middleware solutions related to context awareness and IoT. Our goal is not only to analyse, compare and consolidate past research work but also to appreciate their findings and discuss their applicability towards the IoT.Comment: IEEE Communications Surveys & Tutorials Journal, 201

    Capability by Stacking: The Current Design Heuristic for Soft Robots

    Get PDF
    Soft robots are a new class of systems being developed and studied by robotics scientists. These systems have a diverse range of applications including sub-sea manipulation and rehabilitative robotics. In their current state of development, the prevalent paradigm for the control architecture in these systems is a one-to-one mapping of controller outputs to actuators. In this work, we define functional blocks as the physical implementation of some discrete behaviors, which are presented as a decomposition of the behavior of the soft robot. We also use the term ‘stacking’ as the ability to combine functional blocks to create a system that is more complex and has greater capability than the sum of its parts. By stacking functional blocks a system designer can increase the range of behaviors and the overall capability of the system. As the community continues to increase the capabilities of soft systems—by stacking more and more functional blocks—we will encounter a practical limit with the number of parallelized control lines. In this paper, we review 20 soft systems reported in the literature and we observe this trend of one-to-one mapping of control outputs to functional blocks. We also observe that stacking functional blocks results in systems that are increasingly capable of a diverse range of complex motions and behaviors, leading ultimately to systems that are capable of performing useful tasks. The design heuristic that we observe is one of increased capability by stacking simple units—a classic engineering approach. As we move towards more capability in soft robotic systems, and begin to reach practical limits in control, we predict that we will require increased amounts of autonomy in the system. The field of soft robotics is in its infancy, and as we move towards realizing the potential of this technology, we will need to develop design tools and control paradigms that allow us to handle the complexity in these stacked, non-linear systems

    A consistency service for replicated heterogeneous databases in a Grid environment

    Get PDF
    The present work, written during a period of scientific collaboration with INFN (National Institute of Nuclear Physics), proposes a mechanism for maintaining consistency among replicated heterogeneous databases. This mechanism is integrated in a Replica Consistency Service for Data Grid environments. Nowadays, an increasing number of applications, manage an enormous quantity of data distributed on a very large scale. In a Data Grid the data files are replicated to different sites. The replication of data among multiple databases is the only way to ensure that the data are available where and when they are needed. The catalogs, used for maintaining information about the state of file replicas in a Data Grid, use replication to improve availability, to reduce data access latency, and to improve the performances of distributed applications. Moreover it is useful for fault tolerance. A Data Grid may serve different user communities (Virtual Organizations), with different requirements. Therefore different types of data may be stored in different formats and in storage devices of different vendors. A mechanism is needed to maintain consistency among the replicas of a certain catalog that uses heterogeneous back-end databases. In a Data Grid, heterogeneous data storage involves the problem of a uniform interface to access heterogeneous information; this problem requires tools for data integration. Our goal for this work is to provide the ability to manage and to execute a replica synchronization; in particular we have a replica on an Oracle server and another replica on a MySQL server with the same logical schema. With the word "synchronization" we mean that an update of the target database will be done. Only the changes that happen on the source database will be propagated to the target database
    corecore