The theory of a computational model is a higher-level abstraction than the approach of programming language and computer architecture.
A programming language can be speculation as a specification device making applicable the system of a computational task whereby a specific computational model is pretended.
Computer architecture can be considered upon as a tool to execute a computational model or to implement a given computational task defined using a programming language, whereby a specific computational model is given.
To demonstrate these relationships it can consider the basic features of the programming languages and computer architectures that compare to the von Neumann computational model.
A programming language corresponding to this model should enable variables to be declared and their values to be manipulated by the usage of an ideal set of instructions as many instances as needed during computation.
Moreover, the language must support control instructions to enable explicit control of the execution sequence. Languages fulfilling these necessities are known as imperative languages. The most extensively used languages, including C, PASCAL, FORTRAN, etc., are all imperative languages.
It can easily be shown that the von Neumann architectures suit the von Neumann computational model. Variables are implemented as addressable locations in memory, or registers, and therefore their values can be altered as many times as required. Sequence control is implemented by storing the instructions in memory and declaring a pointer called the Program Counter, which indicates the instructions to be executed first.
Finally, it should be pointed out that new computational models and their corresponding programming languages and architectures usually evolve in the following sequence such as computational model, programming language, computer architectures as shown in the figure.
To emphasize this point, we quote the publication dates of literature on the dataflow principle of operation (Karp and Miller, 1966), data flow (single assignment) languages (Tesler and Enea, 1968), and dataflow architectures, as paper designs (Dennis and Misunas, 1975, Arvind and Gostelow, 1977) and as working experimental machines such as DDM1 in 1977 (Davis, 1978) or LAU in 1979 (Gurud et al, 1987).