bluuebunny/crossref_metadata_2025_split huggingface dataset:
COM revisited
Authors: Jackson Daniel , Sullivan Kevin 
Published: July 2004

Designing architectural frameworks without the aid of formal modeling is error prone. But, unless supported by analysis, formal modeling is prone to its own class of errors, in which formal statements fail to match the designer's intent. A fully automatic analysis tool can rapidly expose such errors, and can make the process of constructing and refining a formal model more effective.
This paper describes a case study in which we recast a model of Microsoft COM's query interface and aggregation mechanism into Alloy, a lightweight notation for describing structures. We used Alloy's analyzer to simulate the specification, to check properties and to evaluate changes. This allowed us to manipulate our model more quickly and with far greater confidence than would otherwise have been possible, resulting in a much simpler model and a better understanding of its key properties.
A structured approach to problem solving at the introduction level in computer science
Authors: Pitts Gerald N. , Bateman Barry L. 
Published: July 2004

Problem solving is a task which is basic to many every day situations. Generally, people are not fully aware of the thought processes which enter into the solution of their particular situation. A problem presents itself and the solution, if determined, is implemented. Humans are able to solve problems in a relatively informal manner. Computers, due to their limited abilities, usually cannot be used to solve problems in this fashion. Greater success in computerized problem solution is often attained through strict, rigid expression of the problem and of its solution (i.e. a structured approach).
There are a variety of techniques which one can use in formally defining a problem situation. One that has found some favor is to precisely define the problem by subdividing it into lesser problems and then to define the subproblems into lesser problems until the entire problem has been broken into relatively elementary operations. The problem and all of its subdivisions are then analyzed in order to determine the required input values (i.e. what information or action does each segment need in order to perform its function properly?), and the required output values (i.e. what information or action does the step produce in order for succeeding steps to perform their function properly or for the solution to the problem to be furthered?). Completion of the subdivision and analysis steps is followed by translation of the problem into a computer language and by the subsequent testing of the solution to insure that it is truly correct.
Four commonly used methods for expression of the analyses of the problem are a word description of the problem, a list of the major points of the problem, a “flowchart” of the problem, or an artificial language (commonly a computer language) description of the problem solution. Quite often a combination of the four basic methods is employed. The main purpose of the methods is to completely define the problem and its solution so that every facet of these two items is completely understood. Consequently, it is best to employ whatever method or combination of methods one finds easiest to use in order to further his comprehension of the problem.
The university - a systems development center for state government or How to solve the education vs. training problem
Authors: Peck John C. 
Published: July 2004

During the past few years, I have attended several professional meetings which have included panel discussions between representatives from industry and academia concerning computer science education. Industry usually claims that students graduate with few practical skills - many can't even write a program as simple as a master file update. They further complain that such major issues as documentation, programming style, and team programming are neglected, while the abilities for written expression and oral presentation are often totally lacking. The programming languages which are common in industry (COBOL, FORTRAN) are often not introduced, and actual experience in the use of data base and data communications software just doesn't exist. In summary, universities are not interested in preparing a student for an industrial career.
Universities usually respond by stating that their mission is education and not training. They are not attempting to produce a technician who will be obsolete in two years, but rather are attempting to build a base of knowledge which will allow the professional to change with the times. Many claim that they are describing topics on the frontiers of the field which will be used ten years from now. Since universities are expected to be “pioneers”, they are required to lead in the development and research of new technology.
Women in science
Authors: Dale N. 
Published: July 2004

Women make up 51% of our population, yet they represent only 10% of those currently employed as scientists. Recognizing the underutilized scientific resource that women represent the congress of the United States directed the National Science Foundation to make available not less than $1,500,000 to develop and test methods of increasing the flow of women into scientific careers. (Public Law 94-80, 1976)
To carry out this mandate, NSF sent out a call for proposals in early 1976. The proposals were to be of two kinds: (1) Science Career Workshops where women students would be introduced to and hopefully motivated into choosing careers in the sciences and (2) Career Facilitation Projects where women who have scientific training but are not using it could be brought up to date and made ready to enter the job market or enter graduate school.
This paper describes the Career Facilitation Project being undertaken by the Computer Sciences Department of the University of Texas at Austin, supported by the National Science Foundation under Grant #SMI6-20420.
An overview of DOD-STD-1838A (proposed) the common APSE interface set: revision
Authors: Munck Robert , Oberndorf Patricia , Ploedereder Erhard , Thall Richard 
Published: July 2004

