Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents



Similar documents
Chapter 1 Fundamentals of Java Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Network Management and Monitoring Software

Cloud Computing. Up until now

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

OPERATING SYSTEM SERVICES

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

AS/400 System Overview

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Example of Standard API

CS 665: Computer System Security. Network Security. Usage environment. Sources of vulnerabilities. Information Assurance Module

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview

Chapter 2: Remote Procedure Call (RPC)

An Overview of Java. overview-1

Assignment One. ITN534 Network Management. Title: Report on an Integrated Network Management Product (Solar winds 2001 Engineer s Edition)

Enabling the Information Age

About Network Data Collector

ERserver. iseries. Printing

Chapter 3: Operating-System Structures. Common System Components

PANDORA FMS NETWORK DEVICE MONITORING

SiteCelerate white paper

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

PANDORA FMS NETWORK DEVICES MONITORING

VPN. Date: 4/15/2004 By: Heena Patel

Network Monitoring with SNMP

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

HP Insight Management Agents architecture for Windows servers

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

technical brief browsing to an installation of HP Web Jetadmin. Internal Access HTTP Port Access List User Profiles HTTP Port

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 5 Firewall Planning and Design

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Monitoring Agent for Citrix Virtual Desktop Infrastructure Version Reference IBM

Information and Communications Technology Courses at a Glance

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

ReadyNAS Replicate. Software Reference Manual. 350 East Plumeria Drive San Jose, CA USA. November v1.0

Radware s AppDirector and AppXcel An Application Delivery solution for applications developed over BEA s Weblogic

System Structures. Services Interface Structure

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

S y s t e m A r c h i t e c t u r e

Enterprise Java. Where, How, When (and When Not) to Apply Java in Client/Server Business Environments. Jeffrey Savit Sean Wilcox Bhuvana Jayaraman

Virtual machine interface. Operating system. Physical machine interface

Homeland Security Red Teaming

1. Overview of the Java Language

Fundamentals of Java Programming

Base One's Rich Client Architecture

SOLARWINDS ENGINEER S TOOLSET FAST FIXES TO NETWORK ISSUES

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000

Virtualization for Cloud Computing

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

ELIXIR LOAD BALANCER 2

Operating System Structures

NetCrunch 6. AdRem. Network Monitoring Server. Document. Monitor. Manage

7.1. Remote Access Connection

Internet Information TE Services 5.0. Training Division, NIC New Delhi

AppDirector Load balancing IBM Websphere and AppXcel

DATA SECURITY 1/12. Copyright Nokia Corporation All rights reserved. Ver. 1.0

Introduction to Routing and Packet Forwarding. Routing Protocols and Concepts Chapter 1

ΕΠΛ 674: Εργαστήριο 5 Firewalls

WhatsUp Gold v11 Features Overview

vcloud Director User's Guide

Lecture 26 Enterprise Internet Computing 1. Enterprise computing 2. Enterprise Internet computing 3. Natures of enterprise computing 4.

PrintFleet Enterprise 2.2 Security Overview

Lesson Plans Microsoft s Managing and Maintaining a Microsoft Windows Server 2003 Environment

Configuration Guide BES12. Version 12.2

Overview. The Android operating system is like a cake consisting of various layers.

INTERNET SECURITY: THE ROLE OF FIREWALL SYSTEM

Cisco PIX vs. Checkpoint Firewall

Last update: February 23, 2004

Keyword: Cloud computing, service model, deployment model, network layer security.

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module

File Sharing. Peter Lo. CP582 Peter Lo

RSA Authentication Manager 8.1 Setup and Configuration Guide. Revision 2

USER GUIDE. Ethernet Configuration Guide (Lantronix) P/N: Rev 6

Network Attached Storage. Jinfeng Yang Oct/19/2015

UBS KeyLink Quick reference WEB Installation Guide

11.1. Performance Monitoring

Client/server is a network architecture that divides functions into client and server

Tk20 Network Infrastructure

IBM Tivoli Storage Manager Version Introduction to Data Protection Solutions IBM

ReadyNAS Remote White Paper. NETGEAR May 2010

UPSTREAMCONNECT SECURITY

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

8/26/2007. Network Monitor Analysis Preformed for Home National Bank. Paul F Bergetz

Chapter 15 Windows Operating Systems

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Chapter 9 Firewalls and Intrusion Prevention Systems

Assignment # 1 (Cloud Computing Security)

Configuration Guide BES12. Version 12.1

How To Understand The History Of The Network And Network (Networking) In A Network (Network) (Netnet) (Network And Network) (Dns) (Wired) (Lannet) And (Network Network)

Virtual Appliance Setup Guide

