scispace - formally typeset
Search or ask a question

Showing papers on "Application software published in 1992"


Journal ArticleDOI
TL;DR: A pattern recognition approach for analyzing software engineering data, called optimized set reduction (OSR), that addresses many of the problems associated with the usual approaches is described.
Abstract: In order to plan, control, and evaluate the software development process, one needs to collect and analyze data in a meaningful way. Classical techniques for such analysis are not always well suited to software engineering data. A pattern recognition approach for analyzing software engineering data, called optimized set reduction (OSR), that addresses many of the problems associated with the usual approaches is described. Methods are discussed for using the technique for prediction, risk management, and quality evaluation. Experimental results are provided to demonstrate the effectiveness of the technique for the particular application of software cost estimation. >

245 citations


Patent
29 Apr 1992
TL;DR: A programmable computer user input/output (I/output) system having a multiple degree-of-freedom magnetic levitation (maglev) device with a matched electrodynamically levitated flotor and stator combination and an electrodynamic forcer means is described in this paper.
Abstract: A programmable computer user input/output (I/O) system having a multiple degree-of-freedom magnetic levitation (maglev) device with a matched electrodynamically levitated flotor and stator combination and an electrodynamic forcer means for receiving coil currents for applying controlled magnetic forces mutual to the flotor and stator. A sensing means measures the relative position and orientation of the flotor and stator. The I/O system includes a maglev I/O device control software module for measuring the relative movement of the flotor-stator combination of the maglev device and for controlling the coil currents provided to the electrodynamic forcer means. At least one active device model module, comprising a software representation of a mechanical I/O device, controls the maglev I/O device control software module to generate signals which emulate the mechanical I/O device represented by the active device model. An application software module contains code instructions representing predetermined information relevant to that application and understandable to the user of the application software. An application binding software module is interposed and operatively coupled between the maglev I/O device control software module and the application software module for controlling at least one of a) the application software module as a function of the measured sensing means output, and b) the maglev I/O device control software module as a function of the predetermined application software information.

194 citations


Proceedings ArticleDOI
24 Sep 1992
TL;DR: The authors use proxies to construct a transparent application programming interface (API) for the Choices distributed operating system and describe a new remote procedure call (RPC) facility for invoking methods on remote objects through the proxy mechanism.
Abstract: Proxy objects are local representatives of remote objects in a distributed system. The authors use proxies to construct a transparent application programming interface (API) for the Choices distributed operating system. In earlier work, proxies were used in Choices to provide a protected, object-oriented interface to system objects. The addition of Remote Proxies allows applications to access all resources in a uniform way by simply invoking methods on objects, irrespective of whether they are local, in the kernel, in a different user virtual address space or remote. They also extend proxies to optimize access to remote and protected objects and to provide support for changing server interfaces. They describe a new remote procedure call (RPC) facility for invoking methods on remote objects through the proxy mechanism. The API is made dynamically reconfigurable by using table lookup to perform all functions normally provided by stubs in conventional RPC implementations. The API permits new versions of a service to be introduced without requiring recompilation of application client code. >

134 citations


Proceedings ArticleDOI
09 Nov 1992
TL;DR: An algorithm to derive the reduced flow graphs has been implemented as an extension to the recently developed system for testing and debugging (STAD 1.0) and early experiments with the algorithm are reported and potential applications in regression testing and reasoning about the program are discussed.
Abstract: It is pointed out that a major problem in software maintenance is the revalidation of a modified code. It is economically desirable to restrict that process only to those parts of the program that are affected by the modifications. Towards that goal, a formal method is needed to identify the modifications in an automatic way. Such a method is proposed in the present work. The modifications are localized within clusters in the flow graphs of the original and modified programs. Both flow graphs are transformed into reduced flow graphs, between which an isomorphic correspondence is established. Cluster-nodes in the reduced graphs encapsulate modifications to the original program. An algorithm to derive the reduced flow graphs has been implemented as an extension to the recently developed system for testing and debugging (STAD 1.0) and early experiments with the algorithm are reported. Potential applications in regression testing and reasoning about the program are discussed. >

133 citations


Journal ArticleDOI
TL;DR: Two new estimation procedures are introduced, and their performances in the modeling of software quality from software complexity in terms of the predictive quality and the quality of fit are compared with those of the more traditional least squares and least absolute value estimation techniques.
Abstract: The objective in the construction of models of software quality is to use measures that may be obtained relatively early in the software development life cycle to provide reasonable initial estimates of the quality of an evolving software system. Measures of software quality and software complexity to be used in this modeling process exhibit systematic departures of the normality assumptions of regression modeling. Two new estimation procedures are introduced, and their performances in the modeling of software quality from software complexity in terms of the predictive quality and the quality of fit are compared with those of the more traditional least squares and least absolute value estimation techniques. The two new estimation techniques did produce regression models with better quality of fit and predictive quality when applied to data obtained from two software development projects. >

