ObjectNode
The ObjectNode is a base class for Node types that can receive messages and react to them. ObjectNodes typically correspond to external "real world" objects, and thus represent state that is outside of the AtomSpace. Examples include file-system objects, video, audio, text and other kind of sensors into the external world. Objects can also encapsulate agents that perform actions and react to messages.
A prominent example is the StorageNode, the base class for working with AtomSpace contents on disk or on the network. The CogServerNode is another; it uses messages for configuration, and to start/stop it.
Messages are sent to ObjectNodes using either cog-set-value! scheme function, or in Atomese with the SetValueLink. That is, a typical message can be sent as
(cog-set-value!
(SomeObjectNode "foo")
(Predicate "*-some-message-*")
(SomeValue ...))
Return values are obtained with the with the ValueOfLink:
(cog-execute!
(ValueOfLink
(SomeObjectNode "foo")
(Predicate "*-some-message-*")))
The MessagesOfLink can be used to obtain a list of all of the messages supported by an object. The IsMessageLink can be used to confirm that some particular message is in active use in the AtomSpace.
The capabilities page describes mechanisms that would enable cryptographically secure computing; these ideas have not been implemented (yet?!)
Messages
A partial list of some of the messages used in various subsystems are given below. Detailed documentation for the messages is available in scheme, by issuing a command of the form
,d *-some-message-* ,describe *-some-message-*
or
(procedure-documentation *-some-message-*)
Messages used by the AtomSpace
For backwards compatibility with the old concept of TruthValues, these are always stored at
(Predicate "*-TruthValueKey-*")
Messages used by StorageNode
Used by all StorageNodes.
(Predicate "*-erase-*") (Predicate "*-load-frames-*") (Predicate "*-store-frames-*") (Predicate "*-delete-frame-*") (Predicate "*-barrier-*") (Predicate "*-monitor-*") (Predicate "*-proxy-open-*") (Predicate "*-proxy-close-*") (Predicate "*-set-proxy-*")
Messages used by ProxyNode
Used by ProxyNodes. See also WriteBufferProxy:
(Predicate "*-proxy-parts-*") (Predicate "*-decay-const-*")
Messages used by CogServerNode
Used by CogServerNode.
(Predicate "*-start-*") (Predicate "*-stop-*") (Predicate "*-run-*") (Predicate "*-is-running?-*")