next up previous

9.5 MESSAGE DISPATCH

When a message is sent to an object using the send function, CLIPS examines the class precedence list of the instance's class to determine a complete set of message-handlers which are applicable to the message. CLIPS uses the roles (around, before, primary or after) and specificity of these message-handlers to establish an ordering and then executes them. A handler which is attached to a subclass of another message-handler's class is said to be more specific. This entire process is referred to as the message dispatch. Following is a flow diagram summary:







                                                          The solid arrows indicate
                                                          automatic control transfer
                                                          by the message dispatch
                                                          system.

                                                          The dashed arrows indicate
                                                          control transfer that can
                                                          only be accomplished by
                                                          the use or lack of the use
                                                          of
                                                          call-next-handler (or
                                                          override-next-handler).


9.5.1 Applicability of Message-handlers

9.5.2 Message-handler Precedence

9.5.3 Shadowed Message-handlers

9.5.4 Message Execution Errors

9.5.5 Message Return Value



next up previous