83 citations


Proceedings ArticleDOI
07 Jan 1992
TL;DR: The results of this research indicate that traditional metrics are applicable to the measurement of the complexity of object-oriented systems.
Abstract: An acceptable measure of software quality must quantify software complexity. Traditional software metrics such as lines of code, software science and cyclomatic complexity are investigated as possible indicators of complexity of object-oriented systems. This research reports the effects of polymorphism and inheritance on the complexity of object-oriented systems are measured by the traditional metrics. The results of this research indicate that traditional metrics are applicable to the measurement of the complexity of object-oriented systems. >

74 citations


Proceedings ArticleDOI
23 Apr 1992
TL;DR: An application-specific structure is proposed where as much of the operating system as possible is pushed into runtime library routines linked with each application, and the kernel is stripped to its bare minimum functionality.
Abstract: Recent evidence suggests that trends will require rethinking the traditional role of operating systems. The challenge to operating systems designers is to deliver to applications the performance available now only from dedicated hardware, combined with the ease of sharing resources and data among multiple applications and the simpler programming model found in general-purpose operating systems. An application-specific structure is proposed where as much of the operating system as possible is pushed into runtime library routines linked with each application. The operating system kernel is stripped to its bare minimum functionality. At a minimum, the kernel must adjudicate among application requests for physical resources, and it must enforce hardware protection boundaries by operating system code running as library routines in each application. The key is that the operating system must notify each application of changes in its resource allocation, to allow the application on the chance to adapt to make best use of whatever resources are available to it. >

69 citations


Journal ArticleDOI
TL;DR: An approach that embeds human-computer cooperative problem-solving tools into knowledge-based design environments that work in conjunction with human software designers in specific application domains is described, taking advantage of peoples' ability to understand and incrementally reformulate their problems, while allowing them to contribute to the gradual improvement of the underlying knowledge base.
Abstract: An approach that embeds human-computer cooperative problem-solving tools into knowledge-based design environments that work in conjunction with human software designers in specific application domains is described. This human-centered approach takes advantage of peoples' ability to understand and incrementally reformulate their problems, while allowing them to contribute to the gradual improvement of the underlying knowledge base. The notion of evolution circumvents the inability of the original builders of a design environment to anticipate all future needs and knowledge for complete coverage of a domain. The access and development of knowledge is supported in a cycle of location, comprehension, and modification. Modification includes the evolution of the knowledge base and tools. A framework for building such tools and mechanisms is described and illustrated in terms of three systems: CATALOGEXPLORER, EXPLAINER, and MODIFIER. User studies of these systems demonstrate the promise and the limitations of the design environment approach. >

66 citations


Proceedings ArticleDOI
09 Sep 1992
TL;DR: A performance prediction scheme is presented which could be incorporated into a compiler to determine the best data distribution for a given program and system.
Abstract: The effective utilization of a cluster of workstations for the implementation of a scientific application requires a highly flexible software environment. The characteristics of such an environment are considered and two novel data distribution aspects of this environment are explored. The performance of a distributed memory multicomputer, such as a workstation cluster, is very sensitive to the strategy used to distribute data to the processors. A performance prediction scheme is presented which could be incorporated into a compiler to determine the best data distribution for a given program and system. For heterogeneous systems a data distribution strategy has been developed which takes into account the different capabilities of the processors. A number of experiments have been conducted on workstation clusters to demonstrate these software techniques. >

58 citations


Proceedings ArticleDOI
T. Ohmori1, K. Maeno1, S. Sakata1, Hideyuki Fukuoka1, Kazuo Watabe1 
09 Jun 1992
TL;DR: A control scheme for sharing applications that is based on MERMAID, a distributed multiparty desktop conferencing system, is described and it is shown that the approach is applicable to developing shared applications and to sharing existing single-user applications.
Abstract: A control scheme for sharing applications that is based on MERMAID, a distributed multiparty desktop conferencing system, is described. The control scheme design is based on a replicated architecture which runs a copy of the application at every site or workstation. It is shown that the approach is applicable to developing shared applications, with slight application-independent modifications, to sharing existing single-user applications. The shared-application structure and the functions required for shared applications are discussed. A method for sharing applications for cases in which external resources are accessed is discussed. >

