A Formal Specification Primer --
A Companion Document to the SpecL Reference Manual
Version 4, September 2006
Contents
1. Introduction
1.1. Motivation
1.2. Notation
1.3. Scope of the Primer
1.4. What Is a ``Requirement'', What Is a ``Specification''?3. Defining Objects and Operations
3.1. Interface Heuristics
3.2. Heuristic Application
3.3. Further Refinement4. Formal Specification with Preconditions and Postconditions
4.1. Notational Summary
4.2. Formal Specification Maxims
4.3. Basic Rolodex Definitions
4.4. Basic User-Level Requirements
4.4.1. No Duplicates
4.4.2. Input Value Checking
4.4.3. Ordering of Multi-Card Lists
4.4.4. Unbounded Quantification
4.4.5. Using Auxiliary Functions5. User-Level Refinements and Enhancements
5.1. Pattern-Based Search
5.2. Historical Dialogs
5.3. Check Pointing
5.4. Undo
5.5. Security6. Rolodex File Operations
6.1. Abstract File Operations
6.2. More Concrete File Operations
6.3. Considering a Rolodex System Workspace