50 likes | 58 Views
This article explores the agent characteristics of Java and assesses its limitations in resource control, object ownership, access control, and preservation of execution state. The comparison includes Tcl and Scheme as alternative options.
E N D
Is Java the “BASIC” of Mobile Agents? Is Tcl? Is Scheme?... Danny B. Lange General Magic Inc. danny@genmagic.com [BASIC: John Kemeny and Thomas Kurtz at Dartmouth College (1965)]
Agent Characteristics of Java • Platform independent • Designed for heterogeneous networks • Secure execution of untrusted code • Dynamic class loading • Extensible class loading mechanism • Multithread programming • Object serialization • Build-in serialization of object state • Reflection • Java code is able to discover info about itself Danny B. Lange, General Magic Inc.
So What’s Missing in Java? • Inadequate support for resource control • No control of memory, CPU, disk, network... • No protection of references • No fine grained access control to objects • No object ownership of references • No control over objects • No support for preservation of execution state • Limited support for versioning Danny B. Lange, General Magic Inc.
Architectural Band-Aid • Approximated resource monitoring and security models • Proxy objects • Event-based control scheme Danny B. Lange, General Magic Inc.
Are We Aiming too High? TeleScript Java / Tcl Danny B. Lange, General Magic Inc.