A system and method for assessing component capability to accept and
execute mobile code includes a first component coupled via a network to a
second component. The first component uses a predicate object to
determine whether the second component can accept mobile code, such as a
data type handler object or an applet. The instructions included in the
predicate object are executed in the environment of the second component,
although they can be executed in the first component environment. The
execution of these instructions in the second component environment
causes the second component to respond to a series of basic tests, such
as whether the second component has access to required libraries,
software versions and/or peripherals. Additionally, a predicate object
creation module is disclosed for generating predicate objects that are
specific to the objects desired, such as a data type handler object or a
controller object.