688 research outputs found
Semantic Embedding of Petri Nets into Event-B
We present an embedding of Petri nets into B abstract systems. The embedding
is achieved by translating both the static structure (modelling aspect) and the
evolution semantics of Petri nets. The static structure of a Petri-net is
captured within a B abstract system through a graph structure. This abstract
system is then included in another abstract system which captures the evolution
semantics of Petri-nets. The evolution semantics results in some B events
depending on the chosen policies: basic nets or high level Petri nets. The
current embedding enables one to use conjointly Petri nets and Event-B in the
same system development, but at different steps and for various analysis.Comment: 16 pages, 3 figure
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
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
Formal analysis techniques for gossiping protocols
We give a survey of formal verification techniques that can be used to corroborate existing experimental results for gossiping protocols in a rigorous manner. We present properties of interest for gossiping protocols and discuss how various formal evaluation techniques can be employed to predict them
Correctness of Broadcast via Multicast: Graphically and Formally
Maintaining data consistency among multiple parties requires nodes to
repeatedly send data to all other nodes. For example, the nodes of a blockchain
network have to disseminate the blocks they create across the whole network.
The scientific literature typically takes the ideal perspective that such data
distribution is performed by broadcasting to all nodes directly, while in
practice data is distributed by repeated multicast. Since correctness and
security of consistency maintenance protocols usually have been established for
the ideal setting only, it is vital to show that these properties carry over to
real-world implementations. Therefore, it is desirable to prove that the ideal
and the real behavior are equivalent.
In the work described in this paper, we take an important step towards such a
proof by proving a simpler variant of this equivalence statement. The
simplification is that we consider only a concrete pair of network topologies,
which nevertheless illustrates important phenomena encountered with arbitrary
topologies. For describing systems that distribute data, we use a
domain-specific language of processes that corresponds to a class of Petri nets
and is embedded in a general-purpose process calculus. This way, we can outline
our proof using an intuitive graphical notation and leverage the rich theory of
process calculi in the actual proof, which is machine-checked using the
Isabelle proof assistant.Comment: In Proceedings FROM 2022, arXiv:2209.09208. arXiv admin note:
substantial text overlap with arXiv:2208.1124
Algebraic Principles for Rely-Guarantee Style Concurrency Verification Tools
We provide simple equational principles for deriving rely-guarantee-style
inference rules and refinement laws based on idempotent semirings. We link the
algebraic layer with concrete models of programs based on languages and
execution traces. We have implemented the approach in Isabelle/HOL as a
lightweight concurrency verification tool that supports reasoning about the
control and data flow of concurrent programs with shared variables at different
levels of abstraction. This is illustrated on two simple verification examples
- ā¦