scispace - formally typeset
Search or ask a question

Showing papers by "Betty H. C. Cheng published in 1993"


Book ChapterDOI
13 Sep 1993
TL;DR: From a set of formal specifications, a two-tiered hierarchy of software components is constructed and provides a means for storing, browsing, and retrieving reusable components that is amenable to automation.
Abstract: Reusing software may greatly increase the productivity of software engineers and improve the quality of developed software. Software component libraries have been suggested as a means for facilitating reuse. Using formal specifications to represent software components facilitates the determination of reusable software because they more precisely characterize the functionality of the software, and the well-defined syntax makes processing amenable to automation. This paper presents an approach, based on formal methods, to the classification and organization of reusable software components. From a set of formal specifications, a two-tiered hierarchy of software components is constructed. The formal specifications represent software that has been implemented and verified for correctness. The hierarchical organization of the software component specifications provides a means for storing, browsing, and retrieving reusable components that is amenable to automation. A prototype browser that provides a graphical framework for the classification and retrieval process is also described.

33 citations


Book ChapterDOI
28 Jun 1993
TL;DR: This paper presents a two-phase approach to reverse engineering, the results of which can be used to guide the re-implementation of an object-oriented version of the system.
Abstract: Reverse engineering of program code is the process of constructing a higher level abstraction of an implementation in order to facilitate the understanding of a system that may be in a “legacy” or “geriatric” state. Changing architectures and improvements in programming methods, including formal methods in software development and object-oriented programming, have prompted a need to reverse engineer and re-engineer program code. This paper presents a two-phase approach to reverse engineering, the results of which can be used to guide the re-implementation of an object-oriented version of the system. The first phase abstracts formal specifications from program code, while the second phase constructs candidate objects from the formal specifications obtained from the first phase.

23 citations


Proceedings ArticleDOI
01 Dec 1993
TL;DR: This paper addresses the problem of collective data distribution, specifically multicast, in wormhole-routed hypercubes with results indicate that significant performance improvement is possible when the multicast algorithm actively identifies and uses multiple ports in parallel.
Abstract: This paper addresses the problem of collective data distribution, specifically multicast, in wormhole-routed hypercubes. The system model allows a processor to send and receive data in all dimensions simultaneously. New theoretical results that characterize contention among messages in wormhole-routed hypercubes are developed and used to design new multicast routing algorithms. The algorithms are compared in terms of the number of steps required in each, their measured execution times when implemented on a relatively small-scale nCUBE-2, and their simulated execution times on larger hypercubes. The results indicate that significant performance improvement is possible when the multicast algorithm actively identifies and uses multiple ports in parallel.

18 citations


Proceedings Article
01 Nov 1993
TL;DR: Three objectives of the project were to demonstrate the use of formal methods on a shuttle application, facilitate the incorporation and validation of new requirements for the system, and verify the safety-critical properties to be exhibited by the software.
Abstract: Correctness is paramount for safety-critical software control systems. Critical software failures in medical radiation treatment, communications, and defense are familiar to the public. The significant quantity of software malfunctions regularly reported to the software engineering community, the laws concerning liability, and a recent NRC Aeronautics and Space Engineering Board report additionally motivate the use of error-reducing and defect detection software development techniques. The benefits of formal methods in requirements driven software development ('forward engineering') is well documented. One advantage of rigorously engineering software is that formal notations are precise, verifiable, and facilitate automated processing. This paper describes the application of formal methods to reverse engineering, where formal specifications are developed for a portion of the shuttle on-orbit digital autopilot (DAP). Three objectives of the project were to: demonstrate the use of formal methods on a shuttle application, facilitate the incorporation and validation of new requirements for the system, and verify the safety-critical properties to be exhibited by the software.

8 citations


