Attributes
Correctness via a documented design that links code with theory
Architecture isolates message algebra specific details
Tool-oriented input and output