E-Commerce Security. The Client-Side Vulnerabilities. Securing the Data Transaction LECTURE 7 (SECURITY)

Using Integrated Lights-Out in a VMware ESX environment

Step-by-Step Configuration

Exam Name: IBM WebSphere Process Server V6.2,

McAfee Web Gateway Administration Intel Security Education Services Administration Course Training

FIREWALL CHECKLIST. Pre Audit Checklist. 2. Obtain the Internet Policy, Standards, and Procedures relevant to the firewall review.

Transcription:

Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211

Requirements for agent Languages distributed programming large-scale (tens of thousands of computers) mobility movement of agents between hosts platform independence OS, architecture security preventing unauthorized activities distribution automated installation and maintenance inventory of installed software impossible / not economical to do manually usage fair pricing scheme through usage metering Franz J. Kurfess, Cal Poly SLO 212

user support semi-automated, distributed / remote cooperation services, component-based software, CORBA, OLE, ActiveX, etc. Franz J. Kurfess, Cal Poly SLO 213

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) e.g. red icons for malfunctioning nodes performance monitoring SNMP agent server on every computing device on the network computer printer router Franz J. Kurfess, Cal Poly SLO 214

modem data collection agent for the console Franz J. Kurfess, Cal Poly SLO 215

SMNP Agents purpose automated network management 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 bandwidth Franz J. Kurfess, Cal Poly SLO 216

security legacy networks Franz J. Kurfess, Cal Poly SLO 217

SMNP Agents Percepts PEAS description messages from the network effects of the agent s activities external actions (reset, power) Environment computer network (LAN, Intranet) mediator between the network and computing nodes communication with other SNMP agents Actions receive, check, decode, convert messages compose, encode, check, send messages accept instructions from network management check internal status (self-check) Franz J. Kurfess, Cal Poly SLO 218

collect and evaluate statistical information evaluate performance rerouting of message traffic Sensors input ports packet handling, decryption API for the host system possibly hardware sensors (e.g. temperature) Franz J. Kurfess, Cal Poly SLO 219

Java programming for the Web origin software development for consumer electronics extension / simplification of C++ properties platform-independent (hardware, operating system) compiled into a portable binary format (bytecode) multi-threaded interactive safe to transfer over networks (viruses) secure (access to private resources limited) object-oriented Franz J. Kurfess, Cal Poly SLO 220

Objects and Java encapsulation implementation details are hidden reusability structured programs that can be reused as building blocks polymorphism operations are adapted to the objects they are used on messages transfer of information between objects Franz J. Kurfess, Cal Poly SLO 221

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 abstract layer for user interface design designed for an evolving environment Franz J. Kurfess, Cal Poly SLO 222

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 assumes that no bytecode is sure bytecode that violates language constraints is not executed Franz J. Kurfess, Cal Poly SLO 223

authentication and security must be balanced with performance Franz J. Kurfess, Cal Poly SLO 224

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 only one security manager per browser, can t be replaced, overwritten, or altered Franz J. Kurfess, Cal Poly SLO 225

Tcl/Tk agent toolbox origins 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 often used for agent-oriented systems properties of Tcl simple language extensible with user-defined constructs versatile for inclusion in new tools important concepts in Tcl Franz J. Kurfess, Cal Poly SLO 226

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, Cal Poly SLO 227

Tk features of Tk toolkit extension for Tcl 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, Cal Poly SLO 228

Safe Tcl safe and unsafe Tcl commands padded cell security dual set of interpreters one 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 of other programs limitations resource management (CPU limits, memory Franz J. Kurfess, Cal Poly SLO 229

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, Cal Poly SLO 230

Telescript commercial platform for agents origin operating 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 security regime Franz J. Kurfess, Cal Poly SLO 231

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 offered remotely achieved by the go command meeting interaction between agents in the same location Franz J. Kurfess, Cal Poly SLO 232

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, Cal Poly SLO 233

Telescript Language technical issues objects object-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 engines write to disk periodically in a transparent way Franz J. Kurfess, Cal Poly SLO 234

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, Cal Poly SLO 235

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, Cal Poly SLO 236

Evaluation of 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 private aspects of the agent are secure from prying hosts portability platform-independence (hardware and operating system) dynamic binding (at execution time) is important for agents performance Franz J. Kurfess, Cal Poly SLO 237

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, Cal Poly SLO 238

Agent Languages Summary Requirements safety, security, portability, mobility, reuse, performance Java object-oriented, dynamic, clean, portable,secure Tcl/Tk toolset for agent development, extensions for user interface implementation, safety Telescript object-oriented, dynamic, interpreted, network programming language, security schemes, single abstraction for agent transportation (go Evaluation of agent languages Franz J. Kurfess, Cal Poly SLO 239