Information about Message Passing

In computer science, message passing is a form of communication used in concurrent computing, parallel computing, object-oriented programming, and interprocess communication. Communication is made by the sending of messages to recipients. Forms of messages include function invocation, signals, and data packets. Prominent models of computation based on message passing include the Actor model and the process calculi.

Microkernel operating systems pass messages between one kernel and one or more server blocks.

Distributed object and remote method invocation systems like ONC RPC, Corba, Java RMI, DCOM, SOAP, .NET Remoting and similar are message passing systems. The term is also used in High Performance Computing using Message Passing Interface.

The concept of message passing is also used in Bayesian inference over Graphical models.

Overview

Message passing systems have been called "shared nothing" systems because the message passing abstraction hides underlying state changes that may be used in the implementation of sending messages.

Message passing model based programming languages typically define messaging as the (usually asynchronous) sending (usually by copy) of a data item to a communication endpoint (Actor, process, thread, socket, etc.). Such messaging is used in Web Services by SOAP. This concept is the higher-level version of a datagram except that messages can be larger than a packet and can optionally be made reliable, durable, secure, and/or transacted.

Messages are also commonly used in the same sense as a means of interprocess communication; the other common technique

Examples of Message passing style

Influences on other programming models

OOP

In the terminology of some object-oriented languages, a message is the single means to pass control to an object. If the object 'responds' to the message, it has a method for that message.

Sending the same message to an object twice will usually result in the object applying the method twice. Two messages are considered to be the same message type, if the name and the arguments of the message are identical.

Objects can send messages to other objects from within their method bodies.

Alan Kay has suggested that he placed too much emphasis on objects themselves and not enough on the messages being sent between them. Message passing enables extreme late binding in systems.message passing is nothing passing some useful components from one object to other object.

Other

Some languages support the forwarding or

History

In 1977, Carl Hewitt put forward the thesis that computational control structures can be viewed as patterns of passing messages.[1]

See also

References

1. ^ Hewitt, Carl (June 1977). "Viewing Control Structures as Patterns of Passing Messages" (pdf). Journal of Artificial Intelligence. 
Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.
..... Click the link for more information.
Concurrent computing is the concurrent (simultaneous) execution of multiple interacting computational tasks. These tasks may be implemented as separate programs, or as a set of processes or threads created by a single program.
..... Click the link for more information.
Parallel computing is the simultaneous execution of some combination of multiple instances of programmed instructions and data on multiple processors in order to obtain results faster.
..... Click the link for more information.
Object-oriented programming (OOP) is a programming paradigm that uses "objects" and their interactions to design applications and computer programs. It is based on several techniques, including inheritance, modularity, polymorphism, and encapsulation.
..... Click the link for more information.
Inter-Process Communication (IPC) is a set of techniques for the exchange of data among two or more threads in one or more processes. Processes may be running on one or more computers connected by a network.
..... Click the link for more information.
In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more
..... Click the link for more information.
In computer science, the process calculi (or process algebras) are a diverse family of related approaches to formally modelling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and synchronizations between a
..... Click the link for more information.
An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.
ONC RPC, short for Open Network Computing Remote Procedure Call, is a widely deployed remote procedure call system. ONC was originally developed by Sun Microsystems as part of their Network File System project, and is sometimes referred to as Sun ONC or
..... Click the link for more information.
The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together.
..... Click the link for more information.
Java Remote Method Invocation API, or Java RMI, is a Java application programming interface for performing the object equivalent of remote procedure calls.

There are two common implementations of the API.
..... Click the link for more information.
Distributed Component Object Model (DCOM) is a Microsoft proprietary technology for software components distributed across several networked computers to communicate with each other.
..... Click the link for more information.
Simple Object Access Protocol, and lately also Service Oriented Architecture Protocol, but is now simply SOAP. The original acronym was dropped with Version 1.2 of the standard, which became a W3C Recommendation on June 24 2003, as it was considered to be misleading.
..... Click the link for more information.
.NET Remoting is a Microsoft application programming interface (API) for interprocess communication released in 2002 with the 1.0 version of .NET Framework. It is one in a series of Microsoft technologies that began in 1990 with the first version of Object Linking and Embedding
..... Click the link for more information.
The term high performance computing (HPC) refers to the use of (parallel) supercomputers and computer clusters, that is, computing systems comprised of multiple (usually mass-produced) processors linked together in a single system with commercially available interconnects.
..... Click the link for more information.
Message Passing Interface (MPI) is computer software that allows many computers to communicate with one another. It is used in computer clusters.

Overview


..... Click the link for more information.
Bayesian inference is statistical inference in which evidence or observations are used to update or to newly infer the probability that a hypothesis may be true. The name "Bayesian" comes from the frequent use of Bayes' theorem in the inference process.
..... Click the link for more information.
In probability theory, statistics, and machine learning, a graphical model (GM) is a graph that represents independencies among random variables by a graph in which each node is a random variable, and the missing edges between the nodes represent conditional independencies.
..... Click the link for more information.
The W3C defines a Web service (many sources also capitalize the second word, as in Web Services) as "a software system designed to support interoperable Machine to Machine interaction over a network.
..... Click the link for more information.
Simple Object Access Protocol, and lately also Service Oriented Architecture Protocol, but is now simply SOAP. The original acronym was dropped with Version 1.2 of the standard, which became a W3C Recommendation on June 24 2003, as it was considered to be misleading.
..... Click the link for more information.
:::For uses of the word "Packet" outside Information Technology, see Packet


In information technology, a packet is a formatted block of data carried by a packet mode computer network.
..... Click the link for more information.
In general, reliability (systemic def.) is the ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances.

The IEEE defines it as ". . .
..... Click the link for more information.
Durability is the ability to endure. It can refer to:
  • Durable goods, goods with a long usable life in economics.
  • Durability (database systems), one of the ACID properties.

..... Click the link for more information.
Secure may refer to:
  • Security, being protected against danger or loss
  • Security (finance), e.g. secured loans
  • Secure (G5), a NatureServe conservation status, similar to Least Concern, indicating a species is not at risk of extinction
  • Secure River, Bolivia

..... Click the link for more information.
A database transaction is a unit of interaction with a database management system or similar system that is treated in a coherent and reliable way independent of other transactions.
..... Click the link for more information.
Inter-Process Communication (IPC) is a set of techniques for the exchange of data among two or more threads in one or more processes. Processes may be running on one or more computers connected by a network.
..... Click the link for more information.
In computer science, Actor model implementation concerns implementation issues for the Actor model.

Cosmic Cube

The Cosmic Cube was developed by Chuck Seitz et al. at Caltech providing architectural support for Actor systems.
..... Click the link for more information.
Distributed computing is a method of computer processing in which different parts of a program run simultaneously on two or more computers that are communicating with each other over a network.
..... Click the link for more information.
Simple Object Access Protocol, and lately also Service Oriented Architecture Protocol, but is now simply SOAP. The original acronym was dropped with Version 1.2 of the standard, which became a W3C Recommendation on June 24 2003, as it was considered to be misleading.
..... Click the link for more information.
Amorphous computing refers to computational systems that use very large numbers of identical, parallel processors each having limited computational ability and local interactions.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter