JOOP Archives


Tracking Software Components

Component engineering is gaining substantial interest within the software engineering community. A great deal of research has been devoted to analysis and design methods for component-based software. However, only a few articles have addressed the testing and maintenance problems of component-based software. This article discusses component traceability and maintenance issues and solutions in supporting software components of component-based software. The authors propose a Java framework, as well as a systematic approach to support tracking and monitoring of software components in component-based programs. Application examples and the supporting system are described. In addition, the concept of traceable components, including requirements, design guidelines, and architecture style, is introduced.

Enhancing the OPF Repository

The veteran ROAD columnist presents the built-in flexibility of defined metamodels in the form of a repository of available process components when using the OPEN Process Framework.

Role = Interface: A Merger of Concepts

The author advances the idea that roles and interfaces have much in common and, with a few changes in definition, can be merged into one.

Rethinking How to Teach C++Part 9: What we learned from our students

Our senior columnists discuss the knowledge they gained in 15 years of teaching C++.

2001 Listing of Object Technology Books and Multimedia

This updated bibliography includes more than 550 books and multimedia published from 1999 to the present.

Supporting Design by Contract in C++

Most OO practitioners recognize the value of Design by Contract as a methodology for improving software quality. It is at the heart of the Eiffel language and the Object Constraint Language of UML. However, there are precious few languages that provide such intrinsic support for Design by Contract, and C++ is one language that does not. This article presents two new mechanisms for emulating Design by Contract in C++ that take advantage of language features defined in the recent standard, and for which widespread compiler support is now becoming available. One mechanism has been used in the development of software components in Computational Physics and is based on the Standard Template Library (STL); the other provides Design by Contract support across an inheritance hierarchy in C++ in accordance with the Liskov Substitutability Principle.

The Data Abstraction Penalty (DAP)Benchmark for Small Objects in Java

The author discusses his results of measuring the performance degradation of Java programs while using various data abstraction features of the language.