335 research outputs found

    Shared Memory Concurrent System Verification using Kronecker Algebra

    Full text link
    The verification of multithreaded software is still a challenge. This comes mainly from the fact that the number of thread interleavings grows exponentially in the number of threads. The idea that thread interleavings can be studied with a matrix calculus is a novel approach in this research area. Our sparse matrix representations of the program are manipulated using a lazy implementation of Kronecker algebra. One goal is the generation of a data structure called Concurrent Program Graph (CPG) which describes all possible interleavings and incorporates synchronization while preserving completeness. We prove that CPGs in general can be represented by sparse adjacency matrices. Thus the number of entries in the matrices is linear in their number of lines. Hence efficient algorithms can be applied to CPGs. In addition, due to synchronization only very small parts of the resulting matrix are actually needed, whereas the rest is unreachable in terms of automata. Thanks to the lazy implementation of the matrix operations the unreachable parts are never calculated. This speeds up processing significantly and shows that this approach is very promising. Various applications including data flow analysis can be performed on CPGs. Furthermore, the structure of the matrices can be used to prove properties of the underlying program for an arbitrary number of threads. For example, deadlock freedom is proved for a large class of programs.Comment: 31 page

    Timing Analysis of Concurrent Programs

    Get PDF
    Worst-case execution time analysis of multi-threaded software is still a challenge. This comes mainly from the fact that the number of thread interleavings grows exponentially in the number of threads and that synchronization has to be taken into account. In particular, a suitable graph based model has been missing. The idea that thread interleavings can be studied with a matrix calculus is a novel approach in this research area. Our sparse matrix representations of the program are manipulated using Kronecker algebra. The resulting graph represents the multi-threaded program and plays a similar role for concurrent systems as control flow graphs do for sequential programs. Thus a suitable graph model for timing analysis of multi-threaded software has been set up. Due to synchronization it turns out that often only very small parts of the resulting graph are actually needed, whereas the rest is unreachable. A lazy implementation of the matrix operations ensures that the unreachable parts are never calculated. This speeds up processing significantly and shows that our approach is very promising

    On the use of MTBDDs for performability analysis and verification of stochastic systems

    Get PDF
    AbstractThis paper describes how to employ multi-terminal binary decision diagrams (MTBDDs) for the construction and analysis of a general class of models that exhibit stochastic, probabilistic and non-deterministic behaviour. It is shown how the notorious problem of state space explosion can be circumvented by compositionally constructing symbolic (i.e. MTBDD-based) representations of complex systems from small-scale components. We emphasise, however, that compactness of the representation can only be achieved if heuristics are applied with insight into the structure of the system under investigation. We report on our experiences concerning compact representation, performance analysis and verification of performability properties

    Transient Reward Approximation for Continuous-Time Markov Chains

    Full text link
    We are interested in the analysis of very large continuous-time Markov chains (CTMCs) with many distinct rates. Such models arise naturally in the context of reliability analysis, e.g., of computer network performability analysis, of power grids, of computer virus vulnerability, and in the study of crowd dynamics. We use abstraction techniques together with novel algorithms for the computation of bounds on the expected final and accumulated rewards in continuous-time Markov decision processes (CTMDPs). These ingredients are combined in a partly symbolic and partly explicit (symblicit) analysis approach. In particular, we circumvent the use of multi-terminal decision diagrams, because the latter do not work well if facing a large number of different rates. We demonstrate the practical applicability and efficiency of the approach on two case studies.Comment: Accepted for publication in IEEE Transactions on Reliabilit

    Application of Kronecker algebra in railway operation

    Get PDF
    Predstavljamo metodologiju za otpremu vlakova koja sprečava potpune zastoje i uključuje moguća ograničenja raspoložive energije energetskog sustava. Naš pristup primjenjuje Kronekerovu algebru za manipuliranje matrica. Do blokiranja vlakova općenito dolazi zbog nedostatka nekog resursa, a to može biti ili infrastruktura ili energija. Naša se metoda može primijeniti i za grubi proračun putnih vremena. Vrijeme blokiranja je uključeno u proračunato putno vrijeme. Za prikaz kretanja vlakova u željezničkom sustavu rabimo grafikone, koji su prikazani matricama graničenja. Pretpostavljamo da su granice u grafikonu označene elementima polukruga. Za modeliranje sinhronizacije obično se grafikoni dvaju ili više različitih smjerova vlakova odnose na isti dio kolosijeka. Naš se pristup može primijeniti kod modeliranja složenog željezničkog sustava. Na primjer, ako treba programirati dodatne vlakove, zastoj u energetskoj centrali ili na spojnim pravcima, bilo zbog kvara ili održavanja, našim se modelom može izračunati kako se to odražava na putnom vremenu vlakova u sustavu.We present a methodology for dispatching trains which prevents deadlocks and includes possible limitation of the available energy provided by the power supply. Our approach applies Kronecker algebra to manipulate matrices. Generally blocking of trains occurs due to a lack of some resource which can be either infrastructure or energy. Our method can also be used to calculate travel times in a rough way. Thereby blocking time is included in the calculated travel time. To model the movements of trains in a railway system we use graphs, which are represented by adjacency matrices. We assume that the edges in a graph are labelled by elements of a semiring. Usually two or more distinct train route graphs refer to the same track section to model synchronization. Our approach can be used to model a complex railway system. For example, if additional trains have to be scheduled, power stations or interconnection lines fail or are not available due to maintenance, our model can be used to calculate the impact on the travel times of the trains in the system

    Complexity Theory

    Get PDF
    Computational Complexity Theory is the mathematical study of the intrinsic power and limitations of computational resources like time, space, or randomness. The current workshop focused on recent developments in various sub-areas including arithmetic complexity, Boolean complexity, communication complexity, cryptography, probabilistic proof systems, pseudorandomness, and quantum computation. Many of the developments are related to diverse mathematical fields such as algebraic geometry, combinatorial number theory, probability theory, representation theory, and the theory of error-correcting codes
    corecore