Agent Languages Overview Requirements Java Tcl/Tk Telescript - - PDF document

agent languages
SMART_READER_LITE
LIVE PREVIEW

Agent Languages Overview Requirements Java Tcl/Tk Telescript - - PDF document

Agent Languages Overview Requirements Java Tcl/Tk Telescript Evaluation Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 217 Requirements for agent Languages distributed programming large-scale (tens of thousands of


slide-1
SLIDE 1

Agent Languages

Overview Requirements Java Tcl/Tk Telescript Evaluation

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 217

slide-2
SLIDE 2

Requirements

for agent Languages distributed programming large-scale (tens of thousands of computers) mobility platform independence security distribution automated installation and maintenance inventory of installed software impossible / not economical to do

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 218

slide-3
SLIDE 3

manually usage fair pricing scheme through usage metering user support semi-automated, distributed / remote cooperation component-based software, CORBA, OLE, ActiveX, etc.

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 219

slide-4
SLIDE 4

Example

Network Management Agents SNMP Simple Network Management Protocol standardized application-level IP protocol SNMP console central program used by the network administrator graphical display of the network status[-2ex]

  • network configuration (nodes, links)
  • red icons for malfunctioning nodes
  • performance monitoring

SNMP agent server on every computing device on the network

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 220

slide-5
SLIDE 5
  • computer
  • printer
  • router
  • modem

data collection agent for the console

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 221

slide-6
SLIDE 6

SMNP Agents

automated network management purpose

  • network autonomy: networks should

run themselves

  • reliability: critical business function
  • network performance optimization

(routing, timing)

  • early warnings for problems
  • fault tolerance

implementation simple server program in each device connected to the network remotely deployed and controlled limitations computation power in some devices

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 222

slide-7
SLIDE 7

bandwidth security legacy networks

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 223

slide-8
SLIDE 8

SMNP Agents

PAGE description percepts

  • messages from the network
  • effects of the agent’s activities
  • external actions (reset, power)

actions

  • receive, check, decode, convert

messages

  • compose, encode, check, send

messages

  • accept instructions from network

management

  • check internal status (self-check)
  • collect and evaluate statistical

information

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 224

slide-9
SLIDE 9
  • evaluate performance
  • rerouting of message traffic

goals

  • fault tolerance
  • performance optimization
  • agent autonomy
  • performance optimization
  • early warnings for problems

environment computer network (LAN, Intranet) mediator between the network and computing nodes communication with other SNMP agents

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 225

slide-10
SLIDE 10

Java

programming for the Web

  • rigin

software development for consumer electronics extension / simplification of C++ properties

  • platform-independent (hardware,
  • perating system)

compiled into a portable binary format (bytecode)

  • multi-threaded
  • interactive
  • safe to transfer over networks (viruses)
  • secure (access to private resources

limited)

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 226

slide-11
SLIDE 11
  • object-oriented

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 227

slide-12
SLIDE 12

Objects

and Java encapsulation implementation details are hidden reusability structured programs that can be reused as building blocks polymorphism

  • perations are adapted to the objects

they are used on messages transfer of information between objects

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 228

slide-13
SLIDE 13

Java Libraries

collections of basic routines java.lang basic types, fundamental classes Object, Class, threads, exceptions, wrappers java.io input/output functions streams, random-access files java.net network functions sockets, URLs, telnet, protocols java.util container and utility classes Dictionary, HashTable, Stack, encoding and decoding for date and time classes java.awt Abstract Windowing Toolkit

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 229

slide-14
SLIDE 14

abstract layer for user interface design

designed for an evolving environment

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 230

slide-15
SLIDE 15

Java Environment

execution of programs Java interpreter executes Java bytecodes directly Java compiler produces instruction for the Java virtual machine some instructions are not allowed in the bytecode Java virtual machine platform-independent runtime environment translates the bytecode into the language of the underlying hardware just-in-time-compilation (at execution time) bytecode verifier checks legality of code

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 231

slide-16
SLIDE 16

assumes that no bytecode is sure bytecode that violates language constraints is not executed

authentication and security must be balanced with performance

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 232

slide-17
SLIDE 17

Applets and Applications

Java-based programs Java applet Java programs for Web browsers no reading and writing of files in the client file system transferable via network platform-independent Java aplication regular program without restrictions Java security applet security manager enforces applet restriction

  • nly one security manager per browser,

can’t be replaced, overwritten, or altered

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 233

slide-18
SLIDE 18

Tcl/Tk

agent toolbox

  • rigins

general purpose scripting language for tool development

  • Tcl (Tool Command Language)
  • Tk (Tool Kit) extension of Tcl for the

creation of graphical user interfaces usage development of applications with sophisticated user interfaces

  • ften used for agent-oriented systems

properties of Tcl

  • simple language
  • extensible with user-defined constructs
  • versatile for inclusion in new tools

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 234

slide-19
SLIDE 19

important concepts in Tcl

  • string as single data type: everything

is a string

  • quotation mechanism
  • a command is a word followed by a

list of words that act as arguments

  • control structures can be extended

and added

  • Franz J. Kurfess

CSC/CPE 580 Intelligent Agents Spring 2002 235

slide-20
SLIDE 20

Tk

toolkit extension for Tcl features of Tk

  • widgets for text, images, drawings
  • geometry manager
  • binding mechanism to assign actions

to user events

  • option database to control behavior of

Tk components usage graphical user interface development concise easy to use

considerable reduction in development time (10-fold) over C++/Motif

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 236

slide-21
SLIDE 21

Safe Tcl

safe and unsafe Tcl commands padded cell security dual set of interpreters

  • ne is trusted and unrestricted, runs in

kernel space the other untrusted and restricted, runs in user space trusted commands similar to system calls in OS provided by the trusted interpreter to the untrusted one allows specific actions for guest agents while still maintaining overall control unsafe commands (examples) general file access, exec for the invocation

  • f other programs

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 237

slide-22
SLIDE 22

limitations resource management (CPU limits, memory space, disk space) agent delivery mechanism is open and extensible control of applications is platform-dependent to a large degree

easier to handle than the ”sea of objects” security model (Java, Telescript)

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 238

slide-23
SLIDE 23

Telescript

commercial platform for agents

  • rigin
  • perating system for personal intelligent

communicators (Magic Cap) General Magic (http://www.genmagic.com/) spinoff from Apple purpose development tool for mobile agents active networks for locating distributed information features

  • language
  • engine
  • protocol

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 239

slide-24
SLIDE 24
  • security regime

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 240

slide-25
SLIDE 25

Telescript Use

remote programming for agents remote operation agents carrying data and instructions are sent over the network Telescript agents active entities behaving intelligently encapsulate the instructions of users together with data and permits permits capabilities granted and limited by authorities (users, hosts) travel movement between locations to services

  • ffered remotely

achieved by the go command

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 241

slide-26
SLIDE 26

meeting interaction between agents in the same location exchange of information, negotiations of transactions Telescript places stationary locations to be inhabited by local and outside agents Telescript engines collection of Telescript places Telescript clouds collection of Telescript engines provide support services (registration, directory assistance)

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 242

slide-27
SLIDE 27

Telescript Language

technical issues

  • bjects
  • bject-oriented language, classes,

inheritance binding and linking dynamic, to allow the utilization of services at remote locations execution via interpreters in engines portability virtual machine for machine-independence persistence nonvolatile memory is used to protect agains computer failure

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 243

slide-28
SLIDE 28

engines write to disk periodically in a transparent way

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 244

slide-29
SLIDE 29

Telescript Engines

purpose accomodate agents and places provide services via APIs (Application Programming Interface) enable transportation of agents Storage API provide access to permanent storage used for persistence Transport API access to communication facilities for transporting agents External API interaction with other applications potential security risk since the security layer is bypassed

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 245

slide-30
SLIDE 30

Telescript Security

identification every agent and place has a unique identity credentials agents must have permits for places and activities encryption is used to transfer agents betwen engines interpretation to prevent access to critical resources transportation single methos go to support movement of agents

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 246

slide-31
SLIDE 31

Evaluation

  • f agent languages

safety the host computer and applications are safe from bugs and crashes of a hosted agent agent vs. virus: different only in the intent of the author security the actions of an agent are restricted access to data and resources only with permission pointers are a security risk portability platform-independence (hardware and

  • perating system

dynamic binding (at executino time) is

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 247

slide-32
SLIDE 32

important for agents performance interpreted vs. compiled reuse components can be combined into applications mobility programs are sent over the net and executed remotely

interpreted languages usually are more appropriate than compiled languages

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 248

slide-33
SLIDE 33

Agent Languages

Summary Requirements safety, security, portability, mobility, reuse, performance Java

  • bject-oriented, dynamic, clean,

portable,secure Tcl/Tk toolset for agent development, extensions for user interface implementation, safety Telescript

  • bject-oriented, dynamic, interpreted,

network programming language, security schemes, single abstraction for agent transportation (go Evaluation

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 249

slide-34
SLIDE 34
  • f agent languages

Franz J. Kurfess CSC/CPE 580 Intelligent Agents Spring 2002 250