6,458 research outputs found

    On shuffle products, acyclic automata and piecewise-testable languages

    Full text link
    We show that the shuffle L \unicode{x29E2} F of a piecewise-testable language LL and a finite language FF is piecewise-testable. The proof relies on a classic but little-used automata-theoretic characterization of piecewise-testable languages. We also discuss some mild generalizations of the main result, and provide bounds on the piecewise complexity of L \unicode{x29E2} F

    Parameterized Concurrent Multi-Party Session Types

    Full text link
    Session types have been proposed as a means of statically verifying implementations of communication protocols. Although prior work has been successful in verifying some classes of protocols, it does not cope well with parameterized, multi-actor scenarios with inherent asynchrony. For example, the sliding window protocol is inexpressible in previously proposed session type systems. This paper describes System-A, a new typing language which overcomes many of the expressiveness limitations of prior work. System-A explicitly supports asynchrony and parallelism, as well as multiple forms of parameterization. We define System-A and show how it can be used for the static verification of a large class of asynchronous communication protocols.Comment: In Proceedings FOCLASA 2012, arXiv:1208.432

    Partial Derivative Automaton for Regular Expressions with Shuffle

    Get PDF
    We generalize the partial derivative automaton to regular expressions with shuffle and study its size in the worst and in the average case. The number of states of the partial derivative automata is in the worst case at most 2^m, where m is the number of letters in the expression, while asymptotically and on average it is no more than (4/3)^m

    Commutative positive varieties of languages

    Full text link
    We study the commutative positive varieties of languages closed under various operations: shuffle, renaming and product over one-letter alphabets
    • …
    corecore