William W. Collier

Learn More
A memory model defines the behavior of a shared memory machine when two or more threads read/write the same operand at the same time. There are only a handful of choices in defining a memory model. There are two (not clearly distinct) types of test to determine if a machine fails to conform to its memory model. Simple tests identify the normal behavior of(More)
In order to write algorithms which interact successfully on shared data, it is necessary to understand the assumptions which are made about each operation and to know whether or not the assumptions are met by the underlying hardware. There are several basic types of operations on shared data; from the number of these operations a measure of the degree of(More)
Narrow complex tachycardias are those cardiac rhythms with a ventricular rate of more than 100 beats per minute and a QRS complex width of less than 0.12 seconds. They originate either from the SA node, from atrial tissue itself, or from in or around the AV node. The term SVT is generally accurate for such tachycardias. By diagnosing the source of an SVT(More)
We present a case study of the use of formal verification methods in a computer system design project. The SMV model checker was integrated into the project design flow, and used to verify a specification of a cache coherency protocol for a distributed shared memory machine. Both the processor and I/O portions of the protocol description were verified,(More)
  • 1