scispace - formally typeset
Search or ask a question

Showing papers on "Software published in 1994"


Book
01 Jan 1994
TL;DR: Novice SAS users will find all they need to master SAS basics and to move into advanced statistical analyses in this one book.
Abstract: From the Publisher: Packed with concrete examples, Hatcher's book provides an introduction to more advanced statistical procedures and includes handy appendices that give basic instruction in using SAS Novice SAS users will find all they need to master SAS basics and to move into advanced statistical analyses in this one book Featured is a simple, step-by-step approach to testing structural equation models with latent variables using the CALIS procedure The following topics are explained in easy-to-understand terms: exploratory factor analysis, principal component analysis, and developing measurement models with confirmatory factor analysis Other covered topics of note include "LISREL-type" analyses with the user-friendly PROC CALIS and solving problems encountered in real-world social science research Supports releases 609 and higher of SAS software Author Biography: Larry Hatcher, PhD Larry Hatcher, associate professor of psychology at Winthrop University and a SAS user for nearly 15 years, offers you the benefit of his experience as both a researcher and a teacher of statistics using the SAS System

2,960 citations


Book
01 Jan 1994
TL;DR: ROOM formally constrains the implementation to its architectural specification, and is based on the ROOM mode ling language which combines the object paradigm with mode ling abstractions devised specifically for distributed real-time software.
Abstract: The "architecture" of a software system refers to its highest-level modular decomposition and the interrelationship patterns between its modules. An architecture serves as a blueprint for implementation and also as the chief determinant of a system's ability evolve. Consequently, there is an increased interest in methods for specifying and validating software architectures. One such method is based on the ROOM mode ling language which combines the object paradigm with mode ling abstractions devised specifically for distributed real-time software. To overcome the treacherous "architectural decay" phenomenon, whereby, over time, software diverges increasingly from its specification, ROOM formally constrains the implementation to its architectural specification. This is achieved primarily through full automated code generation, a technique that is panicularly challenging in real-time applications where stringent performance and memory requirements are the norm.

1,173 citations


Journal ArticleDOI
TL;DR: A power analysis technique is developed that has been applied to two commercial microprocessors and can be employed to evaluate the power cost of embedded software and can help in verifying if a design meets its specified power constraints.
Abstract: Embedded computer systems are characterized by the presence of a dedicated processor and the software that runs on it Power constraints are increasingly becoming the critical component of the design specification of these systems At present, however, power analysis tools can only be applied at the lower levels of the design-the circuit or gate level It is either impractical or impossible to use the lower level tools to estimate the power cost of the software component of the system This paper describes the first systematic attempt to model this power cost A power analysis technique is developed that has been applied to two commercial microprocessors-Intel 486DX2 and Fujitsu SPARClite 934 This technique can be employed to evaluate the power cost of embedded software This can help in verifying if a design meets its specified power constraints Further, it can also be used to search the design space in software power optimization Examples with power reduction of up to 40%, obtained by rewriting code using the information provided by the instruction level power model, illustrate the potential of this idea >

1,055 citations


Journal ArticleDOI
TL;DR: The authors focus on the goal of large-scale, hand-held mobile computing as a way to reveal a wide assortment of issues and look at some promising approaches under investigation and also consider their limitations.
Abstract: The technical challenges that mobile computing must surmount to achieve its potential are hardly trivial. Some of the challenges in designing software for mobile computing systems are quite different from those involved in the design of software for today's stationary networked systems. The authors focus on the issues pertinent to software designers without delving into the lower level details of the hardware realization of mobile computers. They look at some promising approaches under investigation and also consider their limitations. The many issues to be dealt with stem from three essential properties of mobile computing: communication, mobility, and portability. Of course, special-purpose systems may avoid some design pressures by doing without certain desirable properties. For instance portability would be less of a concern for mobile computers installed in the dashboards of cars than with hand-held mobile computers. However, the authors concentrate on the goal of large-scale, hand-held mobile computing as a way to reveal a wide assortment of issues. >

988 citations


Book
01 Dec 1994
TL;DR: This publication explains how to use the GENESIS simulation/modeling software system available through the Internet file-server at the California Institute of Technology, Pasadena, California, USA.
Abstract: This publication explains how to use the GENESIS simulation/modeling software system available through the Internet file-server at the California Institute of Technology, Pasadena, California, USA. The first part of the book consists of edited contributions from an international team of neural networks researchers working with GENESIS. They show the user the kind of models/simulations which can be created by using the software. The second part is a step-by-step tutorial for all professionals, researchers and students working in the area of neural networks and the cognitive sciences.

