DDJ, March 1997
Intelligent Agents
Additional resources (listings and source code) for
the articles below can be found here.
Agent Tcl
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.
Agents and Reinforcement Learning
David Cohn
Peter Norvig
Satinder Singh
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.
Distributed Active Objects
Marc H. Brown
Marc 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.
RPC for Windows 95/NT
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.
KeRTESy: A Real-Time Event-Driven Microkernel
Biswajit Sain
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.
Dynamic Memory Allocation and Communication Protocols
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.
Examining Win32 C++ Compilers
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++.
Visual Basic 5 and ActiveX Controls
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.
Programming Paradigms
Michael Swaine
Michael analyzes what the Apple-NeXT alliance means to Steve Jobs, Apple Computer, and you.
C Programming
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.
Java Q&A
Clif Berg
The Java Remote Method Invocation API, which Cliff describes this month, provides new host-based services and more -- all downloadable in an applet.
Algorithm Alley
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.
Undocumented Corner
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.
Programmer's Bookshelf
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.
Editorial
Jonathan Erickson
Letters
News & Views
the DDJ staff
Of Interest
Eugene Eric Kim
Swaine's Flames
Michael Swaine