3 research outputs found
Rigorous Design of Fault-Tolerant Transactions for Replicated Database Systems using Event B
System availability is improved by the replication of data objects in a distributed database system. However, during updates, the complexity of keeping replicas identical arises due to failures of sites and race conditions among conflicting transactions. Fault tolerance and reliability are key issues to be addressed in the design and architecture of these systems. Event B is a formal technique which provides a framework for developing mathematical models of distributed systems by rigorous description of the problem, gradually introducing solutions in refinement steps, and verification of solutions by discharge of proof obligations. In this paper, we present a formal development of a distributed system using Event B that ensures atomic commitment of distributed transactions consisting of communicating transaction components at participating sites. This formal approach carries the development of the system from an initial abstract specification of transactional updates on a one copy database to a detailed design containing replicated databases in refinement. Through refinement we verify that the design of the replicated database confirms to the one copy database abstraction
Recording Process Documentation in the Presence of Failures
Scientific and business communities present unprecedented requirements on provenance, where the provenance of some data item is the process that led to that data item. Previous work has conceived a computer-based representation of past executions for determining provenance, termed process documentation, and has developed a protocol, PReP, to record process documentation in service oriented architectures. However, PReP assumes a failure free environment. Failures lead to process documentation unable to be recorded, losing the evidence that a process occurred. This is not acceptable in the applications relying on process documentation and would cause disastrous consequences. This paper describes our solution, F-PReP, a protocol for recording process documentation in the presence of failures. A complete formalization of the protocol using Abstract State Machines is also presented
Formal Verification of Receiver Initiated Load Distribution Protocol with Fault Tolerance and Recovery using Event-B
1078-1090Load distribution is a process that involves the allocation of tasks to various nodes in the distributed system in such a
manner that overall resource utilization is maximized, and overall response time is minimized. This paper presents a formal
model for verification of receiver-initiated load balancing and fault tolerance protocol with recovery in distributed systems
using the eclipse-based Event-B platform called Rodin. Here, the receiver-initiated load balancing approach is demonstrated
along with tolerance of node failure and recovery. In this approach, an underloaded node (receiver) initiates the process of
load transfer from an overloaded node (sender). The underloaded node broadcasts a request message to obtain load from the
overloaded nodes. The overloaded nodes reply with their load value. The underloaded node then selects the optimal
overloaded node for load transfer. The chances of node failure are minimized by reducing the number of overloaded nodes.
The process of recovery from failure is also shown in the proposed model. Formal methods are used to mathematically
verify the critical properties of the system by developing a model based on its specifications. Our objective is to verify and
validate the model for correctness through discharge of proof obligations using Event-B. Event-B is a formal method which
is used for verification of a model based on distributed systems. The proof obligations generated by the model are
discharged which ensures the correctness of our model