Definition
Structural Operational Semantics
Structural Operational Semantics (also known as small-step semantics) describes the execution of a program as a sequence of individual computation steps. A single transition is typically written as:
where is the remaining program fragment to be executed, is the current state, and the arrow represents a single atomic transition to a new program and state .
Characteristics
- Granularity: SOS provides the finest level of detail, making it suitable for reasoning about interleaving and concurrency.
- Non-termination: Infinite loops are explicitly represented as infinite transition chains .
- Termination: A terminal state is reached when the program component is empty (e.g., ).