Proceedings ArticleDOI
16 Aug 1993
TL;DR: The proposed auxiliary free list procwor allocation strategy can efficiently allocate 2D-mesh clusters without size constraints, can reduce average job turnaround time compared with that based on subcubc allocation strategies, and can guarantee no communication interference among allocated clusters when the underlying hypercube implements deadlockfree Ecube routing.
Abstract: Tkaditionally, each job in a hypercube multiprocessor is allocated with a subcube so that communication interference among jobs may be avoided. Although the hypercube is a powerful processor topology, the 2D mesh is a more popular application topology. This paper predents a 2Dmesh cluster allocation strategy for hypercubes. The proposed auxiliary free list procwor allocation strategy can efficiently allocate 2D-mesh clusters without size constraints, can reduce average job turnaround time compared with that based on subcubc allocation strategies, and can guarantee no communication interference among allocated clusters when the underlying hypercube implements deadlockfree Ecube routing. The proposed auxiIiary free list strategy can be easily implemented on hypercube multicomputers to increage processor utilization.

7 citations


Journal ArticleDOI
TL;DR: This paper describes a project that combines formal specifications and visualizations to assist in testing and debugging a parallel program.

6 citations


Proceedings Article
01 Jan 1993
TL;DR: This paper describes a development environment that facilitates the construction of LSL speciications, including a graphical interface to theorem proving and syntax checking tools.
Abstract: As software is increasingly used to control critical systems, program correctness becomes paramount. A small change in the implementation of software can have a large and perhaps disastrous impact on its behavior. Formal methods focus a software development eeort on an accurate and precise speciication of what a software system or component is to achieve. This type of speciication, when expressed in a precise mathematical notation, is referred to as a formal speciication. Using formal speciication languages facilitates the early evaluation of a software design and veriication of its implementation through the use of formal reasoning techniques. Larch uses a two-tiered approach to formal speciications. One tier, the Larch Shared Language (LSL), is common to all programming languages. This paper describes a development environment that facilitates the construction of LSL speciications, including a graphical interface to theorem proving and syntax checking tools.

6 citations


01 Jan 1993
TL;DR: This dissertation presents an approach, based on formal methods, to the specification, classification, retrieval, and modification of reusable software components, and proposes two methods for the modification of candidate components in order to satisfy the query specification.
Abstract: This dissertation presents an approach, based on formal methods, to the specification, classification, retrieval, and modification of reusable software components. From a set of reusable components that are described by formal specifications, a two-tiered hierarchy of software components is constructed. The hierarchical structure provides a means for representing, storing, browsing, retrieving, and modifying the reusable components; furthermore, the formal specifications provide a means for verifying that a given software component correctly satisfies the current problem. The lower-level hierarchy facilitates the application of logical reasoning techniques for a fine-grained, exact determination of reusable candidates. The higher-level hierarchy provides a coarse-grained determination of reusable candidates. Based upon the framework of the two-tiered component hierarchy, a set of candidate components, which are more general than or analogous to the query specification, can be retrieved from the hierarchy. Two methods are proposed for the modification of candidate components in order to satisfy the query specification. One is to modify the component that is more general than the query specification; the other is to modify a component based on analogy. The graphics-based implementation of the reuse framework is described.

3 citations


Proceedings ArticleDOI
01 Nov 1993
TL;DR: A formal model for parallel program execution and monitoring in shared-memory environments is developed that addresses issues related to monitor intrusion and the notion of transparency, as it relates to monitored programs, is defined.
Abstract: A major obstacle to parallel software development has been the perturbation of program execution resulting from software-based monitoring techniques. Parallel programs exhibit non-deterministic behavior, which can result in changes in program execution under software monitoring, as compared to unmonitored program execution. In this paper, a formal model for parallel program execution and monitoring in shared-memory environments is developed that addresses issues related to monitor intrusion. Using this formal model, the notion of transparency, as it relates to monitored programs, is defined. Sufficient conditions for monitor transparency are presented. Software-based monitoring tools meeting these conditions are assured to exhibit transparency, given the definition. Thus, by ensuring that parallel program monitors conform to these sufficient conditions for monitor transparency, developers of software tools can enable transparent monitoring to be achieved. >

1 citations