Functional Specification
Elucidate and answer questions (inherent in high-level natural language statements)
Tunable formalism lets us to choose what to formalize and how much to formalize.
Efficiency considerations need not concern us (until later, during design).
Systematic approach to specification
- identify informal components (triggers, actions, constraints, interactions) needing formalization and formalize them
- use rapid prototyping (state nets are “executable”)