3 research outputs found

    Rigorous Design of Fault-Tolerant Transactions for Replicated Database Systems using Event B

    No full text
    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

    No full text
    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

    Get PDF
    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
    corecore