DDJ, August 2003
Software Design



FEATURES

Lightweight Aspect-Oriented Programming
by Michael J. Yuan and Norman Richards
Michael and Norman examine backward-compatible approaches to code reuse that protect investments in existing software.

Cleanroom Software Engineering
by Shawn P. Garbett
By focusing on defect prevention rather than defect removal, cleanroom software engineering helps you develop high-quality software with certified reliability.

Extreme Parsing
by Kyle F. Downey
Kyle applies Extreme Programming core principles and Java tools to build his Mini-IDL parser.

Creating .INI Classes in Java
by Mark Meyer
IniFile is a lightweight Java class that reads standard .INI text files into memory, lets you manipulate their contents, and stores their corresponding key/value pairs in memory.

Overriding the C++ Operator==
by Daniel E. Stevenson and Andrew T. Phillips
Our authors present a design that handles complex inheritance situations, then implement it in Java and C++.

UML 2.0 & Model-Driven Development
by Lars Mats
Lars develops a Java application using UML 2.0 and a model-driven development strategy.


EMBEDDED SYSTEMS

Real-time Signal Analysis & Real-Time Linux: Part II
by Matt Sherer
In the second installment of this two-part article, Matt simplifies both the real-time and Java code, then adds a digital filter.


COLUMNS

C Programming
by Al Stevens
Al closes the book on C++'s export keyword, then closes the book on his column. Say it ain't so, Al!

Embedded Space
by Ed Nisley
The flame in Ed's column this month isn't another irate engineer, but just another challenge for firefighting robots.

Programmer's Bookshelf
by Tim Kientzle
Tim revisits Leo Brodie's classic Thinking Forth and realizes it foreshadowed modern day topics such as Extreme Programming and Best Practices.


FORUM

Editorial
by Jonathan Erickson

Letters
by you

The New Adventures of Verity Stob
by Verity Stob

News & Views
by Shannon Cochran

Of Interest
by Shannon Cochran

Swaine's Flames
by Michael Swaine