A five-year effort under the Ada Joint Program Office has developed a proposed standard for a host system interface as seen by tools running in an Ada Programming Support Environment (APSE). Standardization of this interface as DOD-STD-1838A will have a number of desirable effects for the Department of Defense, including tool portability, tool integration, data transportability, encouragement of a market in portable tools, and better programmer productivity.
As the capability of tools to communicate with each other is a central requirement in APSEs, the Common APSE Interface Set (CAIS) has paid particular attention to facilitate such communication in a host-independent fashion. CAIS incorporates a well-integrated set of concepts tuned to the needs of writers and users of integrated tool sets.

This paper covers several of these concepts:

• the entity management system used in place of a traditional filing system,

• object typing with inheritance,

• process control including atomic transactions,

• access control and security,

• input/output methods,

• support for distributed resource control, and

• facilities for inter-system data transport.
A parallel processing course for undergraduates
Authors: Hyde D. G. 
Published: July 2004

We argue that a parallel processing course should be offered to undergraduate computer science majors. A major component of such a course should be a series of programming laboratories where the student can investigate the strengths and weaknesses of different parallel architectures. The student should design and debug parallel algorithms on the different parallel models.
We propose a cost effective solution to the teaching of the course which uses simulators and Transputer-based parallel accelerators in a personal computer or workstation environment.
Automated support for the enactment of rigorously described software processes
Authors: Osterweil L. 
Published: July 2004

There are many advantages to developing rigorously described software processes. Certainly, they provide the basis for improved project visibility, communication, and coordination. If they are sufficiently rigorous they also provide the basis for effective analysis and error detection which can be used to improve processes. Of the many advantages, however, none strikes me as being more important than the opportunity which rigorous process specifications present for directing the coordination of human and computer resources in support of the effective enactment of software processes.
A number of researchers, both at this Workshop and elsewhere, have recognized this opportunity and have begun to study ways of taking advantage of it. Most of this work has focussed on the development of software environments in which explicit software process representations are used to coordinate the application of software tools. As such, this work is forming an important bridge between our software process research community and the software environments research community.
Most current research seems to be focussing on 1) what language should be used to express the process description, 2) what should the architecture of a process enaction support environment be like, and 3) what object management facilities should the environment have? In each of these three areas, there are important subissues which I believe are not receiving sufficient attention. In addition, it seems to me that the issues of 1) providing adequate user interfaces to such environments and 2) evaluating process descriptions and environments to support their enaction are both not receiving sufficient attention.
Module test case generation
Authors: Hoffman D. , Brealey C. 
Published: July 2004

While considerable attention has been given to techniques for developing complex systems as collections of reliable and reusable modules, little is known about testing these modules. In the literature, the special problems of module testing have been largely ignored and few tools or techniques are available to the practicing tester. Without effective testing methods, the development and maintenance of reliable and reusable modules is difficult indeed.
We describe an approach for systematic module regression testing. Test cases are defined formally using a language based on module traces, and a software tool is used to automatically generate test programs that apply the cases. Techniques for test case generation in C and in Prolog are presented and illustrated in detail.
Operating system projects for undergraduates
Authors: Wadland Kenneth R. 
Published: July 2004

This paper describes the projects written by students as part of our one-semester course in Operating Systems. It is aimed at Juniors and Seniors of average capabilities.
The course is divided into three parts: (a) The assembly language, utilities and RT-11 operating system (*) of DEC's PDP-11 family, (b) general concepts in operating systems, and (c) a team programming project. Only the final third of the course will be discussed. In the remainder of this paper we describe the following: rationale for having the students write a stand-alone operating system in assembly language, the two design outlines given to the students, and our successes and failures with them.
Applied quality assurance methodology
Authors: Pfau Pamela R. 
Published: July 2004

What is the charter of a Quality Assurance (Q.A.) department? What are the activities? How are they undertaken? What is the impact of Quality Assurance upon a software product?
The structure and operating philosophy of the department are explained in this report as is the definition of the work cycle as applied to a new release of a software product. Comments are made about the interaction between departments: product development, product maintenance, publications, education, field support, product management, marketing, product distribution and quality assurance. While this is a description of the activities of a company involved in developing and marketing software products, the concepts apply to techniques and practices which would also be beneficial to any data processing department that develops in-house application software.
Nassi-Shneiderman charts an alternative to flowcharts for design
Authors: Yoder Cornelia M. , Schrag Marilyn L. 
Published: July 2004

