1,529 research outputs found

    Type classes for efficient exact real arithmetic in Coq

    Get PDF
    Floating point operations are fast, but require continuous effort on the part of the user in order to ensure that the results are correct. This burden can be shifted away from the user by providing a library of exact analysis in which the computer handles the error estimates. Previously, we [Krebbers/Spitters 2011] provided a fast implementation of the exact real numbers in the Coq proof assistant. Our implementation improved on an earlier implementation by O'Connor by using type classes to describe an abstract specification of the underlying dense set from which the real numbers are built. In particular, we used dyadic rationals built from Coq's machine integers to obtain a 100 times speed up of the basic operations already. This article is a substantially expanded version of [Krebbers/Spitters 2011] in which the implementation is extended in the various ways. First, we implement and verify the sine and cosine function. Secondly, we create an additional implementation of the dense set based on Coq's fast rational numbers. Thirdly, we extend the hierarchy to capture order on undecidable structures, while it was limited to decidable structures before. This hierarchy, based on type classes, allows us to share theory on the naturals, integers, rationals, dyadics, and reals in a convenient way. Finally, we obtain another dramatic speed-up by avoiding evaluation of termination proofs at runtime.Comment: arXiv admin note: text overlap with arXiv:1105.275

    Controllability problems in MSC-based testing

    Get PDF
    This is a pre-copyedited, author-produced PDF of an article accepted for publication in The Computer Journal following peer review. The definitive publisher-authenticated version [Dan, H and Hierons, RM (2012), "Controllability Problems in MSC-Based Testing", The Computer Journal, 55(11), 1270-1287] is available online at: http://comjnl.oxfordjournals.org/content/55/11/1270. Copyright @ The Authors 2011.In testing systems with distributed interfaces/ports, we may place a separate tester at each port. It is known that this approach can introduce controllability problems which have received much attention in testing from finite state machines. Message sequence charts (MSCs) form an alternative, commonly used, language for modelling distributed systems. However, controllability problems in testing from MSCs have not been thoroughly investigated. In this paper, controllability problems in MSC test cases are analysed with three notions of observability: local, tester and global. We identify two types of controllability problem in MSC-based testing. It transpires that each type of controllability problem is related to a type of MSC pathology. Controllability problems of timing are caused by races but not every race causes controllability problems; controllability problems of choice are caused by non-local choices and not every non-local choice causes controllability problems. We show that some controllability problems of timing are avoidable and some controllability problems of choice can be overcome when testers have better observational power. Algorithms are provided to tackle both types of controllability problems. Finally, we show how one can overcome controllability problems using a coordination service with status messages based on algorithms developed in this paper.EPSR

    Propositional Dynamic Logic with Converse and Repeat for Message-Passing Systems

    Get PDF
    The model checking problem for propositional dynamic logic (PDL) over message sequence charts (MSCs) and communicating finite state machines (CFMs) asks, given a channel bound BB, a PDL formula φ\varphi and a CFM C\mathcal{C}, whether every existentially BB-bounded MSC MM accepted by C\mathcal{C} satisfies φ\varphi. Recently, it was shown that this problem is PSPACE-complete. In the present work, we consider CRPDL over MSCs which is PDL equipped with the operators converse and repeat. The former enables one to walk back and forth within an MSC using a single path expression whereas the latter allows to express that a path expression can be repeated infinitely often. To solve the model checking problem for this logic, we define message sequence chart automata (MSCAs) which are multi-way alternating parity automata walking on MSCs. By exploiting a new concept called concatenation states, we are able to inductively construct, for every CRPDL formula φ\varphi, an MSCA precisely accepting the set of models of φ\varphi. As a result, we obtain that the model checking problem for CRPDL and CFMs is still in PSPACE

    A theory of regular MSC languages

    Get PDF
    Message sequence charts (MSCs) are an attractive visual formalism widely used to capture system requirements during the early design stages in domains such as telecommunication software. It is fruitful to have mechanisms for specifying and reasoning about collections of MSCs so that errors can be detected even at the requirements level. We propose, accordingly, a notion of regularity for collections of MSCs and explore its basic properties. In particular, we provide an automata-theoretic characterization of regular MSC languages in terms of finite-state distributed automata called bounded message-passing automata. These automata consist of a set of sequential processes that communicate with each other by sending and receiving messages over bounded FIFO channels. We also provide a logical characterization in terms of a natural monadic second-order logic interpreted over MSCs. A commonly used technique to generate a collection of MSCs is to use a hierarchical message sequence chart (HMSC). We show that the class of languages arising from the so-called bounded HMSCs constitute a proper subclass of the class of regular MSC languages. In fact, we characterize the bounded HMSC languages as the subclass of regular MSC languages that are finitely generated

    The application of agent-based modeling and fuzzy-logic controllers for the study of magnesium biomaterials

    Get PDF
    Agent-based modeling (ABM) is a powerful approach for studying complex systems and their underlying properties by explicitly modeling the actions and interactions of individual agents. Over the past decade, numerous software programs have been developed to address the needs of the ABM community. However, these solutions often suffer from limitations in design, a lack of comprehensive documentation, or poor performance. As the first objective of this thesis, we introduce CppyABM-a general-purpose software for ABM that provides simulation tools in both Python and C++. CppyABM also enables ABM development using a combination of C++ and Python, taking advantage of the computational performance of C++ and the data analysis and visualization tools of Python. We demonstrate the capabilities of CppyABM through its application to various problems in ecology, virology, and computational biology. As the second objective of this thesis, we use ABM and fuzzy logic controllers (FLCs) to numerically study the effects of magnesium (Mg2+) ions on osteogenesis. Mg-based materials have emerged as the next generation of biomaterials that degrade in the body after implantation and eliminate the need for secondary surgery. We develop two computer models using ABM and FLC and calibrate them based on cell culture experiments. The models were able to capture the regulatory effects of Mg2+ ions and other important factors such as inflammatory cytokines on mesenchymal stem cells (MSC) activities. The models were also able to shed light on the fundamental differences in the cells cultured in different experiments such as proliferation capacity and sensitivity to environmental factors

    Topologies and metrics on information spaces

    Get PDF
    corecore