Check out the new USENIX Web site. next up previous
Next: Agent Fusion Up: Agent Morphing Previous: Application of Morphing to

Discussion.

Advantages of morphing include the performance improvements demonstrated in this section and also potential improvements concerning the predictability of agent execution. Predictability is particularly important for real-time and embedded applications and because Java code execution times are believed to be difficult to predict due to interpretation and garbage collection[25]. Difficulties with morphing arise from two sources. First, if native implementations cannot be acquired from a machine's local file system, then morphing overheads may become large due to the costs of access to remote repositories. Second, increased generality and complexity of native code compared to the sample agents used in our work may make morphing infeasible and/or require the provision of additional mechanisms to enable morphing. For example, with the sample applications and with the object realizations used in our research, agent safety may be guaranteed due to the sample objects' relative lack of internal complexity (e.g., no object-initiated file accesses) and due to the object system implementation's lightweight nature and heavy use of libraries. For general CORBA- or DCOM-based object implementations, guaranteeing improved performance or predictability as well as safety will require additional effort. Furthermore, internal native states like `open file descriptors' cause problems for morphing not easily addressed for future agent systems (see [5] for a more detailed discussion of this topic).



Dong Zhou
Wed Mar 24 00:41:22 EST 1999