815 citations


Proceedings ArticleDOI
21 May 1994
TL;DR: A sign that the software engineering profession has matured will be that we lose our preoccupation with the first release and focus on the long-term health of our products as mentioned in this paper.
Abstract: Programs, like people, get old. We can't prevent aging, but we can understand its causes, take steps to limits its effects, temporarily reverse some of the damage it has caused, and prepare for the day when the software is no longer viable. A sign that the software engineering profession has matured will be that we lose our preoccupation with the first release and focus on the long-term health of our products. Researchers and practitioners must change their perception of the problems of software development. Only then will software engineering deserve to be called "engineering". >

706 citations


Journal ArticleDOI
TL;DR: Denver’s new international air port was to be the pride of the Rockies, a wonder of modern engineering that orchestrates the safe and timely arrival of every valise and ski bag.
Abstract: Denver’s new international air port was to be the pride of the Rockies, a wonder of modern engineering. Twice the size of Manhattan, 10 times the breadth of Heathrow, the airport is big enough to land three jets simultaneously-in bad weather. Even more impressive than its girth is the airport’s subterranean baggage-handling system. Tearing like intelligent coal-mine cars along 21 miles of steel track, 4,000 independent \"telecars\" route and deliver luggage between the counters, gates and claim areas of 20 different airlines. A central nervous system of some 100 computers networked to one another and to 5,000 electric eyes, 400 radio receivers and 56 bar-code scanners orchestrates the safe and timely arrival of every valise and ski bag.

645 citations


Proceedings ArticleDOI
21 May 1994
TL;DR: A five-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method) is proposed and illustrated by analyzing three separate user interface architectures with respect to the quality of modifiability.
Abstract: While software architecture has become an increasingly important research topic in recent years, insufficient attention has been paid to methods for evaluation of these architectures. Evaluating architectures is difficult for two main reasons. First, there is no common language used to describe different architectures. Second, there is no clear way of understanding an architecture with respect to an organization's life cycle concerns -software quality concerns such as maintainability portability, modularity, reusability, and so forth. We address these shortcomings by describing three perspectives by which we can understand the description of a software architecture and then proposing a five-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method). We illustrate the method by analyzing three separate user interface architectures with respect to the quality of modifiability. >

603 citations


Posted Content
TL;DR: A general purpose programming technique, called the Simulation of Simplicity, which can be used to cope with degenerate input data for geometric algorithms, and it is believed that this technique will become a standard tool in writing geometric software.
Abstract: This paper describes a general-purpose programming technique, called the Simulation of Simplicity, which can be used to cope with degenerate input data for geometric algorithms. It relieves the programmer from the task to provide a consistent treatment for every single special case that can occur. The programs that use the technique tend to be considerably smaller and more robust than those that do not use it. We believe that this technique will become a standard tool in writing geometric software.

553 citations


Patent
04 Nov 1994
TL;DR: A multimedia processor is a modified CD-ROM multimedia interactive television video game console which comprises a microprocessor, hardware, and software as discussed by the authors, and one or more physiological data monitors are coupled to provide a signal representative of a user's physiological parameter to the multimedia processor through an isolated interface circuit.
Abstract: An electronic health monitoring system. A multimedia processor is a modified CD-ROM multimedia interactive television video game console which comprises a microprocessor, hardware, and software. One or more physiological data monitors are coupled to provide a signal representative of a user's physiological parameter to the multimedia processor through an isolated interface circuit. A hand-held program controller with directional buttons is operated by the user to control the various functions of the multimedia processor. A television is coupled to the multimedia processor to provide sound and a video display based upon output signals from the multimedia processor. Interchangeable compact disks (CD-ROM) comprise additional software. The software contained in the interchangeable compact disks enables the system to execute a variety of health related functions, to display high quality moving or still video images and to produce high quality sound accompaniment. For example, the system may monitor a user's electrocardiographic signals and display an ECG waveform and various other parameters, such as heart rate, on the television screen. The system may also interactively provide more detailed or educational information to the user based upon the user's operation of the hand-held program controller and also based upon predetermined software routines and data stored within the system.

475 citations


