847 research outputs found

    A Modular, Real-Time Fieldbus Architecture for Mobile Robotic Platforms

    Get PDF
    Cataloged from PDF version of article.The design and construction of complex and reconfigurable embedded systems such as small autonomous mobile robots is a challenging task that involves the selection, interfacing, and programming of a large number of sensors and actuators. Facilitating this tedious process requires modularity and extensibility both in hardware and software components. In this paper, we introduce the universal robot bus (URB), a real-time fieldbus architecture that facilitates rapid integration of heterogeneous sensor and actuator nodes to a central processing unit (CPU) while providing a software abstraction that eliminates complications arising from the lack of hardware homogeneity. Motivated by our primary application area of mobile robotics, URB is designed to be very lightweight and efficient, with real-time support for Recommended Standard (RS) 232 or universal serial bus connections to a central computer and inter-integrated circuit (I(2)C), controller area network, or RS485 bus connections to embedded nodes. It supports automatic synchronization of data acquisition across multiple nodes, provides high data bandwidth at low deterministic latencies, and includes flexible libraries for modular software development both for local nodes and the CPU. This paper describes the design of the URB architecture, provides a careful experimental characterization of its performance, and demonstrates its utility in the context of its deployment in a legged robot platform

    Software engineering : redundancy is key

    Get PDF
    Software engineers are humans and so they make lots of mistakes. Typically 1 out of 10 to 100 tasks go wrong. The only way to avoid these mistakes is to introduce redundancy in the software engineering process. This article is a plea to consciously introduce several levels of redundancy for each programming task. Depending on the required level of correctness, expressed in a residual error probability (typically 10-3 to 10-10), each programming task must be carried out redundantly 4 to 8 times. This number is hardly influenced by the size of a programming endeavour. Training software engineers does have some effect as non trained software engineers require a double amount of redundant tasks to deliver software of a desired quality. More compact programming, for instance by using domain specific languages, only reduces the number of redundant tasks by a small constant

    Evaluating the effect of formal techniques in industry

    Get PDF
    In this paper we evaluate the effectiveness of applying a formal component-based approach called Analytical Software Design (ASD) to the development of control software of an industrial project at Philips Healthcare. We analyze the performance of the ASD related tasks carried out during the development processes and report about the main issues encountered. Furthermore, we investigate whether introducing these formal techniques to industry could actually improve the quality and the productivity of the developed code compared to software developed by more traditional development methods

    Incorporating formal techniques into industrial practice

    Get PDF
    We report about experiences with component-based development supported by formal techniques at Philips Healthcare. The formal Analytical Software Design (ASD) approach of the company Verum has been incorporated into the industrial workflow. The commercial tool ASD:Suite supports both compositional verification and code generation for control components. For other components test-driven development has been used. We discuss the results of these combined techniques in a project which developed the power control service of an interventional X-ray system

    Modelling and verifying IEEE Std 11073-20601 session setup using mCRL2

    Get PDF
    In this paper we advocate that formal verification should be a part of the development of a communication standard; in a short period of time issues are uncovered that have been in the standard for a number of years, and all subtleties in the correctness of the protocol are understood. We model and verify the session setup protocol that is part of the IEEE 11073-20601:2008 standard for communication between personal health devices. We identify a number of issues present in the standards document. Discussion with a member of the standards committee unveiled that most, but not all, of the identified issues are fixed in the IEEE 11073-20601:2010 version of the standard. In addition, the correctness of the protocol, including the fixes, is assessed. For this, properties of the session setup protocol are formulated, and using the model checker mCRL2 it is verified whether the model satisfies these properties. We show that the session setup protocol is flawed, and propose a straightforward way to fix this issue

    Prefix orders as a general model of dynamics

    Get PDF
    In this report we formalize and study the notion of prex order on the executions of general dynamical systems and use basic category theory to show that appropriate structure preserving maps between such orders lead to the well-known notions of bisimulation, renement, product, and union of behavior, without relying on a notion of 'next state'. Thus these notions are generalized to apply to arbitrary dynamical systems, including continuous and hybrid systems

    Service-oriented infrastructure to support the control, monitoring and management of a shop floor system

    Get PDF
    Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de ComputadoresService-oriented Architecture (SOA) paradigm is becoming a broadly deployed standard for business and enterprise integration. It continuously spreads across the distinct layers of the enterprise organization and disparate domains of application, envisioning a unified communication solution. Service-oriented approaches are also entering the industrial automation domain in a top-down way. The recent application at device level has a direct impact on how industrial automation deployments will evolve. Similarly to other domains, the crescent ubiquity of smart devices is raising important lifecycle concerns related to device control, monitoring and management. From initial setup and deployment to system lifecycle monitoring and evolution, each device needs to be taken into account and to be easily reachable. The current work includes the specification and development of a modular, adaptive and open infrastructure to support the control, monitoring and management of devices and services in an industrial automation environment, such as a shop floor system. A collection of tools and services to be comprised in this same infrastructure will also be researched and implemented. Moreover, the main implementation focuses on a SOA-based infrastructure comprising SemanticWeb concepts to enhance the process of exchanging a device in an industrial automation environment. This is done by assisting (and even automate)this task supported by service and device semantic matching whenever a device has a problem. The infrastructure was implemented and tested in an educational shop floor setup composed by a set of distributed entities each one controlled by its own SOAready PLC. The performed tests revealed that the tasks of discovering and identifying new devices, as well as providing assistance when a device is down offered a valuable contribution and can increase the agility of the overall system when dealing with operation disruptions or modifications at device level
    corecore