1999 25.06 2001

Vol.25 n°6 (#313) june 2000

(ddj_2000_06.jpg)

p.10 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.21 THE METIS DESIGN METHODOLOGY

[author : César A. Gonzalez Perez and Pablo Criado Boado]

Metis is an object-oriented development methodology that includes all the usual tasks found in a generic software project lifecycle.

p.30 OPEN SOURCE MEETS BIG IRON

[author : Pete Beckman and Gregory V. Wilson]

The aim of the Software Carpentry project is to create a new generation of easy-to-use software engineering tools, and to document those tools and the working practices they are meant to support.

p.36 STATE PATTERNS & C++

[author : Julian Macri]

In object-oriented design, objects can modify their behavior based on the current state of their attributes. State patterns abstract the ability for an object to change its behavior. Julian presents two ways the State design pattern can be implemented in C++.

p.46 XML, REFLECTIVE PATTERN MATCHING, AND JAVA

[author : Andrew Dwelly]

Although the pattern matching available in Hex, the program Andrew presents here, is relatively simple, it is still powerful enough to perform sophisticated XML document processing.

p.58 AN OBJECT-ORIENTED UI FOR PERL

[author : Robert Kiesling]

If you work with object-oriented languages, you are likely accustomed to user-interface objects that highlight the object-oriented features of a language's internal structures. Robert shows one way Perl's features can contribute to its usefulness in object-oriented projects.

p.62 WIN32 VERSION CONTROL

[author : Ping Ni and Mark Nelson]

Faced with the problems created by scattered development teams, distributed objects, and dozens of DLLs and executables, Ping and Mark turned to Perl and C++ to give some muscle to the Visual Source Safe source-code version control system.

p.68 OBJECT-ORIENTED DESIGN IN PROCEDURAL ENVIRONMENTS

[author : Thomas E. Davis]

Tom shows how you can apply some of the inherent cleanliness of object-oriented design to your procedural language projects. To illustrate, he designs an application for Motorola's PageWriter two-way pager.

EMBEDDED SYSTEMS

p.74 JAVA CUSTOM CLASS LOADERS

[author : Brian Roelofs]

Custom class loaders create new possibilities for dynamic applications. Brian discusses how you can create your own class loader to read and load classes into the Java VM from any data source.

INTERNET PROGRAMMING

p.84 AN INTERNET TOOLBOX

[author : Ronn Ritke]

Ronn examines a number of useful Internet tools, including packet-collection software, Internet-throughput software, ISP-measurement software, and the like.

PROGRAMMER'S TOOLCHEST

p.90 PARSING COMPLEX TEXT STRUCTURES

[author : Ian E. Gorman]

A pattern language that includes recursive patterns and conditional pattern matching can handle complex text structures without supplementary programming. Ian uses the OmniMark pattern language from OmniMark Technologies to do a job that might otherwise be done with tools like lex and yacc.

COLUMNS

p.100 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Michael looks to the future of technology and society, and wonders if it will really be as bleak as a joyless Bill Joy thinks it will be.

p.106 C PROGRAMMING

[author : Al Stevens]

While sitting by the side of the road, Al gets into his Quincy 2000 port and further considers using the Borland BCC32 C/C++ compiler as Quincy's compiler.

p.119 JAVA Q&A

[author : Jacob Gsoedl]

Can you implement COM components using Java? Yes, and Jacob shows you how.

p.131 ALGORITHM ALLEY

[author : John Keogh]

John presents and implements an algorithm for scaling child windows when the parent is resized. Although the example runs under the Win32 API, the algorithm and data structure are generally useful for scaling child windows on other platforms.

p.139 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

Are Ecco and Liane the antidote for a deadly new strain of microvirus? Read and find out.

p.143 PROGRAMMER'S BOOKSHELF

[author : Jeff Cromwell]

Jeff reviews Applied Software Architecture, by Christine Hofmeister, Robert Nord, and Dilip Soni; Software Architecture in Practice, by Len Bass, Paul Clements, and Rick Kazman; and Software Architecture: Perspectives of an Emerging Discipline, by Mary Shaw and David Garlan.

FORUM

p.12 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : edited by Nicholas Baran]

p.150 OF INTEREST

[author : Nicholas Baran and Amy Lincicum]

p.152 SWAINE'S FLAMES

[author : Michael Swaine]