Basics
Objectives
Patterns - semi-automatic reasoning about software
Task Types
Worker Patterns
notifier - blocks on events (interrupts)
for (;;) {
AwaitEvent()
Send()
}
courier - transmits data between servers
for (;;) {
Send(server1, req, msg); // pull from server1
Send(server2, msg); // push to server2
}
often ad-hoc activity - reflect on it...
what's in a bug?
Model | Implementation | |
---|---|---|
Program | Design | Coding |
Environment | Interface | Internals |
potential problems
Experiments
Tools
str pc, <location>
, then post-mortemTiming Challenges
Race Condition (origin in circuit electronics)