4 research outputs found

    Reasoning about real-time teleo-reactive programs

    Get PDF
    The teleo-reactive programming model is a high-level approach to implementing real-time control programs that react dynamically to changes in their environment. Teleo-reactive programs are particularly useful for implementing controllers in autonomous agents. In this paper we present formal techniques for reasoning about robust teleo-reactive programs.We develop a temporal logic over continuous intervals, which we use to formalise the semantics of teleo-reactive programs. To facilitate compositional reasoning about a program and its environment, we use rely/guarantee style specications. We also present several theorems for simplifying proofs of teleo-reactive programs that control goal-directed agents

    A family of experiments to evaluate the understandability of TRiStar and i* for modeling Teleo-Reactive systems

    Get PDF
    The Teleo-Reactive approach facilitates reactive system development without losing sight of the system goals. Objective: To introduce TRiStar as an extension of i* notation to specify Teleo-Reactive systems. To evaluate whether the notational extension is an improvement in terms of effectiveness and efficiency over the original language when it is used to specify Teleo-Reactive systems. Method: A family of experiments was carried out with final-year engineering students and experienced software development professionals in which the participants were asked to fill in a form designed to evaluate the efficiency and effectiveness of each of the languages. Results: Both the statistical results of the experiments, analyzed separately, and the meta-analysis of the experiments as a whole, allow us to conclude that TRiStar notation is more effective and efficient than i* as a requirements specification language for modeling Teleo-Reactive systems. Conclusion: The extensions made on i* have led to TRiStar definition, a more effective and efficient goal-oriented notation than the original i* language.This work was partially supported by the insPIre (ref. TIN2012-34003), cDrone (ref. TIN2013- 45920-R) and ViSelTR (ref. TIN2012-39279) projects of the Spanish Government. Also Spanish Ministerio de Educación, Cultura y Deporte, Subprograma Estatal de Movilidad, Plan Estatal de Investigación Científica y Técnica y de Innovación 2013-2016 for grant CAS14/0023

    Behavior Trees in Robotics and AI: An Introduction

    Full text link
    A Behavior Tree (BT) is a way to structure the switching between different tasks in an autonomous agent, such as a robot or a virtual entity in a computer game. BTs are a very efficient way of creating complex systems that are both modular and reactive. These properties are crucial in many applications, which has led to the spread of BT from computer game programming to many branches of AI and Robotics. In this book, we will first give an introduction to BTs, then we describe how BTs relate to, and in many cases generalize, earlier switching structures. These ideas are then used as a foundation for a set of efficient and easy to use design principles. Properties such as safety, robustness, and efficiency are important for an autonomous system, and we describe a set of tools for formally analyzing these using a state space description of BTs. With the new analysis tools, we can formalize the descriptions of how BTs generalize earlier approaches. We also show the use of BTs in automated planning and machine learning. Finally, we describe an extended set of tools to capture the behavior of Stochastic BTs, where the outcomes of actions are described by probabilities. These tools enable the computation of both success probabilities and time to completion
    corecore