Topic: parameter passing by message

topics > computer science > data > Group: parameters

object-oriented programming

actor machines
implementing distributed systems and applications
interprocess communication
message queues for communication
object-oriented classes
object-oriented methods
parameter passing by argument list
remote procedure call
semistructured messages for automated processing
sending an object across a network
separate a module's interface specification from its implementation


Arguments can be a message passed to a procedure before execution. The message may be a fixed block, a list, a string, a record, or an environment. The message may contain sub-blocks, sub-messages, or null components. The procedure's result is similarly a message passed back to the caller. Within a procedure, the parameter message is parsed into components. (cbb 5/80)

This emphasizes the remoteness of the procedure or object and gives syntactic and semantic control to the receiver. It creates an interface which hides information. A good representative is Smalltalk which defines a message syntax for infix and cascaded messages. (cbb 1/90)

Subtopic: design processes as anthropomorphic up

Quote: naturally design processes by message passing, blocking semantics, servers, proprietors, administrators, notifiers, and couriers; anthropomorphize [»gentWM5_1981]

Subtopic: message interface up

Quote: for future applications, a message interface includes messages for all relevant information; currently unused messages are ignored [»katzL_1981]

Subtopic: message passing up

Quote: every message has a frame saying this is a message, an implicit, outer message on how to decode the message (implicit), and a meaning [»hofsDR_1979, OK]
Quote: manipulate information by sending a message to an object in an object-oriented system [»robsD8_1981]
Quote: receiving information in Smalltalk means looking at a message [»goldA3_1976]

Subtopic: separates syntax from implementation up

Quote: by sending a message, the recipient decides its interpretation and syntax [»shocJF9_1979]
Quote: message passing emphasizes remoteness of object and caller's lack of knowledge [»stroR10_1986]
Quote: to inquire about information, must send a message to an object; this hides the object's implementation [»robsD8_1981]
Quote: message-sending decouples the intent of a message (its name) from the method that executes [»ingaDH8_1981a]
Quote: methods can only send messages to objects, they can not call methods directly; implements strong typing [»robsD8_1981]
Quote: an Oberon handler is a procedure-valued variable or record field; caller doesn't know callee, so it's "sending a message" [»wirtN9_1989]
Quote: both object-oriented and process paradigms based on message passing with clear separation between interface and implementation

Subtopic: tracing up

Quote: since the message handler sees all messages, messages are easily traced for simulation and checking [»katzL_1981]

Subtopic: multi-processing up

Quote: the process paradigm: ports carry interface type information, no inheritance, code associated with value of a port instead of type [»stroR10_1986]
Quote: message passing is convenient for intra-machine communication while remote procedure call is best for inter-machine communication [»cormGV5_1988]
Quote: with message-passing, have two forms of intermodule communication--calls and messages; only the later can be remote [»cherDR4_1984]
Quote: in V, create additional processes if need additional concurrency in message sending

Subtopic: message guard up

Quote: the applicable messages for a finite message machine depends on the current state [»katzL_1981]

Subtopic: routing table up

Quote: the message that initiates a new process uses the routing table, later messages go directly to the process [»katzL_1981]
Quote: most object-oriented systems use single dispatching; i.e., a message is sent to one object; e.g., "5+4" is [»taivA9_1996]

Subtopic: procedure call as messages up

Quote: a procedure call can be viewed as an exchange of messages

Subtopic: Smalltalk up

Quote: Smalltalk messages contain a receiver, selector and arguments [»xlrg8_1981]
Quote: binary Smalltalk messages by sending selector operator and second argument to first argument [»xlrg8_1981]
Quote: infix operators in Smalltalk by sending +4 to the object 3 [»shocJF9_1979]
Quote: a cascaded Smalltalk message is a selector/argument list separated by semicolons [»xlrg8_1981]
Quote: send a message to an object by mentioning the object's name and then the message [»goldA3_1976]

Subtopic: message machine up

Quote: ITT 1240 application software consists of finite message machines (messaging) and system support machines (procedure calls) [»bonaR_1981]

Subtopic: problems with message passing up

Quote: a concurrent language needs simple constructs that guarantee determinism; usually not true of message communication systems [»chanKM7_1980]
Quote: in hard real time systems need shared variables; message passing is too expensive and unpredictable [»faulSR3_1988]
Quote: ITT 1240 software uses system support machines for frequently-used modules; invoked by procedure call instead of message [»katzL_1981]
Quote: single dispatching does not match binary operations; e.g., possible code duplication for mixed integer and floating point arithmetic

Related Topics up

Group: object-oriented programming   (26 topics, 822 quotes)

Topic: actor machines (2 items)
Topic: implementing distributed systems and applications (41 items)
Topic: interprocess communication (29 items)
Topic: message queues for communication (36 items)
Topic: object-oriented classes (67 items)
Topic: object-oriented methods (42 items)
Topic: parameter passing by argument list (6 items)
Topic: remote procedure call (44 items)
Topic: semistructured messages for automated processing (22 items)
Topic: sending an object across a network (11 items)
Topic: separate a module's interface specification from its implementation
(86 items)

Updated barberCB 3/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.