15 research outputs found

    End-User Composition of Graphical User Interfaces for PalCom Systems

    Get PDF
    AbstractIn ubiquitous computing, end-user composition allows users to combine multiple single-purpose devices into new, interesting constellations. In PalCom – a ubiquitous middleware – this is achieved without the need to write program code. In this paper we present a solution that in the same way allows users to create Graphical User Interfaces (GUIs) for such systems without coding. The approach is to focus on presenting functionality in a GUI rather than attaching functionality to manually added components. We see this as an inverted way of working with GUI development. The solution was realized in the form of a graphical editor for a PalCom specific User Interface Description Language. The tool produces platform independent GUI descriptions that can be interpreted on any platform. When compared to another common tool, the presented editor exhibited roughly 10x shorter development times. The learning time for new users was also evaluated with positive outcome, and a scalability evaluation showed that the solution can be used to create professional grade GUIs

    Inverted GUI Development for IoT with Applications in E-Health

    Get PDF
    In the context of Internet of Things (IoT), the research of this dissertation is concerned with the development of applications for end-user devices, i.e. devices through which the end-user directly interacts with systems. The complexity of such applications is partly due to network intricacies, and partly because GUI (Graphical User Interface) development is generally complicated and time consuming. We employ a middleware framework called PalCom to manage the former, and focus our research on the problems of the latter, by expanding the scope of PalCom to also enable GUI development. In particular, the research goal is a more efficient GUI development approach that does not require program code to be written.To enable end-users with little or no programming experience to participate in the GUI development process, we eliminate the need for programming by introducing a new development approach. We view this approach as “inverted” in that the development focus is on presenting functionality from an application model as graphical components in a GUI, rather than on retroactively attaching functionality to manually added graphical components. The inverted GUI development approach is supported in two steps. First, we design a language for describing GUIs, and implement interpreters that communicate with remotely hosted application models and render GUI descriptions as fully functional GUIs. Second, we implement a graphical editor for developing GUIs in order to make the language more accessible.The presented solution is evaluated by its application in a number of research projects in the domain of e-health. From the GUIs developed in those projects, we conclude that the GUI language is practically viable for building full-blown, professional grade GUIs. Furthermore, the presented graphical editor is evaluated by direct comparison to a market leading product in a controlled experiment. From this, we conclude that the editor is accessible to new users, and that it can be more efficient to use than the commercial alternative

    Support for Ad-Hoc applications in ubiquitous computing

    Get PDF
    This thesis presents work within the area of ubiquitous computing, an area based on a vision of computers blending into the background. The work has been done within the EU project PalCom that introduces palpable computing. Palpable computing puts a new perspective on ubiquitous computing, by focusing on human understandability. The thesis goals are to allow for ad-hoc combinations of services and nonpreplanned interaction in ubiquitous computing networks. This is not possible with traditional technologies for network services, which are based on standardization of service interfaces at the domain level. In contrast to those, our approach is based on standardization at a generic level, and on self-describing services. We propose techniques for ad-hoc applications that allow users to inspect and combine services, and to specify their cooperation in assemblies. A key point is that the assembly is external to the services. That makes it possible to adapt to changes in one service, without rewriting the other coordinated services. A framework has been implemented for building services that can be combined into ad-hoc applications, and example scenarios have been tested on top of the framework. A browser tool has been built for discovering services, for interacting with them, and for combining them. Finally, discovery and communication protocols for palpable computing have been developed, that support ad-hoc applications

    ComPOS - a Domain-Specific Language for Composing Internet-of-Things Systems

    Get PDF
    Internet-of-Things (IoT) systems consist of spatially distributed interacting devices. In contrast to desktop applications, IoT systems are always running and need to deal with unresponsive devices and weak connectivity. In this thesis, we propose techniques for simplifying the development of such systems. The work addresses IoT systems organised as reusable services connected by compositions. We propose to program such compositions using stateful reactions that mediate messages. To this end, we have designed a domain-specific language (DSL), called ComPOS. To help systems operate partly in cases of weak connectivity, we propose that ComPOS aborts older reactions when newer messages arrive. We evaluate our DSL in home-automation and e-health scenarios. Understanding IoT systems can be hard, and different analyses can help explain how they work. To support analysis, we propose a conceptual runtime model based on relational reference attribute grammars. We demonstrate the approach by formulating and implementing a Device Dependency Analysis (DDA). The DDA finds sets of devices needed for given parts of the system to work. The ComPOS editor supports live programming to allow development while the system is running. We propose a methodology for live ComPOS programming which divides the development into three, iteratively applied, phases: finding services (explore), composing services (assemble), and abstracting compositions as new services (expose). When developing a DSL, it takes substantial effort to specify the syntax and semantics, to build tools like editors, and to integrate with the environment (in this case the underlying middleware). To reduce the effort needed to experiment with ComPOS, we have created a tool called Jatte. Jatte is a generic projectional editor that developers can tune using attribute grammars. We used Jatte to implement the ComPOS editor

    Designing and Implementing a Framework for Real-time Robot Controller Clients

    Get PDF
    This research paper designs a framework for developing real-time clients that communicate with robot controllers built by students at the University of Stavanger. The framework provides patterns that handle time-sensitive components and demonstrates a technique for functional scalability. A brief section introduces design metrics for user experience. The report presents three use cases covering functionality for actuating a robot and reading its movements in real time. This thesis implemented the three use cases in the spring semester of 2022, and the results show that it is possible to model use cases, but implementing complex use cases requires more effort

    Bridging ROS for Heterogeneous Integration in Mobile Robot Systems

    Get PDF
    We investigate the difficulty of integrating disparate, heterogeneous systems which have not been designed to work together. Such difficulties may arise from differences in communication protocols or data formats, making an in- tegration effort largely manual and labor intensive. The investigation is done in the context of integrating two different robot systems, one mobile platform running ROS (Robot Operating System) and one stationary two-armed ABB robot. The thesis consists of two parts. First, existing solutions to this problem (or parts of it) are examined and evaluated for their applicability. After no suitable solution is found, a tool is then created which solves the problem of integrating non-ROS compatible devices with a ROS system. The presented tool is a program that generates modular bridging nodes between ROS and other systems. Finally, the tool proves its value in the integration of two different robots, where one system also receives some additional changes for practical reasons

    Overview browser for PalCom assemblies

    Get PDF
    Internet of Things (IoT) has become a frequent subject mentioned worldwide. PalCom is a system for handling the problems that occurs in IoT applications and is focused on the user groups that are developers and skilled PalCom participants. This forecloses a higher level user group for managing their own PalCom network, e.g. end users for a smart home where they build their own smart home manager with PalCom. In this Master's Thesis we came up with a solution for a tool that shows an overview of an assembly and that is able to edit such an assembly. The assembly is used to create and manage the devices in the network. The evaluation was done by letting people try our solution and the old one and then compare the results.Ett krav för att den vanliga konsumenten ska använda sig av ett Internet of Things-system är användarvänligheten. PalCom efterlevde inte detta krav, men numera kan användarna genom vårt grafiska gränssnitt enkelt få en överblick över sina kopplingar

    Erotic Aspects of Everyday Life as a Challenge for Ubiquitous Computing

    Get PDF
    In this paper we discuss how interactive technology disables or enables erotic aspects of everyday life, and we discuss a number of design concepts in order to relate erotic aspects to the issue of visibility versus invisibility in ambient computing. This discussion has general relevance for the study of residual categories in ubiquitous computing

    On the Integration of Skilled Robot Motions for Productivity in Manufacturing

    Get PDF
    Robots used in manufacturing today are tailored to their tasks by system integration based on expert knowledge concerning both production and machine control. For upcoming new generations of even more flexible robot solutions, in applications such as dexterous assembly, the robot setup and programming gets even more challenging. Reuse of solutions in terms of parameters, controls, process tuning, and of software modules in general then gets increasingly important. There has been valuable progress within reuse of automation solutions when machines comply with standards and behave according to nominal models. However, more flexible robots with sensor-based manipulation skills and congnitive functions for human inteaction are far too complex to manage, and solutions are rarely reusable since knowledge is either implicit in imperative software or not captured in machine readable form. We propose techniques that build on existing knowledge by converting structured data into an RDF-based knowledge base. By enhancements of industrial control systems and available engineering tools, such knowledge can be gradually extended as part of the interaction during the definition of the robot task
    corecore