bluuebunny/crossref_metadata_2025 huggingface dataset:
An extensive bibliography on computer networks
Authors: Ananda A. L. , Srinivasan B.
Published: January 2005

One of the prime problems faced by the researchers and designers in a rapidly expanding area is the complete awareness of the work carried out by other researchers. The problem is compounded when technology itself changes rapidly. This precisely is the case in the area of Data Communication and Computer Networks. The compilation of this bibliography attempts to collect various research papers that are published in this area. In order to keep the collection with in the manageable proportions, only prominent, pioneering and historical works appeared in well known journals which are easily available to the researchers and implementers are reported here. It is likely that there might have been some omissions because of the selective nature of the reference, but it does not imply that they are by no means unimportant, one can hope that a complete compilation will be available in the near future.
Flow analysis for verifying properties of concurrent software systems
Authors: Dwyer Matthew B. , Clarke Lori A. , Cobleigh Jamieson M. , Naumovich Gleb
Published: January 2005

This article describes FLAVERS, a finite-state verification approach that analyzes whether concurrent systems satisfy user-defined, behavioral properties. FLAVERS automatically creates a compact, event-based model of the system that supports efficient dataflow analysis. FLAVERS achieves this efficiency at the cost of precision. Analysts, however, can improve the precision of analysis results by selectively and judiciously incorporating additional semantic information into an analysis.We report on an empirical study of the performance of the FLAVERS/Ada toolset applied to a collection of multitasking Ada systems. This study indicates that sufficient precision for proving system properties can usually be achieved and that the cost for such analysis typically grows as a low-order polynomial in the size of the system.
A framework for modeling and implementing visual notations with applications to software engineering
Authors: Costagliola Gennaro , Deufemia Vincenzo , Polese Giuseppe
Published: January 2005

We present a framework for modeling visual notations and for generating the corresponding visual programming environments. The framework can be used for modeling the diagrammatic notations of software development methodologies, and to generate visual programming environments with CASE tools functionalities. This is accomplished through an underlying modeling process based on the visual notation syntactic model of eXtended Positional Grammars (XPG, for short), and the associated parsing methodology, XpLR. In particular, the process requires the modeling of the basic elements (visual symbols) of a visual notation, their syntactic properties, the relations between them, the syntactic rules to formally define the set of feasible visual sentences, and a set of semantic routines performing additional checks and translation tasks. Such a process is completely supported by the VLDesk system, which enables the automatic generation of an editor for drawing visual sentences, as well as a processor for their recognition, parsing, and translation into other notations.The proposed framework also provides the basis for the definition of a meta-CASE technology. In fact, we can customize the generated visual programming environment in terms of the supported visual notation, its syntactic properties, and the translation rules. We have used this framework to model several diagrammatic notations used in software development methodologies, including those of the Unified Modeling Language.
DDP management strategies
Authors: Appleton D. S.
Published: January 2005

Since the dawn of data processing, man has sought in vain for a solution to the dilemma: Should DP be centralized or decentralized. Some of the best minds in business have groped with this conundrum, searching for the answers. Happily, answers do exist, to be discovered only after the proper amount of time, money and executive brainpower have been expended in the search. Most of the answers, like those from the Delphic Oracle, tend to obscure the question--to all but those trained in the Mysteries (of data processing). The answers are: (1)
It depends,
(2)
the opposite of what you are doing
and (3)
distributed data processing.
Distributed processing
Authors: Kaufman Felix
Published: January 2005

Distributed processing is the deployment of computerized data processing functions where they can be performed most effectively, at costs usually less than those of other options, through the electronic interconnection of computers and terminals, arranged in a network adapted to the user's characteristics.
Two approaches to strategic database design
Authors: Szewczak E. J.
Published: January 2005

The strategic database (SDB) is an integral part of a decision support system (DSS) developed to support the strategic planning process in organizations. This paper describes two approache to SDB design---the descriptive approach and the prescriptive approach. Its purpose is to examine the assumptions underlying both approaches and to note the tradeoffs involved in adopting one approach over the other.
Impacts of information systems on efficiency of sales order processing
Authors: Hinomoto Hirohide
Published: January 2005

Since the sales order processing function is essential to the generation of the firm's revenue, its efficiency may be measured by a productivity index representing the firm's revenue, preferably value-added revenue, per unit of its inputs. This index enables one to evaluate economic impacts of an information system on the function. In the past, information systems have helped to enhance the productivity of the function as they have evolved in steps by incorporating advances in computer technology into their design. The evolution mainly concerns how order data are prepared and entered into the computer system. Two cases are presented to illustrate such productivity enhancements.
System development
Authors: Cronan Timothy P. , Means Thomas L.
Published: January 2005

