Process-oriented programming
Encyclopedia
Process-oriented programming is a programming paradigm
that separates the concerns of data structures and the concurrent processes that act upon them. The data structures in this case are typically persistent, complex, and large scale - the subject of general purpose applications, as opposed to specialized processing of specialized data sets seen in high productivity applications (HPC). The model allows the creation of large scale applications that partially share common data sets. Programs are functionally decomposed into parallel processes that create and act upon logically shared data.
The paradigm was originally invented for parallel computers in the 1980s, especially computers built with transputer microprocessors by INMOS
, or similar architectures. It evolved to meet deficiencies in the message passing
paradigm of Occam and enable uniform efficiency when porting applications between distributed memory and shared memory parallel computers.
The first example of the paradigm appears in the programming language Ease
designed at Yale University in 1990. Similar models have appeared since in the loose combination of SQL databases and objected oriented languages such as Java
, often referred to as object-relational models and widely used in large scale distributed systems today. The paradigm is likely to appear on desktop computers as microprocessors increase the number of processors (multicore
) per chip.
Programming paradigm
A programming paradigm is a fundamental style of computer programming. Paradigms differ in the concepts and abstractions used to represent the elements of a program and the steps that compose a computation A programming paradigm is a fundamental style of computer programming. (Compare with a...
that separates the concerns of data structures and the concurrent processes that act upon them. The data structures in this case are typically persistent, complex, and large scale - the subject of general purpose applications, as opposed to specialized processing of specialized data sets seen in high productivity applications (HPC). The model allows the creation of large scale applications that partially share common data sets. Programs are functionally decomposed into parallel processes that create and act upon logically shared data.
The paradigm was originally invented for parallel computers in the 1980s, especially computers built with transputer microprocessors by INMOS
INMOS
Inmos Limited was a British semiconductor company, founded by Iann Barron, with both the head office and the design office at Aztec West in Bristol, it was incorporated in November 1978.- Products :...
, or similar architectures. It evolved to meet deficiencies in the message passing
Message passing
Message passing in computer science is a form of communication used in parallel computing, object-oriented programming, and interprocess communication. In this model, processes or objects can send and receive messages to other processes...
paradigm of Occam and enable uniform efficiency when porting applications between distributed memory and shared memory parallel computers.
The first example of the paradigm appears in the programming language Ease
Ease programming language
Ease is a general purpose parallel programming language, designed by Steven Ericsson-Zenith of Yale University. It combines the process constructs of CSP with logically shared data structures called contexts...
designed at Yale University in 1990. Similar models have appeared since in the loose combination of SQL databases and objected oriented languages such as Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, often referred to as object-relational models and widely used in large scale distributed systems today. The paradigm is likely to appear on desktop computers as microprocessors increase the number of processors (multicore
Multicore
Multicore may refer to:* Multi-core processor ** Multicore Association, founded in 2005, a non-profit, industry consortium focused on multicore technology* multicore cable, a generic term for an electrical cable that has multiple cores...
) per chip.
See also
- Massively parallel processing
- Parallel computingParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
- Multi-coreMulti-core (computing)A multi-core processor is a single computing component with two or more independent actual processors , which are the units that read and execute program instructions...