October 1995 - Vol. 38 No. 10
Features
While international consensus seems assured through the traditional processes of the International Organization of Standardization (ISO), the best known and most powerful standards body, the long time required to make decisions is a major impediment to ISO's influence in the rapidly changing information technology arena.
Net.Speech: desktop audio comes to the net
In the 1940s, the first research computers worked on numeric data. A few years later, the UNIVAC, was designed for both numeric and alphanumeric data. Over time, technology advances have made other data types economically feasible—text, images, sound, and video.
Lessons learned from the OS/400 OO project
This article describes some of the lessons learned when a team of 150 developers with a minimal prior exposure to object-oriented (OO) technology undertook a large development project. Team members became proficient in OO design, using C++ as an OO language rather than just using C++ as a better C, and developed IBM's RISC version of the AS/400 and System/36 operating systems from 1992 to 1994 in Rochester, Minnesota. The project contains 14,000 thousand classes, 90,000 thousand methods, and 2 million lines of C++ integrated into 20 million lines of total code. The result of their efforts was the development of a product that is being used daily by a substantial international customer base.
Using design patterns to develop reusable object-oriented communication software
Despite dramatic increases in network and host performance, it remains difficult to design, implement, and reuse communication software for complex distributed systems. Examples of these systems include global personal communication systems, network management platforms, enterprise medical imaging systems, and real-time market data monitoring and analysis systems. In addition, it is often hard to directly reuse existing algorithms, detailed designs, interfaces, or implementations in these systems due to the growing heterogeneity of hardware/software architectures and the increasing diversity of operating system platforms.
Developing an object-oriented software testing and maintenance environment
The object-oriented (OO) paradigm is rapidly gaining acceptance in the software industry. However, the powerful features of this new paradigm also introduce a new set of OO software testing and maintenance problems. The pioneering work in identifying these new problems includes [7, 10-12, 14, 16, 18]. The problems can be summarized as: 1) the understanding problem; 2) the complex interdependency problem; 3) the object state behavior testing problem; and 4) the tool support problem. Detailed discussions of these problems will be provided later. Our industrial experience confirms these discoveries.
Object-oriented parallel computation for plasma simulation
Object-oriented techniques promise to improve the software design and programming process by providing an application-oriented view of programming while facilitating modification and reuse. Since the software design crisis is particularly acute in parallel computation, these techniques have stirred the interest of the scientific parallel computing community. Large-scale applications of ever-growing complexity, particularly in the physical sciences and engineering, require parallel processing for efficiency. Since its introduction in the 1970s, Fortran 77 has been the language of choice to model these problems, due to its efficiency, its numerical stability, and the body of existing Fortran codes. However, the introduction of object-oriented languages provides new alternatives for parallel software development. Fortran 90 adds modern extensions (including object-oriented concepts) to the established methods of Fortran 77. Alternatively, object-oriented methodologies can be explored through languages such as C++, Eiffel, Smalltalk, and many others. Our selection among these required a language that was widespread and supported across multiple platforms (particularly supercomputers) with strong compiler optimizations. C++, while not a “pure” object-oriented language, was our choice, since it meets these criteria.
Smalltalk is a single paradigm language with very simple semantics and syntax for specifying elements of a system and for describing system dynamics [1]. When the language is used to describe an application system, the developer extends Smalltalk, creating a domain-specific language by adding a new vocabulary of language elements while maintaining the same semantics and syntax. Using most Smalltalk systems, it is easy to invent one's own development environment through inclusion of new system parts in the library and extension of the development tools. Moreover, it is possible to make changes to the environment, and to applications written using the environment, while the system is executing. These system characteristics create a flexible and enjoyable software development experience.
Smalltalk reaches crossroads in the insurance industry
Information systems are critical to the worldwide insurance business, yet few major insurance companies believe they are well served by their current systems. Increasingly, companies are including Smalltalk as a strategic element of their future systems strategies.
Smalltalk in the telecommunications industry
In a world where global partnerships and rapidly shifting business environments will be the norm, the telecommunications industry stands out for the speed with which both its technology and business processes are being transformed. Beginning with the breakup of AT&T, the industry has been lurching toward worldwide competition, and a blurring of the lines between local, interexchange, cellular, value-added network, and even cable carriers.
Ubiquitous applications: embedded systems to mainframe
Over the last 10 years, Smalltalk has moved from the “Parc” to Main Street as a standard object-oriented (OO) fifth generation language (5GL) for enterprise computing. To meet the needs of application developers, Smalltalk environments and tools have matured from the original research implementations to full-featured, multiplatform development environments. A recent study of development tools conducted by Software Productivity Research in Massachusetts for a software productivity consortium ranked Smalltalk first in most categories. What is surprising about this study is the application: a demanding telephone switch traditionally dominated by C or proprietary talc languages such as Chill, Protel, and Plex. The fact that Smalltalk ranked so highly is a testimony that Smalltalk is an application 5GL that scales. This article discusses the major technical challenges addressed by Smalltalk implementors and application developers working on a wide spectrum of applications.
Smalltalk training: as innovative as the environment
Smalltalk was originally intended to make the computer more accessible. However, although the language itself is simple, it is becoming common knowledge that becoming truly proficient with the Smalltalk environment is no simple achievement. Although we are still far short of being able to inject all the wisdom of a seasoned Smalltalk guru into a guru-wanna-be in a few short weeks, the industry has become more efficient in spreading the knowledge, while its education processes have matured. The effectiveness of the training available today for objects and Smalltalk exceeds that of many of the other technologies with which we are becoming inundated. This is especially true when one realizes the significant difference between Smalltalk and other technologies and the relatively wide gulf between the known and the unknown.
Projecting the growth of cellular communications
The tremendous success of cellular technology has fundamentally changed the way people communicate and prompted the evolution of a new multibillion dollar wireless communications industry. Linking service areas, wireless communications has altered the way business is conducted. For instance, with a laptop computer, a PCMCIA modem and a cellular phone, a real estate agent can contact his or her office and clients, check sales listings and arrange appointments while traveling. Field service and sales people can, from customer locations, access corporate databases to check inventory status, prepare up-to-the-minute price and delivery quotes, and cut orders directly to the factory. Two-way paging services allow a firm's workforce to stay in close contact, even when traditional wired communication services are not available. Hand-held hybrids of phone-computer-fax machines feed information to wireless communication networks, allowing an executive to make decisions while watching a little league baseball game.
Risks of social security numbers
The problem with social security numbers today is that some organizations are using these ubiquitous numbers for identification, others are using them for authentication, and still others are using them for both. I call up my bank, tell them my account number and ask them for a balance. Just to make sure that I am really who I claim to be, my bank asks for my SSN—as if this is a number that is some kind of secret that we share.