58 citations


Patent
Robert D. Fennell1
19 Oct 1992
TL;DR: In this article, a radio modem (100) having application software (128) stored therein receives upgrade information via over-the-air selective call messaging (SCTM) via OTT messaging.
Abstract: A radio modem (100) having application software (128) stored therein receives upgrade information via over-the-air selective call messaging. The upgrade information comprises upgrade installation information and upgrade data. A microprocessor (108) compiles the upgrade installation information and operates to upgrade the application software (128) in accordance with the upgrade installation information and in response to the upgrade data. Likewise, application software in the computer (302) can be upgraded by over-the-air transmission of upgrade information to the radio modem (100).

PatentDOI
TL;DR: A digital voice processing system wherein voice processing functions are run in software as discussed by the authors allows a modular structure because the application software resides in boards that are coupled to a host computer. With this structure, the software can be updated as required and the capacity of the system can be readily expanded to meet increased needs.
Abstract: A digital voice processing system wherein voice processing functions are run in software. This application of software allows a modular structure because the application software resides in boards that are coupled to a host computer. With this structure, the software can be updated as required and the capacity of the system can be readily expanded to meet increased needs.

Proceedings ArticleDOI
26 Apr 1992
TL;DR: It is argued that calculation/communication overlap can be achieved easily and consistently by executing multiple threads of control on each processor, and that this approach is practical on message-passing architectures without any special hardware support.
Abstract: Achieving maximum performance in message-passing programs requires that calculation and communication be overlapped. However, the program transformations required to achieve this overlap are error-prone and add significant complexity to the application program. The authors argue that calculation/communication overlap can be achieved easily and consistently by executing multiple threads of control on each processor, and that this approach is practical on message-passing architectures without any special hardware support. They present timing data for a typical message-passing application, to demonstrate the advantages of the scheme. >

Proceedings ArticleDOI
07 Jan 1992
TL;DR: An object-oriented domain analysis and modeling method for analyzing and modeling a family of systems to provide a more effective way of managing system evolution and addressing software reuse from a generation technology perspective.
Abstract: Describes an object-oriented domain analysis and modeling method for analyzing and modeling a family of systems. This method addresses the issues of how to represent an application domain by means of multiple views, and how to represent similarities and variations in the domain. The method also supports an approach for generating a target system specification from the domain model, given the requirements of an individual target system. The goal is to provide a more effective way of managing system evolution and addressing software reuse from a generation technology perspective. The method is illustrated by means of an example. >

Journal ArticleDOI
TL;DR: It is argued that a viable solution for building future intelligent systems is to design special-purpose parallel computer architectures designed for natural-language and other knowledge-processing applications using a marker-passing model of processing.
Abstract: It is argued that a viable solution for building future intelligent systems is to design special-purpose parallel computer architectures. The applications are restricted to those using semantic networks for knowledge representation. Reasoning on these networks is achieved with a marker-passing model of processing. The Semantic Network Array Processor (SNAP), a marker-passing parallel computer dedicated for natural-language and other knowledge-processing applications, is considered. Solutions for several nontrivial natural-language problems using the marker-passing approach are discussed. >

Proceedings ArticleDOI
23 Mar 1992
TL;DR: This paper builds on Mentat, an object-oriented parallel processing system developed at the University of Virginia that provides large amounts of easy-to-use parallelism for MIMD architectures, and inherits features of earlier work on parallel processing systems and heterogeneous distributed computing systems.
Abstract: Large meta-systems comprised of a variety of interconnected high-performance architectures are becoming available to researchers. To fully exploit these new systems software support must be provided that is easy to use, supports large degrees of parallelism in applications code, and manages the complexity of the underlying physical architecture for the user, This paper describes our approach to constructing and exploiting meta-systems. Our approach inherits features of earlier work on parallel processing systems and heterogeneous distributed computing systems. In particular, we build on Mentat, an object-oriented parallel processing system developed at the University of Virginia that provides large amounts of easy-to-use parallelism for MIMD architectures.'

Proceedings ArticleDOI
09 Sep 1992
TL;DR: ADAPTIVE is a transformational system providing policies and mechanisms that automatically specify and configure a flexible adaptive transport system that provides a controlled prototyping environment for monitoring, analyzing, and experimenting with the effects of different transport system designs and implementations on application performance.
Abstract: This paper describes a high-performance transport system architecture called ADAPTIVE, 'A Dynamically Assembled Protocol Transformation, Integration, and Validation Environment'. The authors are developing ADAPTIVE to support multimedia applications running on high-speed networks. ADAPTIVE is a transformational system providing policies and mechanisms that automatically specify and configure a flexible adaptive transport system. In addition, it provides a controlled prototyping environment for monitoring, analyzing, and experimenting with the effects of different transport system designs and implementations on application performance. >