Journal ArticleDOI
TL;DR: The design of one particular learning assistant is described: a calendar manager, called CAP (Calendar APprentice), that learns user scheduling preferences from experience and suggests that machine learning methods may play an important role in future personal software assistants.
Abstract: Personal software assistants that help users with tasks like finding information, scheduling calendars, or managing work-flow will require significant customization to each individual user. For example, an assistant that helps schedule a particular user’s calendar will have to know that user’s scheduling preferences. This paper explores the potential of machine learning methods to automatically create and maintain such customized knowledge for personal software assistants. We describe the design of one particular learning assistant: a calendar manager, called CAP (Calendar APprentice), that learns user scheduling preferences from experience. Results are summarized from approximately five user-years of experience, during which CAP has learned an evolving set of several thousand rules that characterize the scheduling preferences of its users. Based on this experience, we suggest that machine learning methods may play an important role in future personal software assistants.

Journal ArticleDOI
TL;DR: The authors introduce the FSMD model, which forms the basis for synthesis, and discuss the main considerations in a high-level synthesis environment: the input description language, the internal representation, and the main synthesis tasks-allocation, scheduling, and binding.
Abstract: The basic problem of high-level synthesis is the mapping of a behavioral description of a digital system into an RTL design consisting of a data path and a control unit. The authors introduce the FSMD model, which forms the basis for synthesis. They discuss the main considerations in a high-level synthesis environment: the input description language, the internal representation, and the main synthesis tasks-allocation, scheduling, and binding. They conclude with some problems that must be solved to make high-level synthesis a widely accepted methodology. >

Patent
20 Apr 1994
TL;DR: In this paper, a hardware latch is used to protect the codes in non-volatile memory from being overwritten by subsequent untrusted programs, and the latch is only reset at system restart, when control returns to the bootstrap program.
Abstract: A method and device for reliably assessing the integrity of a computer system's software prevents execution of corrupted programs at time of system initialization, enhancing system security. Programs and data comprising the system's trusted software, including all startup processes, are verified before being utilized. Methods to verify the trusted software use a hierarchy of both modification detection codes and public-key digital signature codes. The top-level codes are placed in a protectable non-volatile storage area, and are used by the startup program to verify the integrity of subsequent programs. A trusted initialization program sets a hardware latch to protect the codes in the non-volatile memory from being overwritten by subsequent untrusted programs. The latch is only reset at system restart, when control returns to the bootstrap program. Software reconfiguration is possible with trusted programs that write new top-level codes while the latch is open. The mechanism itself is immune to malicious software attack when the write-protect latch is closed before running untrusted software. Preferred embodiments in an IBM-compatible personal computer uses the reset switch to initiate a trusted path between the user and a program. Damage from certain classes of computer virus and trojan horse attacks is prevented. A system recovery process is described. A related improved method for user authentication uses a read-and -write memory protection latch to prevent access to sensitive authentication data.

Proceedings ArticleDOI
08 May 1994
TL;DR: The design of a machine which is composed of homogeneous mechanical units, and the control software of the unit which realizes "self-assembly," one of the basic functions of this machine is developed.
Abstract: The design of a machine which is composed of homogeneous mechanical units is described. We show the design of both hardware and control software of the unit. Each unit can connect with other units and change the connection by itself. In spite of its simple mechanism, a set of these units realizes various mechanical functions. We developed the control software of the unit which realizes "self-assembly," one of the basic functions of this machine. A set of these units can form a given shape of the whole system by themselves. The units exchange information about local geometric relation by communication, and cooperate to form the whole shape through a diffusion-like process. There is no upper level controller to supervise these units, and the software of each unit is completely the same. Three actual units have been built to test the basic movements, and the function of self-assembly has been verified by computer simulation. >

Patent
15 Feb 1994
TL;DR: A home automation system comprises a number of sub-systems for controlling various aspects of a house, such as security, HVAC, lighting control, and entertainment, which are connected through a host interface to a plurality of nodes.
Abstract: A home automation system comprises a number of sub-systems for controlling various aspects of a house, such as a security sub-system, an HVAC sub-system, a lighting control sub-system, and an entertainment sub-system. The network comprises a host computer connected through a host interface to a plurality of nodes. The network is in a free form topology and employ asynchronous communication. The host computer polls each node on the network to determine system configuration and to perform a diagnostic check on the system. The messages that are transmitted between the nodes are comprised of a source address, a destination address that uniquely identifies the location of each piece of hardware on the system, a message type field, and a data length segment. Each hardware device has a mirror image software object in the host computer to which messages are directed. The user interfaces for the various sub-systems share a common interfacing method whereby use of the system is greatly simplified.

