Dictionary
Thesaurus
Reference
Translate
Web
Operational semantics
1 reference results for: Operational semantics
Wikipedia
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).

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.)

For the first time, the concept of operational semantics was used in defining the semantics of Algol 68. The following statement is a quote from the revised ALGOL 68 report:

The meaning of a program in the strict language is explained in terms of a hypothetical computer which performs the set of actions which constitute the elaboration of that program. (Algol68, Section 2)

The first use of the word "operational semantics" in its present meaning is attributed to Dana Scott (Plotkin04b). What follows is a quote from Scott's seminal paper on formal semantics, in which he mentions the "operational" aspects of semantics.

It is all very well to aim for a more ‘abstract’ and a ‘cleaner’ approach to semantics, but if the plan is to be any good, the operational aspects cannot be completely ignored. (Scott70)

Perhaps the first formal incarnation of operational semantics was that of the lambda calculus. Abstract machines in the tradition of the SECD machine are also closely related.

Structural Operational Semantics (SOS)

Structural Operational Semantics (SOS) was introduced by Gordon Plotkin in (Plotkin04a) as a logical means to defining operational semantics. The basic idea behind SOS is to define the behavior of a program in terms of the behavior of its parts, thus providing a structural, i.e., syntax oriented and inductive, view on operational semantics. An SOS specification defines the behavior of a program in terms of a (set of) transition relation(s). SOS specifications take the form of a set of inference rules which define the valid transitions of a composite piece of syntax in terms of the transitions of its components.

Such a definition allows formal analysis of the behavior of programs, permitting the study of relations between programs. Important relations include simulation preorders and bisimulation. These are especially useful in the context of concurrency theory.

Thanks to its intuitive look and easy to follow structure, SOS has gained great popularity and has become a de facto standard in defining operational semantics. As a sign of success, the original report (so-called Aarhus report) on SOS (Plotkin04a) has attracted some 900 citations according to the CiteSeer , making it one of the most cited technical reports in Computer Science.

See also

References

Share This:Share This: digg.comShare This: ma.gnolia.comShare This: www.stumbleupon.comShare This: del.icio.usShare This: FacebookShare This: favorites.live.comShare This: www.technorati.comShare This: furl.netShare This: myweb2.search.yahoo.comShare This: www.google.com