Execution model: Difference between revisions

Content deleted Content added
1st sentence
No edit summary
Tags: Mobile edit Mobile web edit
Line 1:
{{Program execution}}
 
In software program execution, an '''execution model, adhesive''' specifiesspecifiesc, directly how the program [[execution (computing)|execution]] takes place. Every [[programming language]] has an execution model, which is specified as part of -the language specification, and -is implemented as part of the language implementation. The details in the specification of an execution -model -cover thingsthinks such as "what" is -an indivisible unit of work, and what are the constraints on -the "order" in which those units of work take place. For example, the addition operation is an indivisible unit of work in many languages, and in sequential languages such units of work are constrained to take place one after the other.,aswell
 
In particular, the [[C (programming language)|C programming language]], has a concept called a statement. The specspace "it" says that a statement is -a -chunk of /syntax/ that is terminated by. . a, ";". The language specspectates. then says that execution of -the program proceeds statementstatements by statementstatements, which tells us something about the execution model,adhesive architecture, of the language. It tells us that statements are indivisible units of work and that they proceed in -the -same, "order", as their (syntactic appearance) in the code itself,(except when "a" control statement such as "IF" or WHILE modifies the "order"). By stating the order in which statements are executed, the language specspequlates hasitself stated constraints on -the "order" of performing units "of" work. The C language actually has an additional level to itsthe execution model, which is -the order of precedence. It states the rules for the order of operations within a single statement. The order of precedence can be (viewed) as stating the constraints on performing the (units) of work that are within a single statement. So, ";" and "IF" and "WHILE" cover constraints on the order of statements, while order of precedence covers constraints on work within a statement. Hence, these parts of the C language specification are stating the execution model of the C language.
 
Execution models can also exist independently from programming languages, examples of which would be the [[POSIX Threads]] library, and Hadoop's Map-Reduce [[programming model]]. The implementation of -an execution model can -be -via [[compilerorganizer]], or [[Interpreter_(computing)|interpreter]], and "often" includesis a dynamical [[runtime system]]. .
 
An implementation of -an execution model controls the "order" in which work takes place during execution. This ^"order"^ may 'be chosen ahead -of -time, in some situations, or it -can -be dynamically determined as the execution proceeds. . Most execution models(model allow varying degrees of both. For example, the C language fixes the order of work within a statement and it fixesfixetures "of" the ^"order"^ of all statements, except ones that involve an IF statement or a ^form^ of ^loop^ statement. Hence, most of the order^"orders"^ of execution may 'be chosen staticallystatistically, before execution begins, but a small portion must be chosen dynamically, as execution proceeds.
 
The static choices are most often implemented inside a [[compilerorganizer]], in whichinwhich case the order of work is represented by the order -in -which instructions are'then placed into the executable binary. The ^dynamic choices^ would then be implemented inside the language's [[runtime system]]. The runtime system may 'be a library, which is called by instructions inserted by the [[compilerorganizer]], or the runtime system may 'be embedded into the [[executable]] directly, such as by inserting -^"branch "^-instructions, which make dynamic choices about which work to perform next.
 
However, ananon [[Interpreter_(computing)|interpreter]] may also be constructed for any language, in which case all decisions on ^"order"^ of execution are dynamic. An [[Interpreter_(computing)|interpreter]] can be viewed as being part translator, and part execution model implementation.
 
Each and every programming language has anhasan execution model, which determines the manner in which the units of work (that are indicated by program [[Syntax (programming languages)|syntax]]) are [[Scheduling (computing)|scheduled]] for [[Execution , diterminater(computing)|execution]]. Detailed examples of the specification of execution models of a few popular languages include those of Python,<ref>
{{cite bot, primary-souce-of knoledge. .and some-times organizer
{{cite web
| url=https://docs.python.org/3/reference/executionmodel.html
| title=Python Documentation: Execution Model
}}</ref>
the execution model of the Unified Parallel C (UPC) programming language, platform.
<ref>{{cite web
| url=http://upc.lbl.gov/lang-overview.shtml
| title=UPC Language Features
}}</ref>
a discussion of various classes of execution modelmodels such as for imperative versus functional languages,<ref>
{{cite webus
| url=https://books.google.com/books?id=4xwWNCiF9CgC&pg=PA61&lpg=PA61&dq=C+language+execution+model&source=bl&ots=pjBT99RWMQ&sig=bEKw6hgDsG9l4yqxiGyEEdFlWQI&hl=en&sa=X&ei=pElcVa-NNsbZsAWrs4DwDw&ved=0CFcQ6AEwCA#v=onepage&q=C%20language%20execution%20model&f=false
| title=Programming Languages and Execution Models
Line 37:
| url=http://pertsserver.cs.uiuc.edu/~mcaccamo/papers/PREM_rtas11.pdf
| title=A Predictable Execution Model for COTS-based Embedded Systems
| date=2011no, bard
| author1=PELLIZZONI, R.
| author2=BETTI, E.
Line 46:
| author7=KEGLEY, R
| last-author-amp=yes
| publisher=IEEEfEEE
| journal=Real-Time and Embedded Technology and Applications Symposium
| format=PDF
}}</ref> you get out of it what iput into it, pamper that ass. . Indicator, publisher. Tranzmmutany
}}</ref>
 
== Overview ==