Patent
16 Mar 1994
TL;DR: In this article, the authors propose a collaboration system that integrates separate real-time and asynchronous networks for audio and video, and the latter for control signals and textual, graphical and other data in a manner which closely approximates the experience of face-to-face collaboration.
Abstract: A collaboration system that integrates separate real-time and asynchronous networks - the former for real-time audio and video, and the latter for control signals and textual, graphical and other data - in a manner which closely approximates the experience of face-to-face collaboration. These capabilities are achieved by exploiting a variety of hardware, software and networking technologies in a manner that preserves the quality and integrity of audio/video/data and other multimedia information, even after wide area transmission, and at a significantly reduced networking cost as compared to what would be required by presently known approaches. The system architecture is readily scalable to the largest enterprise network environments. It accommodates differing levels of collaborative capabilities available to individual users and permits high-quality audio and video capabilities to be readily superimposed onto existing personal computers and workstations (12) and their interconnecting LANs (10) and WANs (15). In the case of a plurality of geographically dispersed LANs (10) interconnected by a WAN (15), the demands made on the WAN are significantly reduced by employing multi-hopping techniques, including avoiding the unnecessary decompression of data at intermediate hops, as well as video mosaicing and cut-and-paste technology.

Proceedings ArticleDOI
21 May 1994
TL;DR: A theory is presented for one aspect of architectural description, the interactions between components, to define architectural connectors as explicit semantic entities that characterize each of the participant roles in an interaction and how these roles interact.
Abstract: As software systems become more complex the overall system structure - or software architecture - becomes a central design problem. An important step towards an engineering discipline of software is a formal basis for describing and analyzing these designs. We present a theory for one aspect of architectural description, the interactions between components. The key idea is to define architectural connectors as explicit semantic entities. These are specified as a collection of protocols that characterize each of the participant roles in an interaction and how these roles interact. We illustrate how this scheme can be used to define a variety of common architectural connectors. We provide a formal semantics and show how this lends to a sound deductive system in which architectural compatibility can be checked in a way analogous to type checking in programming languages. >

Proceedings ArticleDOI
21 May 1994
TL;DR: In this paper, a model which captures the intentional structure of a software process and its embedding organization, in terms of dependency relationships among actors, is presented, embedded in the conceptual modeling language Telos.
Abstract: In trying to understand and redesign software processes, it is often necessary to have an understanding of the "whys" that underlie the "whats" - the motivations, intents, and rationales behind the activities and input-output flows. This paper presents a model which captures the intentional structure of a software process and its embedding organization, in terms of dependency relationships among actors. Actors depend on each other for goals to be achieved, tasks to be performed, and resources to be furnished. The model is embedded in the conceptual modeling language Telos. We outline some analytical tools to be developed for the model, and illustrate how the model can help in the systematic design of software processes. The examples used are adaptations of the ISPW-6/7 benchmark example. >

Journal ArticleDOI
TL;DR: An easy-to-use software package is described which efficiently solves the given problem and has been tested on a number of complex engineering tasks, including aerospace and robotic trajectory planning.
Abstract: A great number of analysis and synthesis problems of modern processes can be written as state and control constrained optimal control problems governed by ordinary differential equations with multipoint boundary values. As the software tools for following this attractive approach are still missing or can be used only by experts, the structure and usage of an easy-to-use software package is described which efficiently solves the given problem. Among its features are user-orientation, applicability on personal computers and mainframes, and robustness with respect to model changes and inaccurate starting values. It has been tested on a number of complex engineering tasks, including aerospace and robotic trajectory planning.

Book
27 Jan 1994
TL;DR: In this paper, the Eigenvalues of Paine problems were studied and a list of test problems for the Sturm-Liouville software was presented. But the authors focused on the classical SLP.
Abstract: Introductory background 1. Elementary theory of the classical SLP 2. Simple matrix methods 3. Variational methods 4. Shooting and the scaled Prufer method 5. Pruess methods 6. Singular SLPs: theory 7. Singular SLPs: numerical treatments 8. Computing and manipulating eigenfunctions 9. The computation of resonances 10. Further topics 11. Conclusions A: Eigenvalues of Paine problems B: List of test problems C: Available Sturm-Liouville software

