13,606 research outputs found
Recommended from our members
Modular and Safe Event-Driven Programming
Asynchronous event-driven systems are ubiquitous across domains such as device drivers, distributed systems, and robotics. These systems are notoriously hard to get right as the programmer needs to reason about numerous control paths resulting from the complex interleaving of events (or messages) and failures. Unsurprisingly, it is easy to introduce subtle errors while attempting to fill in gaps between high-level system specifications and their concrete implementations.This dissertation proposes new methods for programming safe event-driven asynchronous systems.In the first part of the thesis, we present ModP, a modular programming framework for compositional programming and testing of event-driven asynchronous systems.The ModP module system supports a novel theory of compositional refinement for assume-guarantee reasoning of dynamic event-driven asynchronous systems. We build a complex distributed systems software stack using ModP.Our results demonstrate that compositional reasoning can help scale model-checking (both explicit and symbolic) to large distributed systems.ModP is transforming the way asynchronous software is built at Microsoft and Amazon Web Services (AWS). Microsoft uses ModP for implementing safe device drivers and other software in the Windows kernel.AWS uses ModP for compositional model checking of complex distributed systems. While ModP simplifies analysis of such systems, the state space of industrial-scale systems remains extremely large.In the second part of this thesis, we present scalable verification and systematic testing approaches to further mitigate this state-space explosion problem.First, we introduce the concept of a delaying explorer to perform prioritized exploration of the behaviors of an asynchronous reactive program. A delaying explorer stratifies the search space using a custom strategy (tailored towards finding bugs faster), and a delay operation that allows deviation from that strategy. We show that prioritized search with a delaying explorer performs significantly better than existing approaches for finding bugs in asynchronous programs.Next, we consider the challenge of verifying time-synchronized systems; these are almost-synchronous systems as they are neither completely asynchronous nor synchronous.We introduce approximate synchrony, a sound and tunable abstraction for verification of almost-synchronous systems. We show how approximate synchrony can be used for verification of both time-synchronization protocols and applications running on top of them.Moreover, we show how approximate synchrony also provides a useful strategy to guide state-space exploration during model-checking.Using approximate synchrony and implementing it as a delaying explorer, we were able to verify the correctness of the IEEE 1588 distributed time-synchronization protocol and, in the process, uncovered a bug in the protocol that was well appreciated by the standards committee.In the final part of this thesis, we consider the challenge of programming a special class of event-driven asynchronous systems -- safe autonomous robotics systems.Our approach towards achieving assured autonomy for robotics systems consists of two parts: (1) a high-level programming language for implementing and validating the reactive robotics software stack; and (2) an integrated runtime assurance system to ensure that the assumptions used during design-time validation of the high-level software hold at runtime.Combining high-level programming language and model-checking with runtime assurance helps us bridge the gap between design-time software validation that makes assumptions about the untrusted components (e.g., low-level controllers), and the physical world, and the actual execution of the software on a real robotic platform in the physical world. We implemented our approach as DRONA, a programming framework for building safe robotics systems.We used DRONA for building a distributed mobile robotics system and deployed it on real drone platforms. Our results demonstrate that DRONA (with the runtime-assurance capabilities) enables programmers to build an autonomous robotics software stack with formal safety guarantees.To summarize, this thesis contributes new theory and tools to the areas of programming languages, verification, systematic testing, and runtime assurance for programming safe asynchronous event-driven across the domains of fault-tolerant distributed systems and safe autonomous robotics systems
Tangible user interfaces : past, present and future directions
In the last two decades, Tangible User Interfaces (TUIs) have emerged as a new interface type that interlinks the digital and physical worlds. Drawing upon users' knowledge and skills of interaction with the real non-digital world, TUIs show a potential to enhance the way in which people interact with and leverage digital information. However, TUI research is still in its infancy and extensive research is required in or- der to fully understand the implications of tangible user interfaces, to develop technologies that further bridge the digital and the physical, and to guide TUI design with empirical knowledge. This paper examines the existing body of work on Tangible User In- terfaces. We start by sketching the history of tangible user interfaces, examining the intellectual origins of this field. We then present TUIs in a broader context, survey application domains, and review frame- works and taxonomies. We also discuss conceptual foundations of TUIs including perspectives from cognitive sciences, phycology, and philoso- phy. Methods and technologies for designing, building, and evaluating TUIs are also addressed. Finally, we discuss the strengths and limita- tions of TUIs and chart directions for future research
Robotics Middleware: A Comprehensive Literature Survey and Attribute-Based Bibliography
Autonomous robots are complex systems that require the interaction between numerous heterogeneous components (software and hardware). Because of the increase in complexity of robotic applications and the diverse range of hardware, robotic middleware is designed to manage the complexity and heterogeneity of the hardware and applications, promote the integration of new technologies, simplify software design, hide the complexity of low-level communication and the sensor heterogeneity of the sensors, improve software quality, reuse robotic software infrastructure across multiple research efforts, and to reduce production costs. This paper presents a literature survey and attribute-based bibliography of the current state of the art in robotic middleware design. The main aim of the survey is to assist robotic middleware researchers in evaluating the strengths and weaknesses of current approaches and their appropriateness for their applications. Furthermore, we provide a comprehensive set of appropriate bibliographic references that are classified based on middleware attributes.http://dx.doi.org/10.1155/2012/95901
Service-Oriented Architecture for Space Exploration Robotic Rover Systems
Currently, industrial sectors are transforming their business processes into
e-services and component-based architectures to build flexible, robust, and
scalable systems, and reduce integration-related maintenance and development
costs. Robotics is yet another promising and fast-growing industry that deals
with the creation of machines that operate in an autonomous fashion and serve
for various applications including space exploration, weaponry, laboratory
research, and manufacturing. It is in space exploration that the most common
type of robots is the planetary rover which moves across the surface of a
planet and conducts a thorough geological study of the celestial surface. This
type of rover system is still ad-hoc in that it incorporates its software into
its core hardware making the whole system cohesive, tightly-coupled, more
susceptible to shortcomings, less flexible, hard to be scaled and maintained,
and impossible to be adapted to other purposes. This paper proposes a
service-oriented architecture for space exploration robotic rover systems made
out of loosely-coupled and distributed web services. The proposed architecture
consists of three elementary tiers: the client tier that corresponds to the
actual rover; the server tier that corresponds to the web services; and the
middleware tier that corresponds to an Enterprise Service Bus which promotes
interoperability between the interconnected entities. The niche of this
architecture is that rover's software components are decoupled and isolated
from the rover's body and possibly deployed at a distant location. A
service-oriented architecture promotes integrate-ability, scalability,
reusability, maintainability, and interoperability for client-to-server
communication.Comment: LACSC - Lebanese Association for Computational Sciences,
http://www.lacsc.org/; International Journal of Science & Emerging
Technologies (IJSET), Vol. 3, No. 2, February 201
TZC: Efficient Inter-Process Communication for Robotics Middleware with Partial Serialization
Inter-process communication (IPC) is one of the core functions of modern
robotics middleware. We propose an efficient IPC technique called TZC (Towards
Zero-Copy). As a core component of TZC, we design a novel algorithm called
partial serialization. Our formulation can generate messages that can be
divided into two parts. During message transmission, one part is transmitted
through a socket and the other part uses shared memory. The part within shared
memory is never copied or serialized during its lifetime. We have integrated
TZC with ROS and ROS2 and find that TZC can be easily combined with current
open-source platforms. By using TZC, the overhead of IPC remains constant when
the message size grows. In particular, when the message size is 4MB (less than
the size of a full HD image), TZC can reduce the overhead of ROS IPC from tens
of milliseconds to hundreds of microseconds and can reduce the overhead of ROS2
IPC from hundreds of milliseconds to less than 1 millisecond. We also
demonstrate the benefits of TZC by integrating with TurtleBot2 that are used in
autonomous driving scenarios. We show that by using TZC, the braking distance
can be shortened by 16% than ROS
Recommended from our members
What did the Romans ever do for us? ‘Next generation’ networks and hybrid learning resources
Networked learning is fundamentally concerned with the use of information and communication technologies (ICT) to link people to people and resources, to support the process of learning. This paper explores some current and forthcoming changes in ICT and some potential implications of these developments for networked learning. Whilst we aim to avoid taking a technologically determinist stance, we explore the potential for future practice and how some educational and pedagogic practices are evolving to exploit and shape the digital environment. We argue that we can change both the ways in which connections between people (learners and other learners; learners and tutors) are made and the nature of the resources that learning communities (particularly distributed communities) can engage with. In doing this we draw on two strands of work. Firstly, we draw on the ‘IBZL Education’ a UK Open University initiative to develop new scholarship in the context of STEM (Science, Technology, Engineering and Mathematics) through which educators are encouraged to think about technological change in the next five to ten years and ways in which we can intervene and shape these developments. We use problem-based learning as an example of a learning experience that can be difficult to implement in a networked learning environment. IBZL identified two broad strands of significant technological development. 'Superfast' broadband networks that are capable of supporting novel applications are being rolled in the UK (and elsewhere). Also, boundaries between the real and virtual worlds are becoming blurred as in the ‘internet of things’ where, for example, RFID tags enable information about the real world to be brought into the virtual one. We use the term ‘artefact’ to describe designed components, whether entirely digital, such as a computer forum, or material, such as a tablet PC. Networked ‘hybrid’ technologies of virtual and material components have may great potential for use in education.
Secondly, we illustrate how these changes may be beginning to happen in distance education using the example of TU100 My Digital Life, a new introductory Open University. . TU100 Students use an electronics board in their own homes to work on a programming problem in collaboration other students through a tutor-led tutorial in a web conferencing system. We also note some of the evident complexity that establishing such resources as part of wider infrastructures of networked learning would be likely to involve
Federated Embedded Systems – a review of the literature in related fields
This report is concerned with the vision of smart interconnected objects, a vision that has attracted much attention lately. In this paper, embedded, interconnected, open, and heterogeneous control systems are in focus, formally referred to as Federated Embedded Systems. To place FES into a context, a review of some related research directions is presented. This review includes such concepts as systems of systems, cyber-physical systems, ubiquitous
computing, internet of things, and multi-agent systems. Interestingly, the reviewed fields seem to overlap with each other in an increasing number of ways
- …