FACTOID # 172: The number of tourists in San Marino is almost 19 times the resident population.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Message passing

In computer science, message passing is a form of communication used in concurrent programming, parallel programming, 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. Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... Concurrent programming languages are programming languages that use language constructs for concurrency. ... Parallel programming is a computer programming technique that provides for the execution of operations in parallel, either within a single computer, or across a number of systems. ... Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ... Inter-process communication (IPC) is the exchange of data between one process and another, either within the same computer or over a network. ... Some programming languages based on the Actor model or other distributed programming models define messaging as the (usually asynchronous) sending (usually by copy) of a data item to a communication endpoint (Actor, process, thread, socket, ). Such messaging is used to implement various RPC services including SOAP which is used for... In computer science, the Actor model is a mathematical model of concurrent computation that has its origins in a 1973 paper by Carl Hewitt, Peter Bishop, and Richard Steiger. ... The process calculi (or process algebras) are a diverse family of related approaches to formally modelling concurrent systems. ...


Microkernel operating systems pass messages between one kernel and one or more server blocks. Graphical overview of a microkernel A microkernel is a minimal computer operating system kernel providing only basic operating system services (system calls), while other services (commonly provided by kernels) are provided by user-space programs called servers. ... An operating system (OS) is a computer program that manages the hardware and software resources of a computer. ...


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. ONC RPC - short for Open Network Computing Remote Procedure Call, sometimes also called Sun RPC because it was originally developed by Sun Microsystems, is a widely deployed remote procedure call system. ... In computing, Common Object Request Broker Architecture (CORBA) is a standard for software componentry, created and controlled by the Object Management Group (OMG). ... The Java Remote Method Invocation API, or RMI, is a Java application programming interface for performing remote procedural calls. ... Distributed Component Object Model (DCOM) is a Microsoft proprietary technology for software components distributed across several networked computers to communicate with each other. ... This article is about the computer protocol. ... . ... The field of high performance computing (HPC) comprises computing applications on (parallel) supercomputers and computer clusters. ... The Message Passing Interface (MPI) is a computer communications protocol. ...


The concept of message passing is also used in Bayesian inference over Graphical models. 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. ... In probability theory and statistics, a graphical model (GM) represents dependencies among random variables by a graph in which each random variable is a node. ...

Contents

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 (see message passing) 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. A web service is a collection of protocols and standards used for exchanging data between applications. ... This article is about the computer protocol. ... A packet is the fundamental unit of information carriage in all modern computer networks. ... In engineering in general, reliability is the capacity of a component or a system of such components to perform as designed. ... Durable - the ability to endure. ... This page covers security in the sense of protection from hostile action. ... 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 that must be either entirely completed or aborted. ...


Messages are also commonly used in the same sense as a means of interprocess communication; the other common technique being streams or pipes, in which data are sent as a sequence of elementary data items instead (the higher-level version of a virtual circuit). Inter-process communication (IPC) is the exchange of data between one process and another, either within the same computer or over a network. ... A virtual circuit (VC) is a communications arrangement in which data from a source user may be passed to a destination user over more than one real communications circuit during a single period of communication, but the switching is hidden from the users. ...


Examples of Message passing style

In computer science, the Actor model is a mathematical model of concurrent computation that has its origins in a 1973 paper by Carl Hewitt, Peter Bishop, and Richard Steiger. ... This article or section should be merged with Distributed computing Distributed programming falls out of the use of computers to form networks. ... This article is about the computer protocol. ... Amorphous computing refers to computational systems that use very large numbers of identical, parallel processors each having limited computational ability and local interactions. ... The notion of antiobjects is a computational metaphor useful to conceptualize and solve hard problems by swapping computational foreground and background. ...

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. In computer science, object-oriented programming, OOP for short, is a computer programming paradigm. ... Used mainly in object-oriented programming, the term method refers to a piece of code that is exclusively associated either with a class (called class methods, static methods, or factory methods) or with an object (called instance methods). ...


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. A parameter is a variable which can be accepted by a subroutine. ...


Objects can send messages to other objects from within their method bodies. In most languages that support object orientation, however, the sender of a message can be code that doesn't belong to any specific object as well.


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. Alan Kay during an interview. ... In computer science, binding is associating objects and implementations with names in programming language so that those objects and implementations can be accessed by the names. ...


Structured Programming

The equivalent in conventional (procedural, imperative, or problem-oriented) programming languages to a message is a function call. This does not cite its references or sources. ... In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...


Note that message is a function call, not the function or the signature of the function (i.e. formal parameters plus name), and not the function instance resulting from the call, so to 'send the message' means to 'call the function'. See message for other meanings, e.g. in communications protocols. The signature of a function is roughly equivalent to its prototype definition in the C programming language. ... Message in its most general meaning is an object of communication. ... In the field of telecommunications, a communications protocol is the set of standard rules for data representation, signalling, authentication and error detection required to send information over a communications channel. ...


Other

Some languages support the forwarding or delegation of method invocations from one object to another if the former has no method to handle the message, but 'knows' another object that may have one. Delegation is handing a task over to a subordinate. ...


Examples

Such messaging is used in Web Services by SOAP. Actor based systems


History

In 1977, Carl Hewitt put forward the thesis that computational control structures can be viewed as patterns of passing messages.[1] Carl E. Hewitt is an Associate Professor (Emeritus) in the Electrical Engineering and Computer Science department at the Massachusetts Institute of Technology (MIT). ...


See also

The event loop is a programming construct that waits for and dispatches events. ... Inter-Process Communication (IPC) is a set of techniques for the exchange of data between two or more threads in one or more processes. ... Microsoft Windows programs are event-based. ...

References

  1. ^ Hewitt, Carl (June 1977). "Viewing Control Structures as Patterns of Passing Messages" (pdf). Journal of Artificial Intelligence. 
  • Ramachandran, U.; M. Solomon, M. Vernon (1987). "Hardware support for interprocess communication". Proceedings of the 14th annual international symposium on Computer architecture, ACM Press. 
  • McQuillan, John M.; David C. Walden (1975). "Some considerations for a high performance message-based interprocess communication system". Proceedings of the 1975 ACM SIGCOMM/SIGOPS workshop on Interprocess communications, ACM Press. 
  • Shimizu, Toshiyuki; Takeshi Horie, Hiroaki Ishihata (1992). "Low-latency message communication support for the AP1000". Proceedings of the 19th annual international symposium on Computer architecture, ACM Press. 

  Results from FactBites:
 
Message Passing (1244 words)
Simply pass a block as an argument, and the contents of the block won't be evaluated until someone passes the block the "value" message (or value: or value: value:, etc.) SchemeLanguage has a similar mechansim with delay and force.
I use the term "message passing" to mean "queuing of communication between a source (sender) and a destination (receiver)", without regard to technology used (usually asynchronous is implied however).
Message passing is a general term for a variety of strategies for high-level, structured interclient communication.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.