10 research outputs found

    Networking Media Abstraction, Device Discovery, and Routing for the Pervasive Middleware PalCom

    Get PDF
    PalCom is a pervasive middleware that can be used to assemble services provided by networked devices into configurations, called assemblies, for specific use cases by the user. In this dissertation, we present the development of a networking media abstraction framework for PalCom that abstracts different network interfaces in a PalCom device to upper layers of PalCom. The media abstraction framework is documented in paper I. Over the media abstraction layer, we define a device discovery mechanism that enables a PalCom device to discover other devices on its local networks, where it has network interfaces, as well as across interconnected networks. The device discovery mechanism is documented in paper II. On top of the device discovery layer, we implemented support for distance vector routing that enables routing data among discovered devices via the least cost routes. The routing layer is documented in paper III. In the last phase of our work, we refined our device discovery mechanism for PalCom to include a distributed synchronization algorithm that two PalCom nodes can utilize to re-sync their exchanged views of the network to overcome possible loss of device discovery and undiscovery notifications over unreliable channels. The synchronization algorithm is documented in paper IV

    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

    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

    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

    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

    Personalised service discovery in mobile environments

    Get PDF
    In recent years, some trends have emerged that pertain both to mobile devices and the Web. On one side, mobile devices have transitioned from being simple wireless phones to become ubiquitous Web-enabled users' companions. On the other side, the Web has evolved from an online one-size-fits-all collection of interlinked documents to become an open platform of personalised services and content. It will not be long before these trends will converge and create a Seamless Web: an integrated environment where, besides traditional services delivered by powerful server machines accessible via wide area networks, new services and content will be offered by users to users via their portable devices. As a result, mobile users will soon be exposed - in addition to traditional "on-line" Web services/content - to a parallel universe of pervasive "off-line" services provided by devices in their surroundings. Such circumstances will raise new challenges when it comes to selecting the services to rely on, that will require solutions grounded on the characteristics of mobile environments. Two aspects will require particular attention: first, users will have access to a countless multitude of services impossible to explore; they will need assistance to identify, among this multitude, those services they are most likely to enjoy. Secondly, if today's services (and their providers) are always-on, `static' and aiming at Five 9s availability, tomorrow's pervasive services will be mobile (as devices move), fine-grained, increasingly composite (to provide richer functionalities) and so more unreliable by nature. Our research tackles the problem of service discovery in pervasive environments in two ways: on one hand, we support personalised discovery by means of a mobile recommender system, easing the discovery of pervasive services appealing to end-users. On the other hand, we enable reliable discovery, by reasoning on the composite nature of pervasive services and the physical availability of their component providers. Overall, we provide a discovery method that enables 'better' pervasive services, where by 'better' we mean both `more interesting' to the user and 'more reliable'

    Live Streaming with Gossip

    Get PDF
    Peer-to-peer (P2P) architectures have emerged as a popular paradigm to support the dynamic and scalable nature of distributed systems. This is particularly relevant today, given the tremendous increase in the intensity of information exchanged over the Internet. A P2P system is typically composed of participants that are willing to contribute resources, such as memory or bandwidth, in the execution of a collaborative task providing a benefit to all participants. File sharing is probably the most widely used collaborative task, where each participant wants to receive an individual copy of some file. Users collaborate by sending fragments of the file they have already downloaded to other participants. Sharing files containing multimedia content, files that typically reach the hundreds of megabytes to gigabytes, introduces a number of challenges. Given typical bandwidths of participants of hundreds of kilobits per second to a couple of megabits per second, it is unacceptable to wait until completion of the download before actually being able to use the file as the download represents a non negligible time. From the point of view of the participant, getting the (entire) file as fast as possible is typically not good enough. As one example, Video on Demand (VoD) is a scenario where a participant would like to start previewing the multimedia content (the stream), offered by a source, even though only a fraction of it has been received, and then continue the viewing while the rest of the content is being received. Following the same line of reasoning, new applications have emerged that rely on live streaming: the source does not own a file that it wants to share with others, but shares content as soon as it is produced. In other words, the content to distribute is live, not pre-recorded and stored. Typical examples include the broadcasting of live sports events, conferences or interviews. The gossip paradigm is a type of data dissemination that relies on random communication between participants in a P2P system, sharing similarities with the epidemic dissemination of diseases. An epidemic starts to spread when the source randomly chooses a set of communication partners, of size fanout, and infects them, i.e., it shares a rumor with them. This set of participants, in turn, randomly picks fanout communication partners each and infects them, i.e., share with them the same rumor. This paradigm has many advantages including fast propagation of rumors, a probabilistic guarantee that each rumor reaches all participants, high resilience to churn (i.e., participants that join and leave) and high scalability. Gossip therefore constitutes a candidate of choice for live streaming in large-scale systems. These advantages, however, come at a price. While disseminating data, gossip creates many duplicates of the same rumor and participants usually receive multiple copies of the same rumor. While this is obviously a feature when it comes to guaranteeing good dissemination of the rumor when churn is high, it is a clear disadvantage when spreading large amounts of multimedia data (i.e., ordered and time-critical) to participants with limited resources, namely upload bandwidth in the case of high-bandwidth content dissemination. This thesis therefore investigates if and how the gossip paradigm can be used as a highly effcient communication system for live streaming under the following specific scenarios: (i) where participants can only contribute limited resources, (ii) when these limited resources are heterogeneously distributed among nodes, and (iii) where only a fraction of participants are contributing their fair share of work while others are freeriding. To meet these challenges, this thesis proposes (i) gossip++: a gossip-based protocol especially tailored for live streaming that separates the dissemination of metadata, i.e., the location of the data, and the dissemination of the data itself. By first spreading the location of the content to interested participants, the protocol avoids wasted bandwidth in sending and receiving duplicates of the payload, (ii) HEAP: a fanout adaptation mechanism that enables gossip to adapt participants' contribution with respect to their resources while still preserving its reliability, and (iii) LiFT: a protocol to secure high-bandwidth gossip-based dissemination protocols against freeriders

    Media Abstraction Framework for the Pervasive Middleware PalCom

    No full text
    Pervasive middleware systems are important for enabling the configuration and coordination of the services provided by devices in pervasive environments. PalCom is an example of such a system that aims to enable interaction among pervasive services over heterogeneous networks. In this paper we discuss the need for providing networking-media independent messaging among pervasive devices, and identify the problem of designing a media abstraction framework for a pervasive middleware. We identify a number of design principles and features that need to be satisfied by such a framework. The most important of these principles is the separation of networking protocol aspects into abstraction representations, which are exposed in a unified format to upper layers of PalCom, and communication mechanisms which are hidden by media-specific implementations of our proposed media-abstraction framework for PalCom. Also, we explain our implementation and evaluation of that framework

    I Am Error

    Get PDF
    I Am Error is a platform study of the Nintendo Family Computer (or Famicom), a videogame console first released in Japan in July 1983 and later exported to the rest of the world as the Nintendo Entertainment System (or NES). The book investigates the underlying computational architecture of the console and its effects on the creative works (e.g. videogames) produced for the platform. I Am Error advances the concept of platform as a shifting configuration of hardware and software that extends even beyond its ‘native’ material construction. The book provides a deep technical understanding of how the platform was programmed and engineered, from code to silicon, including the design decisions that shaped both the expressive capabilities of the machine and the perception of videogames in general. The book also considers the platform beyond the console proper, including cartridges, controllers, peripherals, packaging, marketing, licensing, and play environments. Likewise, it analyzes the NES’s extension and afterlife in emulation and hacking, birthing new genres of creative expression such as ROM hacks and tool-assisted speed runs. I Am Error considers videogames and their platforms to be important objects of cultural expression, alongside cinema, dance, painting, theater and other media. It joins the discussion taking place in similar burgeoning disciplines—code studies, game studies, computational theory—that engage digital media with critical rigor and descriptive depth. But platform studies is not simply a technical discussion—it also keeps a keen eye on the cultural, social, and economic forces that influence videogames. No platform exists in a vacuum: circuits, code, and console alike are shaped by the currents of history, politics, economics, and culture—just as those currents are shaped in kind
    corecore