3,423 research outputs found

    A categorical approach to open and interconnected dynamical systems

    No full text
    In his 1986 Automatica paper Willems introduced the influential behavioural approach to control theory with an investigation of linear time-invariant (LTI) discrete dynamical systems. The behavioural approach places open systems at its centre, modelling by tearing, zooming, and linking. We show that these ideas are naturally expressed in the language of symmetric monoidal categories.Our main result gives an intuitive sound and fully complete string diagram algebra for reasoning about LTI systems. These string diagrams are closely related to the classical notion of signal flow graphs, endowed with semantics as multi-input multi-output transducers that process discrete streams with an infinite past as well as an infinite future. At the categorical level, the algebraic characterisation is that of the prop of corelations.Using this framework, we derive a novel structural characterisation of controllability, and consequently provide a methodology for analysing controllability of networked and interconnected systems. We argue that this has the potential of providing elegant, simple, and efficient solutions to problems arising in the analysis of systems over networks, a vibrant research area at the crossing of control theory and computer science.<br/

    Petri Net Plans A framework for collaboration and coordination in multi-robot systems

    Get PDF
    Programming the behavior of multi-robot systems is a challenging task which has a key role in developing effective systems in many application domains. In this paper, we present Petri Net Plans (PNPs), a language based on Petri Nets (PNs), which allows for intuitive and effective robot and multi-robot behavior design. PNPs are very expressive and support a rich set of features that are critical to develop robotic applications, including sensing, interrupts and concurrency. As a central feature, PNPs allow for a formal analysis of plans based on standard PN tools. Moreover, PNPs are suitable for modeling multi-robot systems and the developed behaviors can be executed in a distributed setting, while preserving the properties of the modeled system. PNPs have been deployed in several robotic platforms in different application domains. In this paper, we report three case studies, which address complex single robot plans, coordination and collaboration

    Semantics-based Automated Web Testing

    Full text link
    We present TAO, a software testing tool performing automated test and oracle generation based on a semantic approach. TAO entangles grammar-based test generation with automated semantics evaluation using a denotational semantics framework. We show how TAO can be incorporated with the Selenium automation tool for automated web testing, and how TAO can be further extended to support automated delta debugging, where a failing web test script can be systematically reduced based on grammar-directed strategies. A real-life parking website is adopted throughout the paper to demonstrate the effectivity of our semantics-based web testing approach.Comment: In Proceedings WWV 2015, arXiv:1508.0338

    Replicode: A Constructivist Programming Paradigm and Language

    Get PDF
    Replicode is a language designed to encode short parallel programs and executable models, and is centered on the notions of extensive pattern-matching and dynamic code production. The language is domain independent and has been designed to build systems that are modelbased and model-driven, as production systems that can modify their own code. More over, Replicode supports the distribution of knowledge and computation across clusters of computing nodes. This document describes Replicode and its executive, i.e. the system that executes Replicode constructions. The Replicode executive is meant to run on Linux 64 bits and Windows 7 32/64 bits platforms and interoperate with custom C++ code. The motivations for the Replicode language, the constructivist paradigm it rests on, and the higher-level AI goals targeted by its construction, are described by ThĂłrisson (2012), Nivel and ThĂłrisson (2009), and ThĂłrisson and Nivel (2009a, 2009b). An overview presents the main concepts of the language. Section 3 describes the general structure of Replicode objects and describes pattern matching. Section 4 describes the execution model of Replicode and section 5 describes how computation and knowledge are structured and controlled. Section 6 describes the high-level reasoning facilities offered by the system. Finally, section 7 describes how the computation is distributed over a cluster of computing nodes. Consult Annex 1 for a formal definition of Replicode, Annex 2 for a specification of the executive, Annex 3 for the specification of the executable code format (r-code) and its C++ API, and Annex 4 for the definition of the Replicode Extension C++ API

    Decidability of Reachability for Polymorphic Systems with Arrays: A Complete Classification

    Get PDF
    AbstractMany interesting systems can be seen as having two kinds of state variables: array variables, which are mappings from one data type into another; and basic variables, which are used to control the system, to perform basic computations, and for operations involving arrays.We investigate such systems where:•the type of each basic variable is built from type variables using product and sum constructs;•the type of each array variable is B→B′, where B and B′ are types as for basic variables;•on any type variable, either no operations are available, or only the equality predicate, or only a linear-order predicate;•type variables denote arbitrary non-empty finite sets.We present a complete classification of reachability decision problems for these systems into decid- able or undecidable

    S+Net: extending functional coordination with extra-functional semantics

    Get PDF
    This technical report introduces S+Net, a compositional coordination language for streaming networks with extra-functional semantics. Compositionality simplifies the specification of complex parallel and distributed applications; extra-functional semantics allow the application designer to reason about and control resource usage, performance and fault handling. The key feature of S+Net is that functional and extra-functional semantics are defined orthogonally from each other. S+Net can be seen as a simultaneous simplification and extension of the existing coordination language S-Net, that gives control of extra-functional behavior to the S-Net programmer. S+Net can also be seen as a transitional research step between S-Net and AstraKahn, another coordination language currently being designed at the University of Hertfordshire. In contrast with AstraKahn which constitutes a re-design from the ground up, S+Net preserves the basic operational semantics of S-Net and thus provides an incremental introduction of extra-functional control in an existing language.Comment: 34 pages, 11 figures, 3 table
    • …
    corecore