37293977
Mechanical Verification of Distributed Algorithms in Higher-Order Logic
The only way to verify the correctness of a distributed algorithm with a high degree of confidence is to construct a correctness proof that is so formal and rigorous as to be checkable by a machine. The chief aim of this paper is to show, via a simple but typical example, how such proofs can be constructed and checked using HOL—a mechanical theorem-proving system for higher-order logic. The secondary aim is to demonstrate a method for reasoning about distributed algorithms based on the notions of events and causality. The goal is to perform as much reasoning as possible in the events-and-causality view and then translate the results back to the processors-and-messages view, since the former is more abstract and easier to reason about than the latter. The example we use to illustrate our ideas is the verification of a simple distributed summation algorithm for trees. A companion paper [6] describes the formal graph theory needed for this task.
17395638
A Simple Method for Parameterized Verification of Cache Coherence Protocols
We present a simple method for verifying the safety properties of cache coherence protocols with arbitrarily many nodes. Our presentation begins with two examples. The first example describes in intuitive terms how the German protocol with arbitrarily many nodes can be verified using a combination of Murphi model checking and apparently circular reasoning. The second example outlines a similar proof of the FLASH protocol. These are followed by a simple theory based on the classical notion of simulation proofs that justifies the apparently circular reasoning. We conclude the paper by discussing what remains to be done and by comparing our method with other approaches to the parameterized verification of cache coherence protocols, such as compositional model checking, machine-assisted theorem proving, predicate ion, invisible invariants, and cut-off theorems.
38950443
Mechanical Verification of Distributed Algorithms in Higher-Order Logic
The only practical way to verify the correctness of distributed algorithms with a high degree of confidence is to construct machine-checked, formal correctness proofs. In this paper we explain how to do so using HOL an interactive proof assistant for higher order logic developed by Gordon and others. First, we describ how to build an infrastructure in HOL that supports reasoning about distributed algorithms,including formal theories of predicates, temporal logic, labeled transitions systems, simulation of programs, translation of properties, and graphs. Then we demonstrate, via an exemple, how to use the powerful intuition about eventsand causality to guide and structure correctness proofs of distributed algorithms. The example used is the verification of PIF (propagation of information with feedback), which is a simple but typical distributed algorithm due to Segall.
15149925
A Formal Theory of Undirected Graphs in Higher-Order Logic
This paper describes a formal theory of undirected (labeled) graphs in higher-order logic developed using the mechanical theoremproving system HOL. It formalizes and proves theorems about such notions as the empty graph, single-node graphs, finite graphs, subgraphs, adjacency relations, walks, paths, cycles, bridges, reachability, connectedness, acyclicity, trees, trees oriented with respect to roots, oriented trees viewed as family trees, top-down and bottom-up inductions in a family tree, distributing associative and commutative operations with identities recursively over subtrees of a family tree, and merging disjoint subgraphs of a graph. The main contribution of this work lies in the precise formalization of these graph-theoretic notions and the rigorous derivation of their properties in higher-order logic. This is significant because there is little tradition of formalization in graph theory due to the concreteness of graphs. A companion paper [2] describes the application of this formal graph theory to the mechanical verification of distributed algorithms.
16192278
A distributed location service for reducing query failures in geographic ad hoc routing
Location service support is required for mobile nodes using geographic ad hoc routing. The mobile nodes need location information of destinations for sending data packets. Due to mobility or node failures, queries to the location servers may not always succeed. This paper presents a distributed location service (DLS) that employs dual servers to maintain position information of mobile nodes and to achieve efficient performance. With the scheme, the number of failed queries, including no response and erroneous results, can be reduced. DLS has been implemented and evaluated using the ns2 simulator. The experimental results show that DLS not only improved service availability but also location query latency.
5473639
Large-scale data collection: a coordinated approach
In this paper we consider the problem of collecting a large amount of data from several different hosts to a single destination in a wide-area network. Often, due to congestion conditions, the paths chosen by the network may have poor throughput. By choosing an alternate route at the application level, we may be able to obtain substantially faster completion time. This data collection problem is a nontrivial one because the issue is not only to avoid congested link(s), but to devise a coordinated transfer schedule which would afford maximum possible utilization of available network resources. In this paper we present an approach for computing coordinated data collection schedules, which can result in significant performance improvements. We make no assumptions about knowledge of the topology of the network or the capacity available on individual links of the network, i.e., we only use end-to-end information. Finally, we also study the shortcomings of this approach in terms of the gap between the theoretical formulation and the resulting data transfers in wide-area networks. In general, our approach can be used for solving arbitrary data movement problems over the Internet. We use the Bistro platform to illustrate one application of our techniques.
26815889
A hybrid sensor network for cane-toad monitoring
This demonstration shows a wireless, acoustic sensor network application--- monitoring amphibian populations in the monsoonal woodlands of northern Australia. Our system uses automatic recognition of animal vocalizations to census the populations of native frogs and the invasive introduced species, the Cane Toad (see Fig. 1). This is a challenging application because it requires high frequency acoustic sampling, complex signal processing and wide area sensing coverage [2]. Our prototype consists of a hybrid mixture of Stargates and inexpensive, resource-poor Mica motes operating in concert. The Mica motes are used to collect acoustic samples, and expand the sensor network coverage. The Stargates are used for resource-intensive tasks.
921044
The design and evaluation of a hybrid sensor network for cane-toad monitoring
This paper investigates a wireless, acoustic sensor network application-monitoring amphibian populations in the monsoonal woodlands of northern Australia. Our goal is to use automatic recognition of animal vocalizations to census the populations of native frogs and the invasive introduced species, the cane toad. This is a challenging application because it requires high frequency acoustic sampling, complex signal processing and wide area sensing coverage. We set up two prototypes of wireless sensor networks that recognize vocalizations of up to 9 frog species found in northern Australia. Our first prototype is simple and consists of only resource-rich Stargate devices. Our second prototype is more complex and consists of a hybrid mixture of Stargates and inexpensive, resource-poor Mica2 devices operating in concert. In the hybrid system, the Mica2s are used to collect acoustic samples, and expand the sensor network coverage. The Stargates are used for resource-intensive tasks such as fast Fourier transforms (FFTs) and machine learning. The hybrid system incorporates three algorithms designed to account for the sampling, processing and communication bottlenecks of the Mica2s (i) high frequency sampling, (ii) compression and noise reduction, to reduce data transmission by up to 90%, and (iii) sampling scheduling, which exploits the sensor network redundancy to increase the effective sample processing rate. We evaluate the performance of both systems over a range of scenarios, and demonstrate that the feasibility and benefits of a hybrid systems approach justify the additional system complexity.
7247879
A comparative content analysis of student interaction in synchronous and asynchronous learning networks
Interaction plays an important role in the success of distance learning. As most distance learning environments mainly utilize asynchronous computer-mediated communication (CMC) systems, interaction research that focuses on synchronous CMC is largely ignored. This study scrutinized the patterns of learner-learner interaction in a distance learning environment. Student interactions in synchronous and asynchronous CMC systems were compared. The results of the research suggest that constructivist-based instructional activities, such as student-moderated discussion and small-group cooperative learning, are conducive to interaction. Overall, a higher percentage of social-emotional interactions occurred in the synchronous mode than in the asynchronous mode. Students spent more time in task-oriented interaction in asynchronous discussions than they did in the synchronous mode. In moderating online seminars, student moderators who followed the guidelines of student-centered discussions (SCD) were able to encourage full participation in an online seminar. Recommendations for the design of instructional activities and interactive interfaces were also made in order to improve distance learning environments.