The Dream
A “natural” explanation of a program
Agent.java
?
public class Agent {
   start()
   doIt()
   stop()
}
!
What: structure
How: behavior
Why: purpose, context
From a designer’s perspective