3,772 research outputs found
Formal Availability Analysis using Theorem Proving
Availability analysis is used to assess the possible failures and their
restoration process for a given system. This analysis involves the calculation
of instantaneous and steady-state availabilities of the individual system
components and the usage of this information along with the commonly used
availability modeling techniques, such as Availability Block Diagrams (ABD) and
Fault Trees (FTs) to determine the system-level availability. Traditionally,
availability analyses are conducted using paper-and-pencil methods and
simulation tools but they cannot ascertain absolute correctness due to their
inaccuracy limitations. As a complementary approach, we propose to use the
higher-order-logic theorem prover HOL4 to conduct the availability analysis of
safety-critical systems. For this purpose, we present a higher-order-logic
formalization of instantaneous and steady-state availability, ABD
configurations and generic unavailability FT gates. For illustration purposes,
these formalizations are utilized to conduct formal availability analysis of a
satellite solar array, which is used as the main source of power for the Dong
Fang Hong-3 (DFH-3) satellite.Comment: 16 pages. arXiv admin note: text overlap with arXiv:1505.0264
Asynchronous processing of Coq documents: from the kernel up to the user interface
The work described in this paper improves the reactivity of the Coq system by
completely redesigning the way it processes a formal document. By subdividing
such work into independent tasks the system can give precedence to the ones of
immediate interest for the user and postpones the others. On the user side, a
modern interface based on the PIDE middleware aggregates and present in a
consistent way the output of the prover. Finally postponed tasks are processed
exploiting modern, parallel, hardware to offer better scalability.Comment: in Proceedings of ITP, Aug 2015, Nanjing, Chin
Variations on a Theme: A Bibliography on Approaches to Theorem Proving Inspired From Satchmo
This articles is a structured bibliography on theorem provers,
approaches to theorem proving, and theorem proving applications inspired
from Satchmo, the model generation theorem prover developed
in the mid 80es of the 20th century at ECRC, the European Computer-
Industry Research Centre. Note that the bibliography given in this article
is not exhaustive
Methods to Model-Check Parallel Systems Software
We report on an effort to develop methodologies for formal verification of
parts of the Multi-Purpose Daemon (MPD) parallel process management system. MPD
is a distributed collection of communicating processes. While the individual
components of the collection execute simple algorithms, their interaction leads
to unexpected errors that are difficult to uncover by conventional means. Two
verification approaches are discussed here: the standard model checking
approach using the software model checker SPIN and the nonstandard use of a
general-purpose first-order resolution-style theorem prover OTTER to conduct
the traditional state space exploration. We compare modeling methodology and
analyze performance and scalability of the two methods with respect to
verification of MPD.Comment: 12 pages, 3 figures, 1 tabl
Isabelle/PIDE as Platform for Educational Tools
The Isabelle/PIDE platform addresses the question whether proof assistants of
the LCF family are suitable as technological basis for educational tools. The
traditionally strong logical foundations of systems like HOL, Coq, or Isabelle
have so far been counter-balanced by somewhat inaccessible interaction via the
TTY (or minor variations like the well-known Proof General / Emacs interface).
Thus the fundamental question of math education tools with fully-formal
background theories has often been answered negatively due to accidental
weaknesses of existing proof engines.
The idea of "PIDE" (which means "Prover IDE") is to integrate existing
provers like Isabelle into a larger environment, that facilitates access by
end-users and other tools. We use Scala to expose the proof engine in ML to the
JVM world, where many user-interfaces, editor frameworks, and educational tools
already exist. This shall ultimately lead to combined mathematical assistants,
where the logical engine is in the background, without obstructing the view on
applications of formal methods, formalized mathematics, and math education in
particular.Comment: In Proceedings THedu'11, arXiv:1202.453
Applying Formal Methods to Networking: Theory, Techniques and Applications
Despite its great importance, modern network infrastructure is remarkable for
the lack of rigor in its engineering. The Internet which began as a research
experiment was never designed to handle the users and applications it hosts
today. The lack of formalization of the Internet architecture meant limited
abstractions and modularity, especially for the control and management planes,
thus requiring for every new need a new protocol built from scratch. This led
to an unwieldy ossified Internet architecture resistant to any attempts at
formal verification, and an Internet culture where expediency and pragmatism
are favored over formal correctness. Fortunately, recent work in the space of
clean slate Internet design---especially, the software defined networking (SDN)
paradigm---offers the Internet community another chance to develop the right
kind of architecture and abstractions. This has also led to a great resurgence
in interest of applying formal methods to specification, verification, and
synthesis of networking protocols and applications. In this paper, we present a
self-contained tutorial of the formidable amount of work that has been done in
formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial
- …