Book contents
- Frontmatter
- Contents
- List of Boxes
- Preface
- Part I Introduction
- Part II Action Notation
- Chapter 4 Basic
- Chapter 5 Data
- Chapter 6 Functional
- Chapter 7 Declarative
- Chapter 8 Imperative
- Chapter 9 Reflective
- Chapter 10 Communicative
- Part III Semantic Descriptions
- Part IV Conclusion
- Appendices
- Bibliography
- Symbol Index
- Concept Index
Chapter 8 - Imperative
Published online by Cambridge University Press: 19 January 2010
- Frontmatter
- Contents
- List of Boxes
- Preface
- Part I Introduction
- Part II Action Notation
- Chapter 4 Basic
- Chapter 5 Data
- Chapter 6 Functional
- Chapter 7 Declarative
- Chapter 8 Imperative
- Chapter 9 Reflective
- Chapter 10 Communicative
- Part III Semantic Descriptions
- Part IV Conclusion
- Appendices
- Bibliography
- Symbol Index
- Concept Index
Summary
Action notation includes an imperative action notation for specifying changes to storage.
Imperative actions are concerned with stable information.
Chapter 15 illustrates the use of imperative action notation in the semantic description of variable declarations, assignment statements, and expressions.
Imperative actions are concerned with processing stable information, which generally gets propagated further than transient and scoped information, remaining current until some primitive action changes it. Stable information consists of a collection of independent items, and each change only affects one item. Changes are destructive, rather than temporary, so they can only be reversed if a copy of the destroyed item is available.
Stable information represents the values assigned to variables in programs. An assignment is regarded as an order to the computer, rather than as an assertion, hence the adjective ‘imperative’ for the processing of stable information.
Implementations represent stable information using random-access memory, or secondary storage devices such as magnetic tapes and discs, which in fact can only store single bits—but lots of them! Particular bit-patterns in memory correspond to values, although different occurrences of the same bit-pattern may represent many different abstract values, such as characters and numbers. However, the representation of values by bit-patterns is generally implementation-dependent, so we are justified in ignoring it in semantic descriptions.
In action notation we represent stable information by a map from storage cells to individual items of storable data.
- Type
- Chapter
- Information
- Action Semantics , pp. 108 - 113Publisher: Cambridge University PressPrint publication year: 1992