PatentDOI
TL;DR: A digital voice processing circuit board has an interface chip to which random access memories are connected for temporary storage of data and storage of the operating code for the voice processing card as mentioned in this paper.
Abstract: A digital voice processing circuit board having use in a voice processing system wherein voice processing functions are run in software. This application of software allows a modular structure since the application software resides in boards that are coupled to a host computer. With this structure, the software can be updated as required and the capacity of the system can be expanded readily to meet increased needs. The digital voice processing board has an interface chip to which random access memories are connected for temporary storage of data and storage of the operating code for the voice processing card. The interface is in communication with an application processor which runs the application programming and database management. The application processor is in communication with and controls a pair of signal processors which are in communication with a time division multiplexer chip which in turn is in communication with the bus. The signal processors perform digital signal processing such as decoding control information, telephone processing, compression and decompression, and tone generation.

Proceedings ArticleDOI
12 May 1992
TL;DR: The authors present some design issues for a task-level controller based on a specific control approach using the synchronous language Esterel to program an application at the end-user level and the behavioral part of the robot-tasks at the control level.
Abstract: The authors present some design issues for a task-level controller based on a specific control approach. The achievement of a robotic application requires the use of a large set of cooperating devices such as manipulators and sensors. An application is performed by scheduling several actions of the system. Each action is modeled with a functional aspect (control law) and a behavioral one (reactions on events). These two aspects are combined in a single object, the robot-task. An object-oriented approach was used to model these actions. The synchronous language Esterel was used both to program an application at the end-user level and to program the behavioral part of the robot-tasks at the control level. The main design issues of a real-time controller able to implement and perform these actions are outlined. >

Proceedings ArticleDOI
15 Jun 1992
TL;DR: A framework based on the notions of logical entity abstraction and instantiation (LEAI) is proposed, which enables a user to select appropriate computation paradigms to design various parts (or subsystems) of a software system, and to compose the parts into a integrated system.
Abstract: Large software systems are often aimed to deal with problems of multi-application domains or disciplines, where each class of problems has its own defining features, difficulties and emphases. No existing computation model or design paradigm is appropriate for all varieties of problems faced in software design. A unification of existing computation paradigms is thus necessary to accommodate the diverse needs in system design. In this paper, the authors propose a framework based on the notions of logical entity abstraction and instantiation (LEAI), which enables a user to select appropriate computation paradigms to design various parts (or subsystems) of a software system, and to compose the parts into a integrated system. An example is given to illustrate the application of the framework. >

Proceedings ArticleDOI
01 Jun 1992
TL;DR: The objective is to enable software engineers to specify and reason about temporal properties of concurrent systems more easily by providing them with a logic that has an intuitive graphical representation and with tools that support its use.
Abstract: We present a description of a graphical interval logic that is the foundation of a toolset we are developing to support formal specification and verification of concurrent software systems. Experience has shown that most software engineers find standard temporal logics difficult to under- stand and to use. Our objective is to enable software engineers to specify and reason about temporal properties of concurrent systems more easily by providing them with a logic that has an intuitive graphical representation and with tools that support its use. To illustrate the use of our graphical interval logic, we provide a specification for a readers/writers database system and prove several properties of the specification.

Proceedings ArticleDOI
R. Steinmetz1, T. Meyer
16 Mar 1992
TL;DR: This paper presents a new model for distributed multimedia applications which is used for the description of such applications and allows for the retrieval of some communication requirements, and it can be used to structure the described application.
Abstract: It is often believed that with the mere knowledge of the kind of media, e.g. "speech, the system and specifically the communication requirements of a distributed multimedia application are automatically fixed. In general this assumption is wrong. As a matter of fact, certain technology aspects including the kind of media, coding, and compression techniques are of p k a r y relevance. However the specific application's functionality imposes fixther requirements. In this paper we present a new model for distributed multimedia applications which is used for the description of such applications. It allows for the retrieval of some communication requirements, and it can be used to structure the described application. This model was created within and used for the development of an audio/video distribution service as application of the HeiTS (IBM ENC Heidelberg High-speed Transport System) project in Heidelberg.

