1994 20.06 1996

Vol.20 n°6 (#231) june 1995

(ddj_1995_06.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 CONSTRUCTING OPERATIONAL SPECIFICATIONS

[author : Mark Coats and Terry Mellon]

Complementing existing methodologies, Mark and Terry propose an operational specification that can be translated into most existing system-development methodologies.

p.34 A PRACTICAL STRATEGY FOR OBJECT-ORIENTED DESIGN

[author : Kanchan Kumar]

The methodology Kanchan presents here consists of a language-independent abstraction model and a rule-based implementation model for C++ programmers.

p.40 INTERACTIVE DESIGN METHODOLOGY

[author : Phil Herold and Carla Merill]

Helplus is a client-server hypertext help application modeled on the Microsoft Windows help system. Here, our authors describe the help compiler, help viewer, and server program.

p.48 EVENT-DRIVEN THREADS IN C++

[author : Dan Ford]

Dan presents a powerful, multithreaded architecture that can be used by almost any application. Implemented in C++, this class library lets you quickly create and control threads.

p.56 THREAD PROGRAMMING IN UNIXWARE 2.0

[author : John Rodley]

With the advent of UnixWare 2.0, threads have made their way to the UNIX desktop. John describes how threads are implemented and how you can take advantage of them.

EMBEDDED SYSTEMS

p.62 VISUALLY DESIGNING EMBEDDED-SYSTEMS APPLICATIONS

[author : Doron Drusinsky]

Doron describes how design tools that incorporate object-oriented inheritance and extended state diagrams (the visual counterpart of finite state machines) can be used to build control systems.

NETWORKED SYSTEMS

p.70 CODING WITH HTML FORMS

[author : Andrew Davison]

HTML forms—which allow World Wide Web documents to include text-entry fields, radio boxes, selection lists, check boxes, and buttons—transform HTML from a hypertext page-description language into a tool for creating interactive documents. Andrew details the steps in writing forms-based applications.

EXAMINING ROOM

p.76 COMPARING CASE TOOLS

[author : Jeffrey L. Armbruster]

To examine CASE tools such as Paradigm Plus 2.0, Select OMT, and Together C++, Jeffrey designs an application that collects pricing information in grocery stores.

PROGRAMMER'S WORKBENCH

p.88 FLEXIBLE TESTING SYSTEMS

[author : Herb Isenberg]

Today's application-development environments demand testing systems that can quickly adapt to new situations. Herb presents an automated, flexible testing system built around AutoTester, an off-the-shelf automated testing and verification tool that runs on a variety of platforms.

COLUMNS

p.111 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Douglas Hofstadter's recently published Fluid Concepts and Creative Analogies may change the direction of AI research.

p.115 C PROGRAMMING

[author : Al Stevens]

Al continues his discussion of IMail, a C++ communications program for sending and receiving electronic mail through a modem connected to an Internet site.

p.121 ALGORITHM ALLEY

[author : Bruce Schneier]

Sound is surprisingly difficult to compress. It is much more subtle than video compression and less obvious than text. Kyle York examines lossy-compression techniques that have been optimized for sound.

p.125 PROGRAMMER'S BOOKSHELF

[author : Reginald B. Charney]

Software Development with Z, by J.B. Wordsworth, uses the Z specification language to examine formal methods of software development.

FORUM

p.10 LETTERS

[author : you]

p.144 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.142 OF INTEREST

[author : Monica E. Berg]