Robert Colvin

Learn More
We describe a formal verification of a recent concurrent list-based set algorithm due to Heller et al. The algorithm is optimistic: the add and remove operations traverse the list without locking, and lock only the nodes affected by the operation; the contains operation uses no locks and is wait-free. These properties make the algorithm challenging to prove(More)
We describe an array-based nonblocking implementation of a concurrent bounded queue, due to Shann, Huang and Chen (2000), and explain how we detected errors in the algorithm while attempting a formal verification. We explain how we first corrected the errors, and then modified the algorithm to obtain nonblocking behaviour in the boundary cases. Both the(More)
The effect of the presence of more easily degradable alternative carbon sources on the biodegradation of toxic waste components is of great practical importance. In this work, a mixed phenol/glucose waste was fed to two heterogeneous populations acclimated to different conditions: one was acclimated to phenol as a sole source of carbon and one to a mixed(More)
The Behavior Tree notation is used as part of a framework for developing complex computer systems. The framework is designed to simplify the process of constructing a formal specification of a system from its informal functional requirements. To give a meaning to Behavior Trees, this paper describes a lower-level language called Behavior Tree Process(More)
In this paper, we introduce a new cooperative design and visualization environment, called “Integrare”, which supports designers and developers in building dependable, component-based systems using a new behavior-oriented design method. This method has advantages in terms of its abilities to manage complexity, find defects and make checks of dependability.(More)