A lot of what I’m trying to do with mathematical models of computer systems involves operations on finite sequences. Define a “finite sequence of length n>0” to be any total map f: {1 … n} → X for some set X.
The difference between unspecified, undefined, and non-deterministic
There is too much confusion in the “formal methods” computer science literature between these three different terms. Let me start with what this means for a state machine and then move on to engineering objects such as threads. Suppose we
Software quality at toyota
The good stuff starts on page 36 Koopman.
A mathematical basis for understanding software modularity
Download.
one way queues
Here’s some code for lock free queues for a single producer and single consumer. The code is designed for Intel multiprocessors with strong memory model. I don’t know what ARM offers these days. But the strong memory model for x86
The Auragen file system.
This article on the interesting Wave Transactional File System inspired me to look up an earlier file system that also used copy on write semantics. From: Anita Borg, Wolfgang Blau, Wolfgang Graetsch, Ferdinand Herrmann, and Wolfgang Oberle. 1989. Fault tolerance
Paxos and other consensus algorithms and the unaccountable love for asynchrony
I’ve been looking at Paxos and Raft and Zab and other algorithms that can loosely be called “consensus” algorithms because we want to see where we can improve distributed system operation with precision time synchronization or where we can offer novel features
Keynes apology
The composition of this book has been for the author a long struggle of escape, and so must the reading of it be for most readers if the author’s assault upon them is to be successful,—a struggle of escape from
Process algebra is based on a misunderstanding of automata theory
Robin Milner’s book Communication and Concurrency involves a take on state machines that is fundamentally incorrect. “Now in standard automata theory, an automaton is interpreted as a language i.e. as a set of strings over the alphabet.“ That’s not at
More on Fischer, Lynch, Patterson and the parrot theorem.
I’m thinking about distributed consensus algorithms, timestamping, and databases and if you read that literature you will see many references to the Fischer, Lynch, Paterson “theorem”. Google Scholar tells me the paper has been cited more than 4500 times. The theorem