In recent years structured programming has emerged as an advanced programming technology. During this time, many tools have been developed for facilitating the programmer's use of structured programming. One of these tools, the Structured Flowcharts developed by I. Nassi and B. Shneiderman in 1972, is proving its value in both the design phase and the coding phase of program development.
Several programming groups in System Products Division, Endicott, New York, have used the Nassi-Shneiderman charts as replacements for conventional flowcharts in structuring programs. The charts have been used extensively on some projects for structured walk-throughs, design reviews, and education.
This paper describes the Nassi-Shneiderman charts and provides explanations of their use in programming, in development process control, in walk-throughs, and in testing. It includes an analysis of the value of Nassi-Shneiderman charts compared to other design and documentation methods such as pseudo-code, HIPO charts, prose, and flowcharts, as well as the authors' experiences in using the Nassi-Shneiderman charts.
The paper is intended for a general data processing audience and although no special knowledge is required, familiarity with structured programming concepts would be helpful. The reader should gain insight into the use of Nassi-Shneiderman charts as part of the total development process.
Software acceptance testing that goes beyond the book
Authors: Martin K. A. 
Published: July 2004

The design of software acceptance tests is as important to meeting contract goals as is the design of algorithms. This statement is particularly significant on fixed price contracts with tight schedules. An extreme instance of the demand placed on acceptance testing can be found in software projects wherein the only rigorous testing that required the Computer Program Configuration Item (CPCI) to exercise its repertoire of load and store instructions was the Formal Qualification Test (FQT). This paper is about such a project, the lessons learned from it, and provides an effective test approach for fixed price contracts.
A word or two about the project is appropriate to establish the context that underscores the impact of the above assertion. Initially 30K (core words), 16-bit program instructions were to be developed within one year using a Varian 73 computer with 32K words of memory for a Command and Control application under a fixed price contract. A set of a priori conditions existed that tended to convey the impression that the inherent risks of this endeavor were reasonable. They were the “facts” that:
Of the 30K (core words) to be written, 30% of this code already existed and would be used.
Contractor standards would be allowed for documentation with limited use of Military Specifications
No formal Design Reviews or audits would accompany the deliverable CPCI.
Existent executive software would suffice.
A competent and enthusiastic team was committed to the effort.
The evolution of a Source Code Control System
Authors: Glasser Alan L. 
Published: July 2004

The Source Code Control System (SCCS) is a system for controlling changes to files of text (typically, the source code and documentation of software systems). It is an integral part of a software development and maintenance system known as the Programmer's Workbench (PWB).
SCCS has itself undergone considerable change. There have been nine major versions of SCCS. This paper describes the facilities provided by SCCS, and the design changes that were made to SCCS in order to provide a useful and flexible environment in which to conduct the programming process.
A quantitative evaluation of the effectiveness of quality assurance as experienced on a large-scale software development effort
Authors: Belford Peter Chase , Broglio Carlo 
Published: July 2004

The purpose of quality assurance on software projects is to achieve high quality products on schedule, within cost, and in compliance with contract requirements. However, historically, the effectiveness of these activities on software projects has not been quantitatively demonstrable because of a lack of data collected on the project combined with a lack of insight into the operational reliability of the system.
Quality assurance is a collection of activities on a contractual deliverable whose purpose is to impart a degree of confidence that the deliverable will conform to the customer's concept of what was procured. Under these conditions, quality assurance must be performed with respect to a documented baseline of the concept. This baseline can address the need in the form of requirement statements; the conceptual approach to be followed in the form of a functional specification; or the design to be implemented in the form of a design specification. Further, these baselines are hierarchical in the sense that when quality assurance is applied to a level it is implicitly applied to all lower levels; e.g., if the need is to be satisfied, the conceptual approach must be satisfied. Effective quality assurance programs impart a high degree of confidence to the customer without significant impacts on schedule or cost. Historically, this effectiveness has not been quantitatively demonstrable because of a lack of data collected on the project combined with a lack of insight into the operational reliability of the system.
The Anatomy and Isometry of Themedial Patellofemoral Ligament
Authors: Steensen Robert N. , Dopirak Ryan M. , Mcdonald William G. 
Published: July 2004

