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 
inception.
 
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 
systems. 
 
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. 
  
C.L. Leath 
Managing Editor
	
	
	
	
		
		
		
		
		
		
		
		 |