Jump to content

Execution model

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Seanhalle (talk | contribs) at 09:40, 20 May 2015 (Created page with '{{About|Underlying support for semantics of programming language constructs}} {{Program execution}} An '''Execution Model''' specifies the behavior underlying t...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

An Execution Model specifies the behavior underlying the semantics of the constructs of a programming language. For example, in the C programming language, the execution model specifies that execution proceeds from one statement to the next, and it specifies the order of precedence, which determines the order of operations within a statement. Each and every programming language has an execution model, which determines the manner in which the units of work that are indicated by program syntax are scheduled for execution. Examples of the execution models of a few popular languages include that of Python [1], the execution model of the Unified Parallel C (UPC) programming language [2], a discussion of various classes of execution model such as for imperative versus functional languages [3], an article discussing execution models for real-time embedded languages [4]

A language's execution model is implemented by some form of runtime system, which may be part of an interpreter, or may be called by code inserted by a compiler, or may be directly embedded into an executable by a compiler.

Overview

As a simple example of a basic execution model, that of the C language is described in the book by Kernihan and Richie [5]. The book describes that work takes places in units called statements, which are syntactically indicated by a terminating ";". It specifies that statements are completed in order, one at a time, and a previous statement completes before the next statement begins. Details such as this are part of the execution model.

In the modern age, parallel programming is an increasingly important topic. Parallel execution models are much more complex. For example, the C++11 standard includes sizeable wording that deals with the parallel execution model of the language.

See also


References

  1. ^ "Python Documentation: Execution Model".
  2. ^ "UPC Language Features".
  3. ^ Cardoso, J.M.P. and Diniz, P.C. (2011). "Programming Languages and Execution Models". Springer US. ISBN 9780387096711.{{cite web}}: CS1 maint: multiple names: authors list (link)
  4. ^ PELLIZZONI, R., BETTI, E., BAK, S., YAO, G., CRISWELL, J., CACCAMO, M., AND KEGLEY, R (2011). "A Predictable Execution Model for COTS-based Embedded Systems" (PDF). Real-Time and Embedded Technology and Applications Symposium. IEEE.{{cite web}}: CS1 maint: multiple names: authors list (link)
  5. ^ Kernighan, Brian W.; Dennis M. Ritchie (February 1978). The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3.