Background Several techniques have been described for reconstruction of the medial patellofemoral ligament. However, the isometry of the medial patellofemoral ligament has not been studied. Purpose To define the anatomy and isometry of the medial patellofemoral ligament. Study Type Cadaveric study. Methods The authors dissected the medial patellofemoral ligament in 11 cadaveric knees and recorded its anatomic relationships. They evaluated the isometry of the medial patellofemoral ligament by obtaining measurements between various anatomic pairings at certain fixed angles of knee flexion. Results During knee flexion from 0° to 90°, the portion of the medial patellofemoral ligament from the inferior patellar attachment to the superior femoral attachment was nearly isometric, demonstrating an average change in length of only 1.1 mm. Statistical analysis showed the superior femoral attachment to be most significant in determining isometric behavior. Conclusions The most isometric portion of the medial patellofemoral ligament is the inferior portion of its patellar attachment extending to the superior portion of its femoral attachment, with the superior femoral attachment having the most notable influences on isometry. Clinical Relevance This study provides a detailed description of the anatomy of the medial patellofemoral ligament, as well as an evaluation of the isometric behavior of the ligament. Application of these data during reconstruction of the medial patellofemoral ligament may help to optimize patellofemoral stability.
Stability of Acromioclavicular Joint Reconstruction
Authors: Deshmukh Ashwin V. , Wilson David R. , Zilberfarb Jeffrey L. , Perlmutter Gary S. 
Published: July 2004

Background Despite reports of excellent results with the Weaver-Dunn coracoacromial ligament transfer, many authors recommend augmenting the transfer with supplemental fixation. The authors of this study sought to determine whether there is a biomechanical basis for this assertion and which augmentative method, if any, most closely restored acromioclavicular motion to normal. Hypothesis Augmentative coracoclavicular fixation provides better restoration of normal acromioclavicular joint laxity and an increased failure load when compared with the Weaver-Dunn reconstruction alone. Study Design Controlled laboratory cadaveric study. Methods Native acromioclavicular joint motion was measured using an infrared optical measurement system. Acromioclavicular and coracoclavicular ligaments were then cut, and 1 of 6 reconstructions was performed: Weaver-Dunn, suture cerclage, and 4 different suture anchors. Acromioclavicular joint motion was reassessed, a cyclic loading test was performed, and the failure load was recorded. Results After Weaver-Dunn reconstruction, mean anteroposterior laxity increased from 8.8 ± 2.9 mm in the native state to 41.9 ± 7.6 mm (P≤ .01), and mean superior laxity increased from 3.1 ± 1.5 mm to 13.6 ± 4.4 mm (P≤ .01). Weaver-Dunn reconstructions failed at a lower load (177 ± 9 N) than all other reconstructions (range, 278-369 N) (P≤ .05). Reconstruction using augmentative fixation allowed less acromioclavicular motion than Weaver-Dunn reconstruction (P≤ .05) but more motion than the native ligaments (P≤ .05). Specifically, mean superior laxity after reconstruction ranged between 6.5 and 9.0 mm compared with the native ligaments (3.1 ± 1.5 mm) and the Weaver-Dunn reconstructions (13.6 ± 4.4 mm). Mean anteroposterior laxity after the reconstructions tested ranged between 21.8 and 33.2 mm, compared with the native ligaments (8.8 ± 2.9 mm) and the Weaver-Dunn reconstructions (41.9 ± 7.6 mm). Conclusion Although none of the augmentative methods tested restored acromioclavicular stability to normal, all proved superior to the Weaver-Dunn reconstruction alone. Clinical Relevance This study suggests that when performing acromioclavicular reconstruction, supplemental fixation should be used because it provides more stability and pull-out strength than the Weaver-Dunn reconstruction alone.
Hyperconcavity of the Lumbar Vertebral Endplates in the Elite Football Lineman
Authors: Moorman Claude T. , Johnson David C. , Pavlov Helene , Barnes Ronnie , Warren Russell F. , Speer Kevin P. , Guettler Joseph H. 
Published: July 2004

Background Hyperconcavity of the vertebral endplates is a previously unreported radiologic phenomenon. Purpose To analyze hyperconcavity of the vertebral endplates with expansion of the disk space in pre–National Football League lineman and to determine its clinical significance. Study Design Descriptive anatomical study. Methods Over a 2-year period (1992-1993), 266 elite football linemen were evaluated at the National Football League scouting combine held in Indianapolis, Indiana. Evaluation focused on the lumbosacral spine and included history, physical examination, and lateral radiographs. Measurements were taken of all the vertebral endplate defects of involved vertebrae and compared with an age-matched control group of 110 patients. Results The analyzed data revealed the following: (1) hyperconcavity of the vertebral endplates appeared as a distinct entity in a high percentage of pre–National Football League lineman (33%) compared with age-matched controls (8%), (2) there was a trend toward a lower incidence of lumbosacral spine symptoms in those players who displayed hyperconcavity of the vertebral endplates (16%) versus those who did not (25%), and (3) when hyperconcavity of the vertebral endplates was present, all 5 lumbosacral disk spaces were commonly affected. Conclusions Hyperconcavity of the vertebral endplates and hypertrophy of the disk space are likely adaptive changes occurring over time in response to the repetitive high loading and axial stress experienced in football line play.