Computer systems
1
have become an important part of today's businesses. These systems are commonly used to support the major business functions --- accounting, finance, management, marketing, and production. In the past, professionals relied on data processing (and computer science) personnel to successfully develop computer systems currently used in the decision making process. As computer system utilization increased in business applications, problems developed concerning the acceptability and performance of these systems. The widespread integration of computer systems into areas of business has resulted in a need for clear communication between the user/client and data processing personnel.
Concurrency control and integrity preservation for the `RIM' DBMS
Authors: Honkanen Pentti A.
Published: January 2005

The Relational Information Management System (RIM, specifically, RIM-5) is a relational DBMS [RIM82] which has a syntax that is similar to SOL/DS [AST76, DAT81], but not as powerful, i.e., nested SELECT commands are not supported. However, it and its microcomputer counterpart, MicroRIM, are still powerful DBMS's. The one area in which the RIM system falls short is in concurrency control. In order to maintain integrity, the current version locks out the entire database during update operations. This paper presents a solution to maintaining integrity in the RIM system at a much more local level.
Group decision support systems
Authors: DeSanctis Gerardine , Gallupe Brent
Published: January 2005

An exciting new concept is emerging in the area of decision support. This involves the development of computer-based systems for use by groups of people who are jointly responsible for making decisions. Known as "Group Decision Support Systems" (GDSS) they can be useful to committees, review panels, executive board meetings, task forces, and groups of managers who work together on either a regular or one-time basis. The precise design of a GDSS will vary depending on the proximity of group members to one another and the duration of the decision-making session. This paper presents an overview of the GDSS concept and explores issues related to the design, implementation, and study of these systems.
The organization of the software quality assurance process
Authors: Boger Dan C. , Lyons Norman R.
Published: January 2005

This paper discusses and analyzes approaches to the problem of software quality assurance. The approaches offered in the literature usually focus on "designing in" quality. This can be a productive approach, but there are also benefits to be gained by establishing an independent quality assurance (QA) group to review all aspects of the software development process. This paper discusses the organization of such a group using the function of an operations auditing group as a model.
An investigation of the information center from the user's perspective
Authors: Brancheau James C. , Vogel Douglas R. , Wetherbe James C.
Published: January 2005

This paper reports the findings of a field study conducted to obtain the end-user's viewpoint regarding the Information Center as a concept, and as an organization deployed in the user's own company. The study was conducted during 1985, and involved over 50 end-users in five
Fortune
1000 corporations. Semi-structured interviews were used to obtain the user's viewpoint on such issues as: the
importance
of information center services, the
effectiveness
of those services as delivered in the user's own company, and the use and importance of
other sources
for similar services. In addition,
critical success factors
for information centers, and users opinions on the anticipated
future need
for information center services were also solicited. Results of the field interviews are presented and analyzed, with suggestions made on the conclusions that can be drawn in terms of managing and delivering information center services.
How should applications be developed?
Authors: Sumner Mary R.
Published: January 2005

In his text,
Application Development without Pro
grammers, James Martin argues that many of the problems of traditional systems development, including long development cycles, formal requirements specification, and formal maintenance procedures, can be overcome by providing users with the tools to develop their own applications. In the environment Martin describes, users will use report and application generators to make queries and to generate reports from existing databases. Working with systems analysts, users will also create prototypes of systems they need. (Martin, 1982, p. 55).
Computer-aided software engineering (CASE)
Authors: Case Albert F.
Published: January 2005

Today, system developers are challenged to produce complex, high quality software to support explosive demand for new and revised computer applications. This challenge is complicated by severe resource constraints, forcing management to deploy new technologies, methods and procedures to manage this increasingly complex environment. Often the methods, procedures and technologies are not integrated. Therefore, they achieve less than desired improvements in productivity, or force management to make tradeoff decisions between software quality and developer efficiency.Computer-Aided Software Engineering (CASE) helps system developers meet their challenge by providing a new generation of integrated system development tools which provides an automated environment in which to design and implement system projects. CASE technology enables system developers to improve both quality and efficiency, resulting in a net improvement in maintenance and development productivity.The objectives of this paper are to provide the reader with sufficient information about CASE technology to develop an evaluation and implementation strategy for utilizing CASE to improve systems development productivity.
A decision table approach to system analysis
Authors: Pollack Solomon L. , Hicks Harry , Harrison William
Published: January 2005

Before the programming step, which is meant to define a solution to a problem, the problem itself must be defined. The total problem must be separated from other related, or unrelated, problems and broken down into manageable units. Often, problems must be combined rather than divided, or the viewpoint taken of the problem must be completely altered.
Data management fact and fiction
Authors: Treanor Richard G.
Published: January 2005

A review of the evolution of the methods of handling data and the file structures entailed, how applicable these systems are, and what are the trade-offs.
A special report on the SIGBDP forum "the new data base task group report"
Authors: Hare Van Court
Published: January 2005

CODASYL (Conference on Data Systems Languages) is an informal and voluntary organization of interested individuals, supported by their institutions, who contribute their efforts and expenses toward the end of designing and developing techniques and languages for data systems, analysis, design, and implementation.
Data base systems for small business
Authors: Benbasat Izak , Goldstein Robert C.
Published: January 2005

A number of generalized data base management systems (DBMS) have recently been introduced that are designed to run on minicomputers. Since a DBMS is normally considered to be a very large, complex piece of software, the very existence of these programs represents an impressive accomplishment of software engineering. The purpose of this article is to analyze some implications of this development.
Data base management systems on minicomputers
Authors: Zornes J. Aaron
Published: January 2005

Since the mid-1960s, there have been tremendous advancements in minicomputer hardware and software. More recently, there has been the implementation of comprehensive file management techniques and data base management systems (DBMS).
Review of "Management Data Bases, by R. Clay Sprowls"; Wiley/Hamilton, 1976
Authors: Lasky Jeffrey
Published: January 2005

This text is heavily oriented toward having readers design
and
implement a data base for a defined business activity, such as sales. Chapters One, "The Developing Data Base Environment," Five, "Logical Structures or Why Data Bases," and Eight, "Some Design Guidelines," contain excellent material for motivating the reader to think about the data base approach in a context of supplying informa- tion to business managers. The latter part of Chapter Five contains the initial definition of the purchase order example which is used throughout the text. Chapter Eight exposes the student to the reasoning which supports the author's solution to the purchase order design problem. A normalizing procedure is used as an integral part of the design process.
Review of "Strategic Planning for MIS, by Ephraim R. McLean & John V. Soden"; Wiley-Interscience, 1977
Authors: Altshuler Gene
Published: January 2005

With all my prejudices showing, I approached
Strategic Planning for MIS
. When the book was presented to me for review, I was told that it was a collection of selected readings. This caused me to want to reject it out-of-hand, for I could not stomach another collection of essays or monographs, connected loosely with an all-encompassing title, and where the editors, at best, appended a hundred words or so at the beginning of each chapter alleging to put it into context. I felt I could not psych myself up to struggle through a dozen different styles of writing, often times photo-reproduced from the original, thus displaying a dozen different type fonts replete with hand-drawn diagrams. I just was not in the mood for another "cheap shot" at a book by two editors.
The information systems management system
Authors: Zachman John A.
Published: January 2005

Considering the fundamental economic changes that are taking place in our nation, in which we find ourselves in transition from resource "fat" to resource "lean" conditions, it is not surprising that there should be a rekindled interest in planning and control techniques that will enable us to preclude suboptimization, or dissipation of our resources.
Review of "The Environment for System Programs, by F. G. Withington", Addison-Wesley Publishing Company, 1978
Authors: Barkin Stephen R.
Published: January 2005

One of the ongoing problems facing business data processing has been that many of our programming personnel have come to us with educational and professional backgrounds that are nonbusiness related. As such, their knowledge of the users, organizations and products for which programs are designed is initially limited. Until a thorough understanding of the environment in which they function is obtained, these programmers must have a limited effectiveness. Fred Withington has given us a product that will quickly provide a fundamental understanding of this business data processing environment.
Review of "High Level COBOL Programming, by G. Weinberg, S. Wright, R. Kauffman, M. Goetz", Winthrop Publishers, Inc., 1977
Authors: Barkin Stephen R.
Published: January 2005

This is a book for those organizations or programmers who are interested in establishing, improving or verifying their programming standards. Recognizing the heavy investments in programming, this is a handbook of COBOL style, documentation technique and testing standards that if referenced may well save bucks and increase quality and control.
Review of "The Data Center Disaster Consultant, by K. W. Lord Jr.", QED Information Sciences, Wellesley, MA, 1977
Authors: Barkin Stephen R.
Published: January 2005

A topic of increasing concern in recent years has been the protection of the physical components of computer systems and data from the unauthorized hands of man and nature. This presents little that is not common sense, little that we could not sit down ourselves and, given the time, conclude. Its contribution to the literature, however, is that it presents a rather complete and concise coverage of this important topic. The language is terse and topics are covered too quickly, but the checklists provided could be an important asset to the computer center manager. This book should be strongly considered by those interested in this topic.
Review of "The Compleat Computer, being a compendium of tales of the amazing and marvelous, poetry, information news items, cartoons plus many other illustrations with a special selection of splendiferous science fiction art in full color, by D. Van Tassel", SRA, 1976
Authors: Barkin Stephen R.
Published: January 2005

Most of the reviews we've seen in
DATA BASE
have been industrially or academically oriented and aimed at providing information to assist you in professional development. For a change, I thought it would be interesting to review a book that is written for fun reading. Dennie Van Tassel has compiled a collection of articles that cover the world of computing from computer chess to computer crime. There is something to interest everyone in this book. Most of the articles are one to three pages long. If you want to acquaint your wife or children with what you do, this is the book for it.
Hidden costs in Ada
Authors: Bennett David A. , Kornman Brent D. , Wilson James R.
Published: January 2005

The purpose of Ada is to provide the Department of Defense with a common language in order to reduce software production costs across the realm of embedded systems. This paper discusses whether the costs inherent in Ada will offset the savings characteristic in common language and expected by DoD.Ada is examined by looking at three aspects: uniformity, portability, and reliability. A justification for uniformity is followed by a discussion of how Ada reflects this aspect of language design. We then discuss portability, its importance to a common language, and how it is vital if an overall software production cost savings is desired in multiple implementations of Ada. Next, we discuss the reliability of code written in Ada based upon general principles of software engineering and compiler design, and on recent studies in producing large embedded systems. Finally, we conclude by collecting the results of our discussions and assessing the economic benefit and overall cost of Ada.
Taming Ada for introductory teaching purposes
Authors: Pagan Frank G.
Published: January 2005

A nested sequence of highly constrained Ada subsets is presented, suitable for use in teaching introductory programming.
The Ada atom system environment
Authors: Levy Arnold J.
Published: January 2005

The Ada atom system allows a team of programmers to work in conjunction with each other in implementing systems written in Ada (1). The system is presented in a strict top-down fashion, and features interactive dialogue with the project team members.
Commercial applications software in Ada
Authors: Crafts Ralph E.
Published: January 2005

In October, 1981, INTELLIMAC made a corporate commitment to ADA as the language of choice for software development. This decision was based on five months of experience with TeleSoft's ADA compiler, and the further implementations of ADA that were scheduled through mid-1982. INTELLIMAC has, since that time, used ADA exclusively for contracted and in-house software development. The hardware configuration utilizes the Motorola 68000 microprocessor on both the Q-bus and the Multi-bus.
Extending Ada legally via pre-processors
Authors: Chambers John M.
Published: January 2005

Ada's limitations can in many cases be circumvented easily and legally via pre-processors that recognize non-Ada constructs and translate them to Ada. A useful example is the C macro pre-processor, which can be used as-is to extend Ada's strict typing to allow Fortran-like re-definition of the layout of an array.
Review of "Ada™ An Introduction by Henry F. Ledgard". Springer-Verlag, N.Y., 1981, ISBN 0-387-90568-5.
Authors: Davis Mark W.
Published: January 2005

This book contains two parts: Ada: An Introduction by Henry Ledgard (131 pp.), and the November 1980 version of the Ada Language Reference Manual (225 pp.). (The review deals only with Ledgard's Introduction.) The intent of the Introduction is to "...emphasize the concepts that form the foundation of the language, rather than attempt to describe the entire language or to provide a self-contained guide for writing programs. Our objective is to convey the essence of the language, mainly through examples." [Preface]
Dear Ada
Authors: Booch Grady
Published: January 2005

Dear Readers
: No, I've not dropped off the face of the earth, but thanks to an unusually heavy travel schedule, I've had to defer this column for two issues. In the meantime, I've collected quite a healthy backlog of letters, so let me dig into this pile and try to catch up on some interesting issues. In this column, I'll address some coding topics, plus a practical concern regarding recompilation overhead in the presence of program unit change.
An informal overview of CADA
Authors: Buhr R. J. A. , Karam G. M.
Published: January 2005

CADA is a design environment for Ada being developed at Carleton University. It is based on an extended version of a graphical design methodology used in Buhr's "System Design With Ada" book. This methodology provides the designer with a vehicle for both reasoning about the design and focusing the design effort. CADA's intended application area is embedded system design. Its claim to being a design environment arises from its integration of (1) a design methodology, (2) a design entry system (graphical paradigms), (3) a design data base, and (4) design tools, for evaluation, analysis and output. The design data base and the majority of the design tools are written in Prolog. The use of Prolog facilitates the incremental addition of design tools. The environment facilitates the incremental development and analysis of designs. A skeleton version of CADA was demonstrated in September 84, showing the use of graphics to capture the logical structure of the system under design in a Prolog design data base and the generation from this design data base of partial Ada source code for the system under design. The significant points to note about the skeleton system are that it provides a basic, necessary capabililty through a very general mechanism which can serve as the basis for an advanced environment.
Methodology and environment relationships
Authors: Marmor-Squires Ann , Wileden Jack
Published: January 2005

The charter of Working Group 4 was to articulate the roles, relationships and interactions between software engineering methodologies and programming support environments, especially as they relate to the software development process. In section 2 we develop a taxonomy of methodology which we found to be a useful framework for our discussions. In section 3 we present several observations about the state-of-the-art of methodologies and implications for environments of supporting one methodology vs. multiple methodologies. In section 4 we present a list of research directions that should be pursued.
User interfaces
Authors: Braesicke Carl , Dean Jeff , Fisher Dave , Holder Jim , McKinney Rand , Nagarsenker Panna , Perry Dewayne , Rossomando Phil , Standish Tim , Wisehart Dick
Published: January 2005

In Section 2, we discuss influences that affect the design of user interfaces with desirable characteristics. In Section 3, we present a list of ten desirable characeristics for user interfaces. For each of these, we provide explanations and we give specific examples of what we mean.
Report of environment architecture working group
Authors: Redwine S. , Belx F. , Oldham P. , Riddle W. , Boehm-Burris L. , Erdos M. , Morse H. , Nadolna D. , Osterwell L. , Pow C. , Rife J. , Rudmik A. , Safran M. , Schwanke R. , Taylor R. , Wilson P.
Published: January 2005

The Environment Architecture group addressed the nature and roles of an architecture for a software engineering environment and how a next generation environment might look. An architecture can be thought of a number of different ways including as:• The accumulated information on the high level design• A set of descriptions, renditions, or views• What was decided first in designing the environment• A document addressing "architectural" issues.All of these have some merit when one considers the main uses of an architectural description. It is a record of design decisions, an aid in understanding the environment, an aid in evaluation and comparison of environemnts, and serves the needs of different audience --- primerily the architect, the user, and the tool builder.
An architecture for pup services on a distributed operating system
Authors: Fleisch Brett D.
Published: January 2005

At the University of Rochester the computer science department has had six years of experience in the design and implementation of a multiple-machine, multiple network distributed system called RIG. Rochester's Intelligent Gateway (RIG) [1,2,3] is a dual processor gateway which connects three computer networks to provide convenient access to a wide range of computer facilities. RIG was built to serve as an intermediary between the human user (working through a display terminal or personal computer) and a variety of computer systems. The bulk of the user's computational requirements is met by these systems, which are either partially integrated into the RIG system through a fast local network or loosely coupled to it through the ARPANET. RIG also provides a number of basic services such as printing, plotting, local file storage, and support for a number of display terminals.
A computer system supporting data abstraction
Authors: Madsen Johannes
Published: January 2005

A computer system designed to support operating system facilities is formally specified. With the proposed technology, an operating system in the conventional sense of the word becomes superfluous. Instead, the facilities supported by e.g. a general-purpose operating system may be implemented as applications of the proposed computer system. This is made possible by the ability of the proposed system to support data abstraction rather than procedural abstraction as supported by conventional systems. The design is revolutionary in the integration of "processing" and "filing", as supported by the conventional systems "process" and "file" concepts. This is achieved by supporting a single system object, the "domain", which is an extension of the domain concept known in a number of systems. The capability concept will enable domains to reference each other in a network-like structure.A rationale for the use of data abstraction in operating systems can be found in [Madsen 79b].
Generic terminal support
Authors: Hillsberg Bruce Light
Published: January 2005

Modern computing trends attempt to raise applications programming to a level where the programmer need know very little, if anything, about the hardware being used. This trend has been quite successful in the area of I/O support. Applications programmers rarely need be concerned with the details of differences about the hardware they use. However, with the advent and growing popularity of "smart" CRT terminals, programmers that desire to use the features of these smart terminals must learn the protocols that invoke the desired functions. This problem is compounded by the fact that [almost] every terminal vendor has a different protocol for each function. For example, to clear the screen on the IBM 3101 [1] the sequence ESC "L" is used, while on the Lear Siegler ADM-3A [2] a Control/Z is used. The purpose of this paper is to propose a solution to this problem and describe a partial implementation of the ideas presented. The solution consists of three levels: (i) the level visible from application, (ii) the host system support level, and (iii) the front-end support level.
An algorithm for resource location in a loosely linked distributed computer system
Authors: Lunn K. , Bennett K. H.
Published: January 2005

This paper introduces an algorithm for locating resources in a distributed computer system which is low on processing requirements and on message-passing demand. The algorithm is intended for a loosely linked system with a message-passing mechanism within and across nodes. Such a system might well evolve as an integration of machines via a local area network.
XOS
Authors: Miller Barton , Presotto David
Published: January 2005

This paper describes the fundamentals of the X-TREE Operating System (XOS), a system developed to investigate the effects of the X-TREE architecture on operating system design. It outlines the goals and constraints of the project and describes the major features and modules of XOS. Two concepts are of special interest: The first is demand paging across the network of nodes and the second is separation of the global object space and the directory structure used to reference it. Weaknesses in the model are discussed along with directions for future research.
Tunis
Authors: Holt R. C.
Published: January 2005

TUNIS (Toronto UNIversity System) is a portable operating system that is compatible with Version 7 of UNIX (a Western Electric trademark). In general a program that executes under the UNIX "kernel" can as well run under TUNIS. The format of TUNIS files is the same as that of UNIX, so TUNIS and UNIX should be transparently interchangeable (except for minor caveats).
Triple-handed dining philosophers
Authors: Rana S. P.
Published: January 2005

The dining philosophers problem was originally coined by Prof. Dijkstra, [1], to investigate synchronizing mechanisms in co-operating sequential processes. A profound interest was aroused by the dining philosophers in the subsequent period. This interest has been sustained to this hour when we have jumped with our shoes on in the pond of distributed computing. The distributed counterpart of the dining philosophers problems is considered by Chang, [2], and Rana, [3], recently for the investigation of decentralized control algorithms.
Efficient semaphore management using read/modify/write memory cycles
Authors: Weatherly Richard M. , Leathrum James F.
Published: January 2005

Denning and Dennis [1] give a method of minimizing semaphore contention utilizing tagged memory, semaphore words, and indivisible microcode segments. A similar method, inspired by their work, has been developed which further reduces the amount of time spent in the critical mutually exclusive section of the semaphore management software. Additionally, through the use of a special read/modify/write memory arrangement, may semaphore operations can be performed in one instruction cycle with the remainder being executed with a minimum of memory contention.
Identifier protection in a distributed operating system
Authors: Nessett D. M.
Published: January 2005

Donnelley and Fletcher recently presented a scheme to protect capabilities in a distributed operating system.
1
This scheme uses public-key encryption to ensure that capabilities cannot be stolen in a form useful to the thief nor forged by an unauthorized process or user. Unfortunately, security and efficiency considerations make currently available public-key encryption techniques unattractive.
Processor management in a concurrent Pascal kernel
Authors: Kruijer H. S. M.
Published: January 2005

The main purpose of this paper is to discuss processor management in a Concurrent Pascal Kernel for PDP-11 computers, by comparing three algorithms for dealing with an aspect of processor allocation.This Kernel performs functions which are comparable with those performed by central parts (often termed "executive" or "monitor") of many operating systems. As an introduction to the detailed discussion of the Kernel's processor management, an overview of its function and structure is given first. In this way this paper serves another purpose, in that it shows how such operating system "kernels" can be constructed in general.
Efficient local checkpointing for software fault tolerance
Authors: Kant Krishna
Published: January 2005

The Recovery Block (RB) concept proposed by Randell [1] for implementing software fault tolerance involves the establishment of local checkpoints (LCP) whenever a process enters a RB. In order for the scheme to be practical, it is important that the overhead of this checkpointing be small both in time and storage. Therefore, we must look into alternatives to simply caching the complete process state at the point of entry to a RB. Since the checkpointing mechanism need be concerned with only those variables that are modified within a RB, an obvious approach is to keep only the previous (i.e. unmodified) values of these variables. In this note, we examine some implementation difficulties with this approach and then propose a somewhat unusual scheme which saves only the modified values at the end of a RB execution.
Operating systems
Authors: Fleisch Brett D.
Published: January 2005

A number of well designed operating systems have been built. However, an important question is: What can be done to improve operating systems in a
significant
way? In what direction are we headed? The answer, to me, is clear.
Architecture quality
Authors: Kavi Krishna M. , Krishnamohan K.
Published: January 2005

During the past few years, researchers in Computer Architecture have seen a number of new, so called "non- von Neumann" innovations. Some of these innovations are finding their way into commercial computers, while others are relegated to the back waters of research logs. There are several reasons for the reluctance of manufacturers in implementing new ideas. One of the important reasons cited by the panel at NCC 81 [1] is the lack of quantitative data substantiating the benefits of the innovations. As one of the panelists remarked, "we need an order of magnitude improvements, hopefully in base 10", before new architectures can find their way into commercial computers.
Data communications
Authors: Owen Kenneth
Published: January 2005

A vital common thread which runs through virtually all current advances in implementing and operating computer-based systems is that of data communications. The interconnection of the various elements of complete systems in new ways has become the driving force behind a substantial research and development effort.
Distributed file systems - a survey
Authors: Hac Anna
Published: January 2005

There exist a number of file systems with different solutions to the problems of data access, concurrency control [1], serializing transactions [5], deadlock control and recoverability. There are pros and cons to every solution, and not all solutions are independent of each other. Also, depending on the applications, a file system can be designed in several different ways.
Data-dependent concurrency control and recovery
Authors: Weihl William E.
Published: January 2005

Maintaining the consistency of long-lived, on-line data is a difficult task, particularly in a distributed system. A variety of researches have suggested
atomicity
as a fundamental organizational concept for such systems. In this paper we present a formal treatment of atomicity. Our treatment is novel in three respects: First, we treat serializability and recoverability together, facilitating the precise analysis of online implementations. Second, we explore how to analyze user-specified semantic information to achieve greater concurrency. Third, we focus on local properties of components of a system, thus supporting modular design. We present three local properties, verify that they ensure atomicity, and show that they are optimal. Previously published protocols are suboptimal. We show that these differences are the result of fundamental limitations in the model used to analyze those protocols; these limitations are not shared by our model.
Implication and equivalence I / O
Authors: Lakhotia Arun
Published: January 2005

We here introduce the idea of 'implication' and 'equivalence' of I/O devices (Sec. I). 'Implication' and 'equivalence' are relations defined between devices. If a device-A implies device-B then operations performed on A are also performed on B. If device-A and device-B are equivalent the operations performed on a are performed on B also, and vice-versa. These device relations are analogous to algebraic 'implies' and 'equivalence' relations (Sec. II). Thus they promise the power of algebraic manipulations on the 'logical' devices. We cite some existing examples of cases where such relations may be defined, though in a primitive form. We conclude by citing some areas of utility for this power.
Draw a computer scientist
Authors: Martin C. Dianne
Published: January 2005

Each fall in the first class of the introductory computer science course I do an opening exercise with the incoming freshmen students. I give out a short survey asking for some general demographic information about them - gender, age, nationality, and prior computer experience. Then I ask them to do two things that have produced some interesting results. First, they are asked to answer the question, "what is computer science?" The majority of the students answer the question with a reference to programming. Many say they really don't know and hope they will find out in the class. Others mention the study of hardware and software. A few even use the word algorithm. These results clearly indicate that our profession is not doing a good job communicating the diversity and complexity of our field to the general public and to high school students in particular.
Students becoming political and "incorrect" through agile methods
Authors: Clear Tony
Published: January 2005

At the risk of being condemned as a software engineering heretic, it seems to me that notions of accuracy and correctness of software have intuitive appeal, but are difficult if not impossible to achieve in practice. The search for this chimera of "correctness" has misled many highly intelligent and technically capable developers into the quest for rigour in design, rather than rigour in requirements. But what does rigour in requirements mean? If we believe, with Boehm and colleagues [1] that "There is no complete and well defined set of requirements ready to be discovered in system development", what then is the requirements correctness criterion? And furthermore what is the correctness criterion for an implemented software system.
Information systems and the overview report for computing curricula 2004
Authors: Gorgone John T.
Published: January 2005

My purpose is to inform you of the draft "Overview Report" for Computing Curricula 2004 and Information Systems (IS) role in it. This draft report is available for comment. It is the first volume in a computing compendium, referred to as Computing Curricula. This is a cooperative project of ACM, AIS, and IEEE-CS. The "Overview Report" includes a guide to undergraduate degrees in computing, including Computer Engineering, Computer Science (CS2001), Information Systems (IS2002), Information Technology, and Software Engineering. The completed or draft report for the curricula is located at the ACM web site, acm.org.
Academic honesty in the classroom
Authors: Walker Henry M.
Published: January 2005

Discussions of academic honesty typically focus on student responsibilities:• What are effective approaches to teach students to follow basic rules of citation, quotation, and paraphrasing?• What mechanisms should teachers employ to identify potential cases of plagiarism?• What procedures should classroom or college establish to investigate suspected cases of academic dishonesty, maintaining the integrity of academic work while protecting students' rights for due process?
Helipad
Authors: Ginat David
Published: January 2005

The new challenge in this issue involves processing of a two-dimensional array. The processing of such a structure is relevant in various computer science application, such as geographical applications, image processing, graphics, and more. The new challenge may be easily solved inefficiently. The challenge is to solve it elegantly and efficiently.
ICE™ and ICE/T™
Authors: Boyer Truman Parks , Chitsaz Mohsen
Published: January 2005

ICE (Intermediate Code Engine) and ICE/T (ICE/Translator) are compiler back ends that execute on a Java Virtual Machine (JVM). They allow the student to complete a working compiler quickly and can execute on any platform that supplies a JVM. ICE is a quadruple interpreter that executes ICE code directly, and includes an assembler, which a builder can use to side-step most symbol management issues. ICE/T is a translator that accepts ICE assembly code as input, and generates an equivalent Java class file as output. This paper advocates the use of these tools in compiler implementation courses.
SQL-based discovery of exact and approximate functional dependencies
Authors: Matos Victor , Grasser Becky
Published: January 2005

Students in a typical database course are introduced to theoretical design from a functional dependency standpoint. Functional dependencies are rules of the form X→Y, where X and Y are attributes of a relation r(R). Those rules express the potential one-to-one, and many-to-one relationships among the atributes of R. Unfortunately finding the non-trivial rules X→Y from an existing arbitrary relation is a hard problem. We present an extension of the SQL-based algorithm of Bell and Brockhausen [1] to explore a relation and find its exact and approximate functional dependencies. We use the
g3
measure of Kivinen and Mannila to express the degree of approximation of a dependency. This application could be used either as an example or a project in an advanced database course.
Bioinformatics and computing curricula 2001
Authors: LeBlanc Mark D. , Dyer Betsey D.
Published: January 2005

In this paper, we argue that computer science as a discipline is well-positioned to produce significant players in the growing interdisciplinary field of bioinformatics. We estimate that our own recent research in genomics with undergraduates intersected with 10 of the 14 Knowledge Focus Groups (KFG) and used content from 45% of the core topics found in the new computing curriculum standards (CC2001). The strong mapping between the needs of the bioinformatics community and the core topics in computer science serves as an open invitation for faculty to develop bioinformatics-related course materials for their own courses and areas of expertise.
Experimentation in the computer programming lab
Authors: Walker Gary N.
Published: January 2005

Applying active learning exercises to supplement passive learning activities such as lecture achieves positive educational results. The use of laboratory experiments as employed in the natural sciences transfers well to the computer science laboratory. Application of laboratory experiments that promote experimentation, provide for drill and practice, and reinforce inter- and extra-classroom efforts results in positive educational outcomes, student attitudes, and teacher attitudes. Exercises targeted to all six levels of learning abstraction in Bloom's taxonomy can be incorporated into the laboratory experiment model.
Challenges and the elements of success in undergraduate research
Authors: Wenderholm Elaine
Published: January 2005

Faculty are often hesitant to undertake undergraduate research projects since they often ask themselves whether undergraduates have sufficient training and knowledge to conduct research. Additionally faculty researchers may not have experience in project planning and management. This paper suggests effective strategies for success, based upon my experience directing a four-year research project.
A problem-based approach to teaching design patterns
Authors: Cinnéide Mel Ó , Tynan Richard
Published: January 2005

The traditional lecture-based approach to course delivery is particularly inappropriate in teaching design patterns effectively. In this paper, we describe our efforts to develop a problem-based approach to the introduction of design patterns in the undergraduate curriculum. Our principal contribution is the development of a set of pattern exercises that enables students to experiment with patterns and to see clearly the advantages accrued by using patterns.
An alternative problem for backtracking and bounding
Authors: Rolfe Timothy J. , Purdom Paul W.
Published: January 2005

One of the programming problems in the 2002 Pacific Northwest regional ACM ICPC contest provides a new way to teach backtracking and also provides a very powerful example of a forward-looking bounding function. This article presents the problem, the bounding function, and timing information of implementations with and without the bounding function. It also provides the URL for access to the programs themselves.
A first course in genetic programming
Authors: Pillay Nelishia
Published: January 2005

Genetic programming is a machine learning technique introduced in the early nineties. Since its inception research into the applications of genetic programming and methodologies for overcoming the limitations of the technique has grown. This paper proposes a first course in genetic programming at the postgraduate level. The paper examines the objectives and outcomes, teaching strategies and assessment methods for such a course. The results of an evaluation of the course is also presented. Future improvements that will be made to the course are discussed.