Proceedings ArticleDOI
T. Ohmori1, K. Maeno1, S. Sakata1, Hideyuki Fukuoka1, Kazuo Watabe1 
14 Jun 1992
TL;DR: The authors discuss basic conditions for shared applications and present a sharing control scheme using MERMAID-served functions, which is based on a replicated architecture, in which a copy of the application runs at every site or workstation.
Abstract: A distributed multiparty desktop conferencing system, called MERMAID, was developed for supporting a wide range of group cooperative work. The authors discuss basic conditions for shared applications and present a sharing control scheme using MERMAID-served functions. The scheme is based on a replicated architecture, in which a copy of the application runs at every site or workstation. MERMAID provides communication functions for maintaining an identical state across all copies of an application in a replicated architecture. Two examples are included. One is an example of sharing an inherently single-user application, and the other is of sharing an application with access to external resources. >

Proceedings ArticleDOI
16 Mar 1992
TL;DR: To demonstrc tation method the XpreJ with high level Petri I achieve a parallel approach to solving the challenge of integrating Petri nets to manage distributed systems.
Abstract: f l i * Future communication ber of heterogeneous pr performance of all difft controller architecture$ col machines. Regardi? ware implementation sti architecture supporting a programming langual Petri nets are well suite lelism and to fix the dt tion. Petri nets are also means which brings for with a highly eficient software. To demonstrc tation method the XpreJ with high level Petri I achieve a parallel imple

Journal ArticleDOI
01 Jul 1992
TL;DR: The Touring Machine project comprises a series of systems experiments that address key technica l questions important to realizing a public communications infrastructure in support of multimedi a applications to cope with the increasing complexities of large-scale telecommunications software.
Abstract: The Touring Machine project comprises a series of systems experiments that address key technica l questions important to realizing a public communications infrastructure in support of multimedi a applications . One of the major design objectives is to create a software infrastructure tha t investigates potential uses of modern distributed-computing paradigms to cope with the increasin g complexities of large-scale telecommunications software . Another goal is to develop and study a flexible Application Programming Interface (API) that supports rapid deployment of new multimedi a services for a variety of wide area networks . The current version of Touring Machine, representin g the second iteration of system design, includes desk-top video and audio devices connected through a network of multiple switches and other specialized hardware resources . The control software for thi s system can support a variety of applications to run on users' workstations . The system is used daily a s a working prototype for facilitating research collaboration among several dozen users .

Journal ArticleDOI
TL;DR: The need for an efficient, flexible, secure, yet cost-effective multivendor distributed computing environment, and the comprehensive effort toward this goal, the Distributed Computing Environment (DCE) software, are described.
Abstract: The need for an efficient, flexible, secure, yet cost-effective multivendor distributed computing environment is discussed. A comprehensive effort toward this goal, the Distributed Computing Environment (DCE) software, is described. Developed by an industry-supported R&D organization with more than 330 members worldwide, the DCE focuses on four problems that require technical solutions: the diversity of operating environments, the (generally large) number of interconnected computers, the need to maintain security, and the need to provide opportunities both for growth and for new network applications. >


Proceedings ArticleDOI
01 Dec 1992
TL;DR: It is concluded that software caching, as well as other techniques developed for noncoherent shared-memory multiprocessors, can be profitably used on machines with hardware coherent caches and that programs based on these techniques are efficient across a variety of shared- memory machines.
Abstract: The authors explore the utility of software caching on a machine with coherent caches. In particular, they show that by caching at the application level one can avoid the problem of false sharing on cache-coherent machines. They compare the performance of software caching with that of other techniques for alleviating false sharing and show that software caching performs better than the alternatives when the reference behavior of an application changes dynamically. It is concluded that software caching, as well as other techniques developed for noncoherent shared-memory multiprocessors, can be profitably used on machines with hardware coherent caches and that programs based on these techniques are efficient across a variety of shared-memory machines. >

Journal ArticleDOI
01 Jul 1992

Patent
04 Mar 1992
TL;DR: In this paper, a data query apparatus consists of an application software and a circuitry for the processing of the data selection condition of the user query embodied in a host data base management system or information retrieval system.
Abstract: This data query apparatus consists of an application software and a circuitry for the processing of the data selection condition of the user query embodied in a host data base management system or information retrieval system. The application software translates the selection condition into the standard form which the circuitry can process. From the host system, and for each data record to be analyzed, the circuit apparatus receives the logical values taken on by the atomic conditions of the query and returns the logical value that the global selection condition takes on. This system allows the user to query the data on the basis of any truth-valued logic set up an arbitrary number of logical values, within the limits fixed by the system developer.