Book
01 Jan 1994
TL;DR: Interestingly, assessment and control of software risks that you really wait for now is coming, so it's significant to wait for the representative and beneficial books to read.
Abstract: Interestingly, assessment and control of software risks that you really wait for now is coming. It's significant to wait for the representative and beneficial books to read. Every book that is provided in better way and utterance will be expected by many peoples. Even you are a good reader or not, feeling to read this book will always appear when you find it. But, when you feel hard to find it as yours, what to do? Borrow to your friends and don't know when to give back it to her or him.

Journal ArticleDOI
TL;DR: An assessment of several published statistical regression models that relate software development effort to software size measured in function points finds a problem with the current method for measuring function points that constrains the effective use of function points in regression models and suggests a modification to the approach that should enhance the accuracy of prediction models based on function points.
Abstract: This paper presents an assessment of several published statistical regression models that relate software development effort to software size measured in function points. The principal concern with published models has to do with the number of observations upon which the models were based and inattention to the assumptions inherent in regression analysis. The research describes appropriate statistical procedures in the context of a case study based on function point data for 104 software development projects and discusses limitations of the resulting model in estimating development effort. The paper also focuses on a problem with the current method for measuring function points that constrains the effective use of function points in regression models and suggests a modification to the approach that should enhance the accuracy of prediction models based on function points in the future. >

Journal ArticleDOI
TL;DR: A system called POLYLITH that helps programmers prepare and interconnect mixed-language software components for execution in heterogeneous environments so that once an application has been developed for use in one execution environment it can be adapted for reuse in other environments by automatic techniques.
Abstract: We describe a system called POLYLITH that helps programmers prepare and interconnect mixed-language software components for execution in heterogeneous environments. POLYLITH's principal benefit is that programmers are free to implement functional requirements separately from their treatment of interfacing requirements; this means that once an application has been developed for use in one execution environment (such as a distributed network) it can be adapted for reuse in other environments (such as a shared-memory multiprocessor) by automatic techniques. This flexibility is provided without loss of performance. We accomplish this by creating a new run-time organization for software. An abstract decoupling agent, called the software bus, is introduced between the system components. Heterogeneity in language and architecture is accommodated since program units are prepared to interface directly to the bus and not to other program units. Programmers specify application structure in terms of a module interconnection language (MIL); POLYLITH uses this specification to guide packaging (static interfacing activities such as stub generation, source program adaptation, compilation, and linking). At run time, an implementation of the bus abstraction may assist in message delivery, name service, or system reconfiguration.

Journal ArticleDOI
TL;DR: The use of stochastic techniques is justified, and the various probability models that have been proposed, along with any associated statistical estimation and inference procedures, are described.
Abstract: Summary Probability models and statistical methods are a popular technique for evaluating the reliability of computer software. This paper reviews the literature concerning these methods, with an emphasis on the historical perspective. The use of stochastic techniques is justified, and the various probability models that have been proposed, along with any associated statistical estimation and inference procedures, are described. Examples of the models applied to real software failure data are given. A classic software development problem-how long software should be tested before it is released into the marketplace-is analyzed from a decision theoretic standpoint. Finally, the direction of future research is contemplated.

Patent
16 Jun 1994
TL;DR: In this article, a method for protecting distributed software which relies on a unique factor such as an accessible serial number or the generation of a profile or fingerprint of the computer of the user which is entered individually and/or with a random factor to generate a unique first key which will differ for different computers.
Abstract: A method is provided for protecting distributed software which relies on a unique factor such as an accessible serial number or the generation of a profile or fingerprint of the computer of the user which is entered individually and/or with a random factor to generate a unique first key which will differ for different computers. The first key is sent to a processing center which then generates a second key. The user applies the second key which compares the unique and/or random factors. If the comparison matches, the first and second keys are used in an algorithm in the software to generate a decrypting key permitting the customer to purchase the selected program(s).

Patent
13 Jan 1994
TL;DR: In this article, the authors proposed a real-time software customization system, where program files are first enciphered under control of a distribution cipher key and then reenciphers under a second cipher key.
Abstract: This system protects proprietary software from disclosure and unauthorized use, enforces license limits on number of users of the software, and prevents corruption of protected software by computer viruses. Software protected under this system may execute only on computer systems which incorporate a microprocessor capable of deciphering enciphered instructions in real time. Program files are first enciphered under control of a distribution cipher key. Prior to first use of software, program files must be customized on the user computer system. This customization procedure re-enciphers the programs, so that they are enciphered under a second cipher key. Customized programs may not execute on a computer system other than one constructed with a processor chip which incorporates a crypto microprocessor. The crypto microprocessor is capable of performing this re-encipherment, and of executing both enciphered and unenciphered programs. The customization program runs on user's computer system and normally accesses a remote Exchange database system by means of a modem to accomplish its task. Variations of customization process provide for storage of enciphered software on either a single system, a network server, or a site license repository system.

