Browsing by Author "Lee, John A. N."
Now showing 1 - 20 of 40
Results Per Page
Sort Options
- An Annotated Bibliography on Optimization of Programs During CompilationLee, John A. N.; Thacker, William I.; Harrison, T. C. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1978)This annotated bibliography covers a collection of articles assembled by the authors in a graduate level course on advanced compilation techniques.
- Capturing Requirements Meeting Customer Intent: A Methodological ApproachGröner, Markus K. (Virginia Tech, 2002-05-10)Product quality is directly related to how well that product meets the customer's needs and intents. It is paramount, therefore, to capture customer requirements correctly and succinctly. Unfortunately, most development models tend to avoid, or only vaguely define the process by which requirements are generated. Other models rely on formalistic characterizations that require specialized training to understand. To address such drawbacks we introduce the Requirements Generation Model (RGM) that (a) decomposes the conventional "requirements analysis" phase into sub-phases which focus and refine requirements generation activities, (b) constrains and structures those activities, and (c) incorporates a monitoring methodology to assist in detecting and resolving deviations from process activities defined by the RGM. We present an empirical study of the RGM in an industrial setting, and results derived from this study that substantiate the effectiveness of the RGM in producing a better set of requirements.
- The Changing Relationships between Computing Centers, Other Campus Units and University AdministrationsLee, John A. N. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1986-03-01)This is the text of the presentation to the opening session of the 1986 ACM/SIGUCCS annual meeting held in St. Louis, MO. The author presents some concerns regarding the widening gap between university computing centers, as service organizations administered by one particular subgroup of their clients. and those they are committed to serve.
- A Comparison of Formal Definitions of ADA TaskingHe, Xudong; Lee, John A. N. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1989)In this paper, various formalisms (the operational approach, the denotational approach, the axiomatic approach, Petri nets and temporal logic) are briefly introduced through their applications in formally defining Ada tasking, and their coverages and relative merits are then
- Considerations for Future Programming Language Standards ActivitiesLee, John A. N. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1976)This paper reviews the current state of programming language standards activities with respect to the anomalies which exist between the various published and proposed standards for FORTRAN, COBOL, PL/I and BASIC. Proposals are made for the inclusion of formalisms within future standards and the extension of the standards to include additional items such as error conditions and documentation.
- A consignment library of reusable software components for use over the World-Wide WebHicklin, R. Austin (Virginia Tech, 1995-05-24)This research project report discusses the development of a commercial, consignment-based library (a) of reusable software components to be accessed using the World-Wide Web. The research project consists of two parts: the development of a prototype system that provides interface and information retrieval functionality for such a system, and an analysis of the technical and business issues involved in making the library operational as a commercial entity. The prototype system uses a hypertext browser and a query-based search mechanism to access descriptions of reusable software components; these descriptions are structured by a variation of a faceted classification system. The issues addressed include the classification and description of reusable software components; methods of retrieval, especially library browsing methods based on component classification; and analysis of incentives for reuse.
- Constraints, a model of computationMantha, Suryanarayana M. (Virginia Tech, 1987-07-05)In this thesis constraint solving/satisfaction is presented as a model of computation. Advantages of using constraints as a paradigm of programming are presented. A semantic schema for constraint based computations is given, following a brief survey of the more important systems based on constraints. These systems range from particular algorithms to problem solvers to constraint based general purpose programming languages. Finally, constraint satisfaction is applied to logic programming and theorem proving. It is shown that incorporating constraint solving in definite clause programs enhances their expressive power. Also, an alternative semantics - based on constraint satisfaction - is given for theorem proving.
- Coverage Analysis Methods for Formal Software TestingLee, John A. N.; He, Xudong (Department of Computer Science, Virginia Polytechnic Institute & State University, 1987)Software creation requires not only testing during the development cycle by the development staff, but also independent validation following the completion of the implementation. However in the latter case, the amount of testing that can be carried out is often limited by time and resources. At the very most, independent testing can be expected to provide 100% coverage of the requirements (or specifications) associated with the software element. This report describes a methodology by which the amount of testing required to provide 100% coverage of the requirements is assured while at the same time minimizing the total number of tests included in a test suite. A collateral procedure provides recommendations on which tests which might be eliminated if less than 10O% coverage of the requirements is permitted. This latter process will be useful in determining the risk of not running the minimum set of tests for 100% coverage. A second process selects from the test matrix the set of tests to be applied to the system following maintenance modification of any module-- that is, to provide a submatrix for regression testing.
- Definition and evaluation of a synthesis-oriented, user-centered task analysis technique: the Task Mapping ModelMayo, Kevin A. (Virginia Tech, 1994-12-15)A software system is an aggregate of communicating modules, and there are several different types of communication among these modules (direct, indirect, and global). Therefore, understanding the interfaces among these modules can characterize the system and are a major factor in the system's complexity. These interfaces could possibly also show and predict inadequacies in the reliability and maintenance of a system. Interfaces are defined early in the development life cycle at a detailed or high level design stage. Knowing that these interfaces exist and their structure leads us to measure them for an indication of the designed interface complexity. This designed interface complexity can then be utilized for software quality assurance by allowing users to choose from among several designs. With data provided by an Ada software developer, the interface complexity metrics correlated with established metrics, but also found complex interfaces that established metrics missed.
- The design of C++ class hierarchy to model ASN.1 data typesKhera, Rajesh (Virginia Tech, 1994-01-05)Computing in a heterogeneous environment requires an exchange of information among computers which have different ways of representing information. This type of information exchange demands a standard external data representation. One such standard, Abstract Syntax Notation One (ASN.l), is defined by the International Organization for Standardization (ISO) and its transfer syntax, the Basic Encoding Rules (BER). This project presents the design of a C++ class hierarchy modeling the concepts presented in ASN.l and encapsulating the BER encoding rules. The goal of this class hierarchy is to utilize the rich features of object-oriented paradigm to provide a clean and simple interface for OSI presentation layer protocols to application developers and implementors. This report discusses the class hierarchy in detail and shows how the primitive and constructed ASN.l types are defined, encoded and decoded using this hierarchy.
- Designing a testing strategy for expert systemsHite, Lee Anne (Virginia Tech, 1988-02-15)Testing programs with tractable algorithms is one area in which software engineers have made numerous advances over the past few decades. Testing rule-based expert systems, however, is a new area in software engineering which requires new testing techniques. For the most part, traditional software engineering testing strategies assume modular program development. This assumption is impractical to make for expert system development, for the knowledge base of an expert system is quite simply a huge non-modular program. It consists almost entirely of non-ordered, multi-branching decision statements. In traditional programming, the module interfaces are limited and well defined. For rule-based expert systems, the interaction among rules is combinatoric and highly data-driven. Thus, the testing of a completed expert system via traditional path analysis is impractical. The design of a testing strategy for expert systems focuses on the generic phases of expert system development. Briefly, these phases include system definition, incremental system implementation, and system maintenance.. Using this simplified breakdown of the expert system development process as a guide, certain testing techniques can be generalized enough to work for any expert system application.
- Developing Curriculum for Use in an Interactive Computational EnvironmentHeafner, John F.; Lee, John A. N.; Shrock, Sharon A. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1979)The advent of the interactive computer classroom and laboratory on the campus leads naturally to the increased usage of the computational facilities in undergraduate education. This report reviews a number of alternative plans for the integration of these facilities into various curricula, and provides outlines for the development of course syllabi which are appropriate.
- Development of a Resource Center for Introductory Computer ScienceLee, John A. N. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1976)This paper reviews the experiences of developing a Computer Sciences Resource Center through the joint efforts of faculty and students, at minimal Cost to the institution, yet with maximal opportunity for learning experiences by students in even the initial offerings of the courses. Although especially directed at the so-called "Computer Appreciation" courses, the resources developed through this program are applicable to other computer science courses and to other presentations across the college campus.
- Faculty Computer Literacy Project Final ReportLee, John A. N.; Miller, Mary Guy (Department of Computer Science, Virginia Polytechnic Institute & State University, 1984)The emergence of computing as one of the fundamental disciplines threatens to overwhelm our future leaders unless some actions are taken immediately to provide a measure of literacy in the field to the student population now in the Universities of the country. A number of barriers to this exist; (1) there does not exist an accepted curriculum for computer literacy and literacy is often confused with programming language knowledge, (2) the faculty and equipment resources cannot be provided through computer science departments without enormous infusions of money and time, and (3) there do not exist qualified faculty in the "PhD pipeline" to staff such a program even if salaries could be made competitive with industry.
- The Formal Description of Minimal BasicReese, D. L.; Lee, John A. N. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1976)The purpose of this formal description of Minimal Basic is to provide an operational description which is not subject to the ambiguities of interpretation of natural language specifications.
- Formal Descriptors for Hardware SimulationLee, John A. N.; Brown, T. C. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1976)This paper reviews the current status of an ongoing effort to develop a hardware description language which would be suitable for use as both a design tool and a documentor. Included in the requirements for this language would be the necessity for the language to function not only in many areas, such as automated design and verification, or testing and simulation, but also at many levels. That is, to range over such applications as circuit design at one end of a spectrum to the validation of systems configurations at the other end. This paper views the language requirements from three points of view, i) the subjective (human) elements usually associated with the syntactic features of the language, ii) the minimal semantic elements to be provided and the structures (both program and data) which are necessary, and iii) the features to be included in order to facilitate the formal verification of the conformance of the descriptor to preselected attributes. The work described in this paper is based on continuing research regardinq the nature of formal descriptor techniques, on their applicability to automated theorem provinq and techniques for improving the teaching of computer related languages currently under way at Virginia Polytechnic Institute and State University.
- Implications on the Learning of Programming Through the Implementation of Subsets in Program Development EnvironmentsDePasquale, Peter Joseph III (Virginia Tech, 2003-07-17)The undergraduate Computer Science program at Virginia Tech is the largest in the Commonwealth of Virginia, of which a key component is ``CS 1044: Introduction to Programming'', and is typical of a first course in computer programming throughout the USA. While the student access to learning resources has improved considerably with the development of web-based assets, students are still expected to use the same sophisticated program development tools as are used in industry. The perceived complexity of the learning environment currently in use drives many women and minority students from the Computer Science program. A great deal of attention has been paid to the need to administer the student assignments and the grading system for this course, so as to minimize the teaching/grading load, but little attention has been paid to the methodologies of learning the material through practice. The work reported herein is intended to improve the pedagogy of this course by creating and integrating teaching/learning tools that better manage the student's engagement in the use of program development activities. Following the implementation of a three-element software system involving an interpreter for the C-language, a program development environment, and a data-monitoring/collectiondevice, the system was deployed in support of the freshman course in parallel to the commercial system commonly used. The experiment concentrated on examining the impact of the simplified development environment and the effort required for students to complete assigned programming projects.
- Index for "History of Computing in the Twentieth Century"Lee, John A. N. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1983)No abstract available.
- Knowledge retention with genetic algorithms by multiple levels of representationDing, Yingjia (Virginia Tech, 1991-05-15)Low-level representations have proven to be good at certain kinds of adaptive learning. High-level representations make effective use of existing knowledge and perform inference well. To promote using both forms of representation cooperatively rather than engaging in the perennial sectarian debate of supporting one paradigm at the expense of the other, this thesis presents a prototype system demonstrating knowledge retention using genetic algorithms and multiple levels of representation and learning. The prototype uses a mid-level of representation and transformations upward and downward for retaining domain-specific knowledge to bridge the gap between the high-level representation and learning and the genetic algorithm level. The thesis begins with an overview of the work, briefly introduces the principles of genetic algorithms, and states an illustrative domain. Then it reviews related work and two supportive systems. After that, it gives a general description of the prototype system's structure, three levels of representation, two transformations, and three levels of learning. Next, it describes methods of implementing the prototype system in some detail. Finally, it shows results with discussion, and points out conclusions and future work.
- A Methodology for Test SelectionLee, John A. N.; He, Xudong (Department of Computer Science, Virginia Polytechnic Institute & State University, 1988)Software creation requires not only testing during the development cycle by the development staff, but also independent testing following the completion of the implementation. However in the latter case, the amount of testing that can be carried out is often limited by time and resources. At the very most, independent testing can be expected to provide 100% test coverage of the test requirements (or specifications) associated with the software element with the minimum of effort. This paper describes a methodology employing integer programming by which the amount of testing required to provide the maximum possible test coverage of the test requirements (for the given test set) is assured while at the same time minimizing the total number of tests to be included in a test suite. A collateral procedure provides recommendations on which tests might be eliminated if less than 100% test coverage of the test requirements is permitted. This latter procedure will be useful in determining the risk of not running the minimum set of tests for 100% test coverage. A third process selects from the test matrix the set of tests to be applied to the system following maintenance modification of any test requirements-- that is, to provide a submatrix for regression testing. The potential benefits for applying the integer programming technique in test data selection is also discussed.