March 1999 -- Simulation and Emulation


[March cover image]

FEATURES

SIMULATING SEVERE WEATHER

by Louis J. Wicker

Simulating severe storms and tornadoes takes lots of computer power. Louis examines severe weather simulation, starting with equations for turbulence and ending with Fortran source code.

HIERARCHICAL LOGIC SIMULATION

by Donald C. Craig

Donald presents an approach by which hardware components can be represented and simulated hierarchically using C++. His simulation strategy is completely asynchronous, meaning that the concept of global time has been abandoned in favor of each component maintaining its own concept of local time.

THE JAVA PROVIDER ARCHITECTURE

by Paul Tremblett

Paul uses the JDK's Java Cryptography Extension to implement a cipher algorithm that simulates the Enigma machine made famous by Germany in World War II.

WOOKIE: A 68HC11 EMULATOR

by Kalle Anderson, Jason Buttron, Paul Clarke, and Matt Enwald

WOOKIE, short for the "Wireless Object-Oriented Kindly Interfaced Emulator," is a Win32 emulator for 68HC11-based software development. Our authors discuss both its development and use. Wilbert Bilderbeek, Harry Broeders, and Alex van Rooijen then introduce the THRSim11 68HC11 simulator which they designed and built.

THE WINDOWS CE EMULATOR

by Aspi Havewala

The Windows CE SDK includes a functional emulation shell that mimics a Windows CE Handheld PC (HPC) shell. This emulation environment makes it possible for you to jumpstart development by prototyping applications.

EMBEDDED SYSTEMS

LOW-LEVEL APIS FOR EMBEDDED SYSTEMS

by Tom Cunningham and Chad Peckham

While desktop APIs address desktop-oriented issues such as window manipulation, process management, and file/database access, APIs for embedded and real-time systems tackle debugger interfacing, task management, low-level device I/O, and the like. Tom and Chad examine a pair of APIs that are typical of low-level programming interfaces in embedded environments.

INTERNET PROGRAMMING

UNDERSTANDING LDAP

by Basit Hussain

LDAP, short for "Lightweight Directory Access Protocol," provides a platform-independent mechanism for searching, storing, and replicating information. Basit examines LDAP and presents examples of how you can use it.

PROGRAMMER'S TOOLCHEST

COMPILER CONSTRUCTION WITH ANTLR AND JAVA

by Gary L. Schaps

ANTLR, short for "Another Tool for Language Recognition," is a language tool that gives you a framework for constructing recognizers, compilers, and translators for C, C++, and Java.

CONTROLLING MOTION-TRACKING DEVICES

by Mike Harrington

Motion-tracking devices, which report on an object's position and/or orientation in real time as it moves, are necessary to navigate 3D simulated worlds.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Nanotechnology is a big deal in Michael's mind this month.

C PROGRAMMING

by Al Stevens

Al puts Quincy 99 and D-Flat 2000 on hold as he continues his discussion of Standard C++.

JAVA Q&A

by Andrew Wilson

How do you implement Microsoft's delegate keyword? Andrew presents classes that mimic the delegate keyword, letting you build a complex user interface with simpler event-handling code.

ALGORITHM ALLEY

by Tim Kientzle

The Discrete Cosine Transform (DCT) is a crucial part of modern image and sound compression. Tim discusses several fast algorithms for computing the 8-point DCT and IDCT.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Ecco and crew look for the most efficient way to mix trains, stations, and passengers.

PROGRAMMER'S BOOKSHELF

by Jonathan Amsterdam

Jonathan catches up on Dennis Shasha and Cathy Lazere's Out of Their Minds, and Peter G. Neumann's Computer-Related Risks.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by the DDJ staff

OF INTEREST

by Eugene Eric Kim

SWAINE'S FLAMES

by Michael Swaine