Patent
30 Sep 1994
TL;DR: In this paper, a Software Translation Kit (STK) is described, which includes a shell, TShell, coupled with an Export/Import module and various Editors. But it does not provide a standard platform which allows translators to act independently of the product they are translating.
Abstract: A Software Translation Kit (STK) system having a shell, TShell, coupled to an Export/Import module and various Editors is described. The Export/Import module itself includes a parsing engine to extract strings and translatable information from application programs. It functions as a front end parser to "translatable" sources, providing data conversion as needed. The STK system provides a standard interface and set of tools which can be used to localize graphic user interface products. By employing a datacentric approach, the system provides a standard platform which allows translators to act independently of the product they are translating.

Patent
17 Aug 1994
TL;DR: In this article, a boot device, a local or remote install media, and a local storage device are provided to a computer system to automatically install software products on the computer system.
Abstract: A boot device, a local or remote install media, and a local or remote storage device are provided to a computer system. The boot device comprises an install media locator and starter module. The local or remote install media comprises an install set up and control module and an install module. The local or remote storage device comprises a defaulted or a customized collection of installation files. The defaulted/customized collection of install files comprise a classification rules file, a number of pre-install class class script files, a number of install class parameter files, and a number of post-install class script files. Together, these elements cooperate to automatically install software products on the computer system, and configure the operating environment of the computer system.

Patent
19 Jul 1994
TL;DR: A power management system and interface providing a flexible and uniform protocol for controlling power management within a computer system including various software layers and add-in components is described in this paper, where clients (registered system elements) requiring power management notification and control become registered (via an associated software component) with a power management coordinator (PMC).
Abstract: A power management system and interface providing a flexible and uniform protocol for controlling power management within a computer system including various software layers and add-in components Clients (registered system elements) requiring power management notification and control become registered (via an associated software component) with a power management coordinator (PMC) The PMC provides information routing functions and address translations to facilitate communication (including power consumption information) between clients at registered identifiers A programmable power policy manager allows a user to define a performance/economy setting for the system that is communicated to all registered devices so that dwell and decay times are appropriately set by the device A programmable event sequencer maintains an event notification sequence and control sequence for power events A programmable power budgeter maintains and allocates power on a request basis for system elements A programmable thermal budgeter maintains and allocates energy based on thermal considerations A BIOS interlace couples for communication between an APM BIOS (if present) to send commands and poll for and receive event notification Registered extensions may be used to provide alternate functionality for the sequencer, the power policy manager, and the thermal and power budgeters The PMC provides for communication of power status, events, and other information between registered devices and allows registered software applications to originate power events Other extensions may register to enhance power management

Patent
22 Dec 1994
TL;DR: In this paper, the authors present a system and process which has the advantages of shortening the time and cost required to create a new localized version of a software product by automating much of the language translation process; by providing tools to automate the modifications to the program being localized, thereby reducing the probability of creating errors in the localization process and providing some measure of consistency between subsequently localized new releases of the product and between different locales.
Abstract: The present invention provides a system and process which has the advantages of shortening the time and cost required to create a new localized version of a software product by automating much of the language translation process; by providing tools to automate the modifications to the program being localized, thereby reducing the probability of creating errors in the localization process and providing some measure of consistency between subsequently localized new releases of the product, and between different locales. The system disclosed includes an environment and tools to develop software modules to create methods to display, enter or print various single and multi-byte character sets. Moreover the system disclosed provides a mechanism for an independent software developer to localize a software product, using only a binary copy of the target program and the localization tool kit for that product. This will permit the Software manufacturer to contract with developers in various countries to perform the product localization for their respective countries, minimizing risks by not having to provide the developers with a source code version of the portions of the product which do not require localization, and assuring rapid and consistent versions of the localized product through the use of the tool kit provided for that product. The invention provides a method and apparatus for creating a localized version of a target computer program product by first creating a binary version of the localized materials using the localization kit, and then using the localization kit to overlay this binary version of the localized materials onto a binary version of the target computer program product. The localization of certain locale date in the target computer program binary image is also facilitated. The localization kit also provides tools to test and verify the localized version of the target computer program product. The system disclosed also provides a framework wherein new localization tools can be easily incorporated into the overall process.