Looking at software development tools and languages today, it's hard to imagine that just a few years ago FORTRAN was considered one of the primary languages of choice for most application development, and it took software
engineers one or more days to write, compile, load, run, and debug a program
that ended up using less than 1K bytes of memory. Today, software engineers
can go through the same process in less than an hour and produce a program
that uses more than 1M bytes of memory. Starting with the first five articles,
there are nine articles in this issue that describe tools and methodologies
associated with software development.
The SoftBench software development environment was released by HP in 1989. Since that time over
80 third-party software tools have been integrated with SoftBench. The success of SoftBench is based
on the fact that it started life as an open, integrated CASE tool. That is, it not only provides a set of
software tools, but it also provides a framework for integrating other tools into the development
environment. The first SoftBench article (Article 1) describes the latest version of SoftBench, SoftBench ding some discussion about the objectives that have guided SoftBench development since its
Three of the new software tools integrated into SoftBench 5.0 described in this issue include: the C++
SoftBench class editor (Article 2), which provides a graphical user interface for editing class
constructs in a C++ program, the SoftBench static analysis database (Article 3), which is a
repository for generic program semantic information for languages such as C++, C, FORTRAN, Pascal,
and Ada, and the C++ CodeAdvisor (Article 4), which uses semantic information from the static
database to detect high-level problems in C++ programs that are not typically found by the compiler.
The final SoftBench article (Article 5) describes a SoftBench solution to the problem of migrating from mainframe-based computing to a client/server architecture and dealing with a heterogeneous
collection of machines with different system commands. The SoftBench solution is a daemon that allows
developers to integrate heterogeneous computing systems into tightly-coupled software development
environments with a consistent graphical user interface across all machines.
Manufacturing organizations must always deal with determining how to balance on-hand part inventories
and suppliers' response times. Article 6 on page describes a project called supply chain,
which focused on characterizing the various stochastic events influencing a manufacturing
organization's shipment and inventory performance. A collection of statistical modeling assumptions,
equations, and equation derivations are described that focus on minimizing on-hand inventory and
optimizing supplier response time.
The device shown in the picture on the cover is the neonatal version of a family of sensors (Article 7) used for noninvasively monitoring the arterial oxygen saturation level in a patient's blood
(SpO2). In many medical application areas, such as anesthesia in a surgical procedure, measuring the
oxygen level in blood has become as common as monitoring heart activity with an ECG. These sensors
are based on pulse oximetry, which makes use of the fact that because of the change of arterial volume
with each heartbeat, it is possible through measuring differences in light intensity to separate the arterial
blood from other absorbing substances to determine blood oxygen levels. Besides neonatal sensors,
there are also adult, pediatric, and ear clip sensors.
The objective of a scanner is to digitize exactly what is on the document being scanned. To do this
perfectly would require a detector with an infinite number of detectors and an optical system with the
ability to resolve images to a high degree of sharpness. In the real world, scanners do not require perfect
reproduction and the human eye does not have infinite resolving power. However, as documents are
enlarged and printers are able to print at higher resolutions, the image requirements on scanners are
increased. The HP ScanJet 3c/4c color and monochrome scanner (Article 8) has an improved
optical system that addresses the optical parameters of image sharpness, signal-to-noise ratio, and dark
voltage, allowing customers to see the benefits of its 600-dpi resolution.
Object-oriented languages, methodologies, and tools have been evolving for over 25 years. The concept
of data hiding, in which data is accessed only through a well-defined interface and the data structure is
unknown to the accessing routine, formed the foundation of the object concept. As the next four articles
show, the language constructs and design paradigms growing out of this simple concept have had a
profound impact on software design and development.
One of the benefits of object-oriented technology is that objects can be updated without affecting any
other part of the system. This capability is important to system developers who must design their
systems for change. New technologies, customer demands, market forces, and other events all contend
to make a system obsolete if it is not able to evolve. The ORBlite project (Article 9) is a
distributed communication framework based on object-oriented technology that supports piecewise
evolution of components, interfaces, communication protocols, APIs, and the integration of legacy
Software reuse is another benefit of object-oriented technology. Article 10 describes a
project in which object-oriented methods were employed to build a firmware platform for instruments
using the concept of framework reuse. Framework reuse is a type of software reuse in which the
interaction among the system components is reused in different implementations of the system. In
addition to describing this firmware framework, the authors also discuss their experiences with using
the Fusion process to develop their firmware framework. Fusion is a systematic software development
method for object-oriented software development.
A frequently mentioned problem in healthcare information management is the lack of compatibility
among information systems. To help address this problem, the HP Medical Products Group established
a project to create a high-level architecture and data interchange standard for healthcare information
systems (Article 11). The architecture is based on the ability to decompose healthcare applications
and systems into a collection of collaborative components, with each component able to implement the
functions of a complete application or system of applications. Components are essentially bigger objects
that represent a practical way to organize and package an object-oriented system.
To help customers adopt object-oriented methods to solve their business problems, HP's Professional
Services Organization provides a suite of object-oriented education products. Article 12
describes the process used to assess customers' educational needs and the object-oriented
curriculum available to satisfy those needs.