In computer science, operational semantics is a way to give meaning to computer programs in a mathematically rigorous way (See formal semantics of programming languages). Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ...
A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ...
In theoretical computer science formal semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages and models of computation. ...
The operational semantics for a programming language describes how a valid program is interpreted as sequences of computational steps. These sequences then are the meaning of the program. In the context of functional programs, the final step in a terminating sequence returns the value of the program. (In general there can be many computation sequences and many return values for a single program, because the program could be nondeterministic.) Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions. ...
This article is about the general notion of determinism in philosophy. ...
A common way to rigorously define the operational semantics, pioneered by Gordon Plotkin in his 1981 paper "A Structural Approach to Operational Semantics", is to provide a state transition system for the language of interest. Such a definition allows a formal analysis of a language, permitting the study of relations between programs. Important relations include simulation preorders and bisimulation. These are especially useful in the context of concurrency. Gordon D. Plotkin FRS (born 9 September 1946) is a computer scientist. ...
In theoretical computer science, a state transition system is an abstract machine used in the study of computation. ...
In mathematics, the concept of a relation is a generalization of 2place relations, such as the relation of equality, denoted by the sign = in a statement like 5 + 7 = 12, or the relation of order, denoted by the sign < in a statement like 5 < 12. Relations that involve two...
In theoretical computer science a simulation preorder is a relation between state transition systems associating systems which behave in the same way in the sense that one system simulates the other. ...
In theoretical computer science a bisimulation is an equivalence relation between state transition systems, associating systems which behave in the same way in the sense that one system simulates the other and viceversa. ...
The Dining Philosophers, a classic problem involving concurrency and shared resources In computer science, concurrency is a property of systems in which several computational processes are executing at the same time, and potentially interacting with each other. ...
Defining operational semantics through a state transition system is usually done by giving an inductive definition of the set of possible transitions. This usually takes the form of a set of inference rules which define the valid transitions in the system. A recursive definition is a one which defines a word in terms of itself, albeit in a useful way. ...
In logic, especially in mathematical logic, a rule of inference is a scheme for constructing valid inferences. ...
The first operational semantics was that of the lambda calculus. Abstract machines in the tradition of the SECD machine are closely related. The lambda calculus is a formal system designed to investigate function definition, function application, and recursion. ...
The SECD machine is a highly influential virtual machine intended as a target for functional programming language compilers. ...
See also
An algebraic semantics of a programming language is a form of axiomatic semantics based on algebraic laws for describing and reasoning about program semantics in a formal manner. ...
Axiomatic Semantics is an approach based on mathematical logic to proving the correctness of computer programs. ...
In computer science, denotational semantics is an approach to formalizing the semantics of computer systems by constructing mathematical objects (called denotations or meanings) which express the semantics of these systems. ...
In theoretical computer science formal semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages and models of computation. ...
References  Gordon D. Plotkin. A Structural Approach to Operational Semantics. (1981) Tech. Rep. DAIMI FN19, Computer Science Department, Aarhus University, Aarhus, Denmark. Reprinted with corrections in J. Log. Algebr. Program. 6061: 17139 (2004) (preprint).
