structural operational semantics
E811501
Structural operational semantics is a framework in theoretical computer science for defining the behavior of programming languages by specifying how each syntactic construct transitions between states using inference rules.
Statements (52)
| Predicate | Object |
|---|---|
| instanceOf |
operational semantics
ⓘ
semantics framework ⓘ theoretical computer science concept ⓘ |
| appliesTo |
concurrent systems
ⓘ
process calculi ⓘ programming languages ⓘ |
| basedOn | inference rules ⓘ |
| captures |
control flow of programs
ⓘ
interaction between program and state ⓘ step-by-step execution of programs ⓘ |
| characterizedBy |
rule-based description of program behavior
ⓘ
small-step semantics ⓘ state transition relations ⓘ syntax-directed rules ⓘ |
| defines |
operational rules for each syntactic construct
ⓘ
transition relation between program configurations ⓘ |
| describedIn | “A Structural Approach to Operational Semantics” NERFINISHED ⓘ |
| enables |
compositional description of language constructs
ⓘ
mechanized semantics in proof assistants ⓘ |
| field | theoretical computer science ⓘ |
| formalism |
inference rule notation
ⓘ
judgment forms ⓘ structural rules ⓘ |
| hasVariant |
big-step semantics
ⓘ
natural semantics ⓘ small-step semantics ⓘ |
| influenced |
development of SOS rule formats
ⓘ
probabilistic structural operational semantics ⓘ structural operational semantics with negative premises ⓘ |
| introducedBy | Gordon Plotkin NERFINISHED ⓘ |
| oftenRepresentsStateAs |
environment
ⓘ
heap ⓘ store ⓘ |
| publicationYear | 1981 ⓘ |
| relatedTo |
abstract machines
ⓘ
axiomatic semantics ⓘ bisimulation ⓘ denotational semantics ⓘ labelled transition systems ⓘ operational semantics ⓘ process algebra ⓘ |
| supports |
formal reasoning about program execution
ⓘ
proofs of compiler correctness ⓘ proofs of program equivalence ⓘ proofs of type soundness ⓘ |
| usedFor |
defining programming language semantics
ⓘ
describing behavior of programming languages ⓘ specifying transition systems for programs ⓘ |
| usedIn |
design of programming languages
ⓘ
formal verification ⓘ semantics of concurrency ⓘ semantics of process calculi ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.