1996 22.03 1998

Vol.22 n°3 (#263) march 1997

(ddj_1997_03.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 AGENT TCL

[author : Robert S. Gray]

A mobile agent is a program that migrates under its own control from machine to machine in a heterogeneous network. Agent Tcl is a mobile-agent system that uses Tcl as its main language, but provides a framework for incorporating additional languages.

p.28 AGENTS AND REINFORCEMENT LEARNING

[author : Satinder Singh, Peter Norvig, and David Cohn]

Many people see agents and agent-based programming as ushering in a new era in computing — particularly on the Internet. Our authors explain why programming agents is not just business as usual, but requires a new way of looking at problems and their solutions.

p.34 DISTRIBUTED ACTIVE OBJECTS

[author : Marc H. Brown and Marc A. Najork]

Distributed active objects, which communicate with other active objects located on different machines across the Internet, make it easy to write groupware, computer-supported cooperative work applications, and multiplayer games.

p.42 RPC FOR WINDOWS 95/NT

[author : Steve Sipe]

Remote Procedure Call (RPC) programming allows client programs to call server-based functions. Steve presents a technique to simplify the use of Remote Procedure Calls in 32-bit Windows 95/NT applications.

EMBEDDED SYSTEMS

p.48 KERTESY: A REAL-TIME EVENT-DRIVEN MICROKERNEL

[author : Biswajit Sain and Timothy A. Gonsalves]

"Kertesy" is a real-time microkernel for embedded systems designed around Analog Devices' ADSP-21xx series of digital-signal processors. The microkernel is small and fast, but nonetheless powerful.

NETWORKED SYSTEMS

p.60 DYNAMIC MEMORY ALLOCATION AND COMMUNICATIONS PROTOCOLS

[author : Gregory Bollella]

Greg reviews memory allocators, then discusses the allocator used in typical implementations of TCP/IP. He also describes a number of allocator implementation techniques that are helpful in debugging.

PROGRAMMER'S TOOLCHEST

p.64 EXAMINING WIN32 C++ COMPILERS

[author : Ron van der Wal]

Ron examines the leading C++ compilers for creating Win32 executables, including Borland C++, Visual C++, Symantec C++, Watcom C++, and VisualAge C++.

p.74 VISUAL BASIC 5 AND ACTIVEX CONTROLS

[author : Al Williams]

Microsoft's Visual Basic 5 lets you create controls as easily as form-based applications. In theory, these controls can then be used with VB, web pages, C++, Delphi, or any other environment that understands ActiveX.

COLUMNS

p.89 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael analyzes what the Apple-NeXT alliance means to Steve Jobs, Apple Computer, and you.

p.93 C PROGRAMMING

[author : Al Stevens]

When writing a data-scope program called "DScope," Al found a dearth of information on the Windows communications API. Still, after lots of digging and even more trial and error, he was able to get DScope up and running — as a DOS application.

p.101 JAVA Q&A

[author : Cliff Berg]

The Java Remote Method Invocation API, which Cliff describes this month, provides new host-based services and more — all downloadable in an applet.

p.105 ALGORITHM ALLEY

[author : Fred Wild]

Based on string "internalization" techniques used in Scheme and LISP, Istring — the C++ class Fred presents here — is a hashing mechanism that provides both compact storage and fast equality tests.

p.109 UNDOCUMENTED CORNER

[author : Robert R. Collins]

Bob discloses the secrets of the Pentium state save map, shows how the AutoHALT feature works, explains the I/O Restart feature, and discusses interrupt servicing within system-management mode.

p.117 PROGRAMMER'S BOOKSHELF

[author : Gregory V. Wilson]

This month, Greg examines Steve McConnell's Rapid Development and Graphic Java: Mastering the AWT by David M. Geary and Alan L. McClellan.

FORUM

p.10 LETTERS

[author : you]

p.16 NEWS & VIEWS

[author : the DDJ staff]

p.119 OF INTEREST

[author : Eugene Eric Kim]

p.128 SWAINE'S FLAMES

[author : Michael Swaine]