9 research outputs found

    Population-Induced Phase Transitions and the Verification of Chemical Reaction Networks

    Get PDF
    We show that very simple molecular systems, modeled as chemical reaction networks, can have behaviors that exhibit dramatic phase transitions at certain population thresholds. Moreover, the magnitudes of these thresholds can thwart attempts to use simulation, model checking, or approximation by differential equations to formally verify the behaviors of such systems at realistic populations. We show how formal theorem provers can successfully verify some such systems at populations where other verification methods fail

    Devices for safety-critical molecular programmed systems

    Get PDF
    The behavior of matter at the molecular level can be programmed to create nanoscale molecular components that accomplish desired tasks. Many molecular components are developed with intended uses that are safety-critical, such as medical applications. Ensuring the correctness and fault tolerance of such devices is paramount. Techniques to develop robustly correct programs have been widely studied in software systems and many devices have been constructed to aid in the safe operation of systems. We seek to demonstrate the effectiveness of software and safety engineering techniques in the molecular programming domain. In this thesis, we present the design of five new devices to aid in the development of safetycritical molecular programmed systems. We introduce a Runtime Fault Detection device (RFD) to robustly detect faults and initiate recovery actions in response to a failed system. We present the Concentration Monitor, a device that can detect changes, major and minor, in concentrations in real-time and demonstrate its utility. We also describe methods for constructing chemical reaction networks that can robustly simulate any combinational logic gate. Finally, we present two devices to log the state of a molecular program, where the first device logs a state upon receiving a request, and the second device ensures that the current state meets a defined validity property before allowing a log to be taken. All devices have been formally verified using model checking, simulations, or formal proof techniques. The methods used to construct and verify these devices can be adapted to the design of future molecular systems to assist in ensuring their correctness

    Formalization of Continuous Time Markov Chains with Applications in Queueing Theory

    Get PDF
    The performance analysis of engineering systems have become very critical due to their usage in safety and mission critical domains such as military and biomedical devices. Such an analysis is often carried out based on the Markovian (or Markov Chains based) models of underlying software and hardware components. Furthermore, some important properties can only be captured by queueing theory which involves Markov Chains with continuous time behavior. Classically, the analysis of such models has been performed using paper-and-pencil based proofs and computer simulation, both of which cannot provide perfectly accurate results due to the error-prone nature of manual proofs and the non-exhaustive nature of simulation. Recently, model checking based formal methods have also been used to analyze Markovian and queuing systems. However, such an approach is only applicable for small systems and cannot certify generic properties due to the sate-space explosion problem. In this thesis, we propose to use higher-order-logic theorem proving as a complementary approach to conduct the formal analysis of queueing systems. To this aim, we present the higher-order-logic formalization of the Poisson process which is the foremost step to model queueing systems. We also verify some of its classical properties such as exponentially distributed inter-arrival time, memoryless property and independent and stationary increments. Moreover, we used the formalization of the Poisson process to model and verify the error probability of a generic optical communication system. Then we present the formalization of Continuous-Time Markov Chains along with the Birth-Death process. Lastly, we demonstrate the utilization of our developed infrastructure by presenting the formalization of an M/M/1 queue which is widely used to model telecommunication systems. We also formally verified the generic result about the average waiting time for any given queue

    Computer Aided Verification

    Get PDF
    This open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency

    Computer Aided Verification

    Get PDF
    This open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency
    corecore