Computing Handbook Computer Science and Software Engineering 3rd Edition Allen B. Tucker 2024 scribd download
Computing Handbook Computer Science and Software Engineering 3rd Edition Allen B. Tucker 2024 scribd download
com
https://ebookultra.com/download/computing-
handbook-computer-science-and-software-
engineering-3rd-edition-allen-b-tucker/
https://ebookultra.com/download/programming-languages-principles-and-
paradigms-2nd-edition-allen-b-tucker/
ebookultra.com
https://ebookultra.com/download/software-engineering-and-computer-
games-1st-edition-rucker/
ebookultra.com
https://ebookultra.com/download/think-python-how-to-think-like-a-
computer-scientist-3rd-edition-3rd-early-release-allen-b-downey/
ebookultra.com
https://ebookultra.com/download/software-engineering-handbook-1st-
edition-jessica-keyes/
ebookultra.com
Computer Science Illuminated Revised Nell B. Dale
https://ebookultra.com/download/computer-science-illuminated-revised-
nell-b-dale/
ebookultra.com
https://ebookultra.com/download/essentials-of-software-
engineering-3rd-edition-frank-tsui/
ebookultra.com
https://ebookultra.com/download/the-dark-side-of-software-engineering-
evil-on-computing-projects-1st-edition-johann-rost/
ebookultra.com
Computing Handbook Computer Science and Software
Engineering 3rd Edition Allen B. Tucker Digital Instant
Download
Author(s): Allen B. Tucker, Teofilo Gonzalez, Jorge Diaz-Herrera
ISBN(s): 9781439898536, 1439898537
File Details: PDF, 24.39 MB
Year: 2014
Language: english
COMPUTING
HANDBOOK
THIRD EDITION
Computer Science and
Software Engineering
COMPUTING
HANDBOOK
THIRD EDITION
Computer Science and
Software Engineering
EDITED BY
Teofilo Gonzalez
University of California
Santa Barbara, California, USA
Jorge Díaz-Herrera
Keuka College
Keuka Park, New York, USA
EDITOR-IN-CHIEF
Allen Tucker
Bowdoin College
Brunswick, Maine, USA
MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy
of the text or exercises in this book. This book’s use or discussion of MATLAB® software or related products does not consti-
tute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB®
software.
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to
publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials
or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material repro-
duced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any
copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any
form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming,
and recording, or in any information storage or retrieval system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copy-
right.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400.
CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been
granted a photocopy license by the CCC, a separate system of payment has been arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identifica-
tion and explanation without intent to infringe.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
v
vi Contents
9 Cryptography������������������������������������������������������������������������������������������������� 9-1
Jonathan Katz
10 Algebraic Algorithms����������������������������������������������������������������������������������� 10-1
Ioannis Z. Emiris, Victor Y. Pan, and Elias P. Tsigaridas
11 Some Practical Randomized Algorithms and Data Structures������������������� 11-1
Michael Mitzenmacher and Eli Upfal
12 Approximation Algorithms and Metaheuristics����������������������������������������� 12-1
Teofilo F. Gonzalez
13 Combinatorial Optimization����������������������������������������������������������������������� 13-1
Vijay Chandru and M.R. Rao
14 Graph Drawing��������������������������������������������������������������������������������������������� 14-1
Ioannis G. Tollis and Konstantinos G. Kakoulis
15 Pattern Matching and Text Compression Algorithms�������������������������������� 15-1
Maxime Crochemore and Thierry Lecroq
16 Distributed Algorithms�������������������������������������������������������������������������������� 16-1
Dan Alistarh and Rachid Guerraoui
The purpose of the Computing Handbook Set is to provide a single, comprehensive reference for spe-
cialists in computer science, information systems, information technology, software engineering, and
other fields who wish to broaden or deepen their understanding in a particular subfield of the comput-
ing discipline. Our goal is to provide up-to-date information on a wide range of topics in a form that is
accessible to students, faculty, and professionals.
The discipline of computing has developed rapidly since CRC Press published the second edition of
the Computer Science Handbook in 2004 (Tucker, 2004). Indeed, it has developed so much that this third
edition requires repartitioning and expanding the topic coverage into a two-volume set.
The need for two volumes recognizes not only the dramatic growth of computing as a discipline but
also the relatively new delineation of computing as a family of five separate disciplines, as described by
their professional societies—The Association for Computing Machinery (ACM), The IEEE Computer
Society (IEEE-CS), and The Association for Information Systems (AIS) (Shackelford et al., 2005).
These separate disciplines are known today as computer engineering, computer science, information
systems, information technology, and software engineering. These names more or less fully encom-
pass the variety of undergraduate and graduate degree programs that have evolved around the world,
with the exception of countries where the term informatics is used for a subset of these disciplines. The
document “Computing curricula 2005: The overview report” describes computing this way (Shackelford
et al., 2005, p. 9):
In a general way, we can define computing to mean any goal-oriented activity requiring, benefit-
ing from, or creating computers. Thus, computing includes designing and building hardware and
software systems for a wide range of purposes; processing, structuring, and managing various
kinds of information; doing scientific studies using computers; making computer systems behave
intelligently; creating and using communications and entertainment media; finding and gathering
information relevant to any particular purpose, and so on.
To add much flesh to the bones of this very broad definition, this handbook set describes in some
depth what goes on in research laboratories, educational institutions, and public and private organiza-
tions to advance the effective development and utilization of computers and computing in today’s world.
The two volumes in this set cover four of the five disciplines in the following way:*
1. Volume I: Computer Science and Software Engineering
2. Volume II: Information Systems and Information Technology
* The fifth discipline, computer engineering, is the subject of a separate handbook published by CRC Press in 2008.
xiii
xiv Preface to the Computing Handbook Set
This set is not designed to be an easy read, as would be gained by browsing a collection of encyclope-
dia entries on computing and its various subtopics. On the contrary, it provides deep insights into the
subject matter through research-level survey articles. Readers who will benefit most from these articles
may be undergraduate or graduate students in computing or a related discipline, researchers in one area
of computing aiming to expand their knowledge of another area, or other professionals interested in
understanding the principles and practices that drive computing education, research, and development
in the twenty-first century.
This set is designed as a professional reference that serves the interests of readers who wish to explore
the subject matter by moving directly to a particular part and chapter of the appropriate volume. The
chapters are organized with minimal interdependence, so that they can be read in any order. To facili-
tate rapid inquiry, each volume also contains a table of contents and a subject index, thus providing
access to specific topics at various levels of detail.
The Preface to Volume I provides a more detailed overview of the organization and content of this
volume. A similar overview of the coverage of information systems and information technology appears
in the Preface to Volume II.
Preface to Volume I:
Computer Science and
Software Engineering
This volume is organized to mirror the modern taxonomy of computer science and software engineering
as described by the ACM and IEEE-CS (Joint Task Force, 2012):
Algorithms and Complexity
Architecture and Organization
Computational Science
Discrete Structures
Graphics and Visual Computing
*Human–Computer Interaction
*Security and Information Assurance
*Information Management
Intelligent Systems
Networking and Communication
Operating Systems
Platform-Based Development
Parallel and Distributed Computing
Programming Languages
Software Development Fundamentals
Software Engineering
Systems Fundamentals
Social and Professional Issues
To avoid redundancy, the three starred (*) topics in this list (Human–Computer Interaction, Security
and Information Assurance, and Information Management) are covered in Volume II, while the remain-
ing topics are covered in this volume.
The first eight parts of this volume cover the discipline of computer science (edited by Teofilo Gonzalez),
while the last four parts cover software engineering (edited by Jorge Díaz-Herrrera). Allen Tucker is the
editor in chief of the two volumes.
Computer Science
Implicit in the aforementioned taxonomy (and, indeed, in all current thinking about the nature of com-
puter science) is the idea of a dynamic discipline with an increasingly broad reach. For example, the
computational science area noted earlier emphasizes the necessity of interaction among computer scien-
tists and natural scientists in the many research and educational areas where their work now overlaps.
xv
xvi Preface to Volume I: Computer Science and Software Engineering
A more elaborate description of this idea is expressed in the following definition of computer science,
taken from the 2005 Joint Task Force Report (Shackelford, 2005, p. 13):
Computer science spans a wide range, from its theoretical and algorithmic foundations to cutting-
edge developments in robotics, computer vision, intelligent systems, bioinformatics, and other
exciting areas. We can think of the work of computer scientists as falling into three categories.
1. They design and implement software. Computer scientists take on challenging program-
ming jobs. They also supervise other programmers, keeping them aware of new approaches.
2. They devise new ways to use computers. Progress in the CS areas of networking, database,
and human-computer-interface enabled the development of the World Wide Web. Now CS
researchers are working with scientists from other fields to make robots become practical
and intelligent aides, to use databases to create new knowledge, and to use computers to help
decipher the secrets of our DNA.
3. They develop effective ways to solve computing problems. For example, computer scien-
tists develop the best possible ways to store information in databases, send data over net-
works, and display complex images. Their theoretical background allows them to determine
the best performance possible, and their study of algorithms helps them to develop new
approaches that provide better performance.
The computer science chapters are organized into eight parts: (I) Overview of Computer Science;
(II) Algorithms and Complexity; (III) Architecture and Organization; (IV) Computational Science and
Graphics; (V) Intelligent Systems; (VI) Networking and Communication; (VII) Operating Systems; and
(VIII) Programming Languages. A brief summary of what you can expect to find in each part is pro-
vided in the following.
consisting of $1,000,000 has been offered by the Clay Institute to anyone who solves this problem. At
a more abstract level, Chapter 8 reviews formal methods and computability. This chapter explores the
limits of what is computable within the most basic computing models that are equivalent to current
computer architectures. One of the most complex areas of research is cryptography. Chapter 9 provides
a comprehensive overview of this very important area. Since millions of private transactions take place
on the Internet every second, we need ways to keep them secure and guarantee their integrity. Solutions
in this area require sophisticated mathematical analysis techniques. Chapter 10 addresses the area of
algebraic algorithms. The basic applications in this area are in science and engineering.
As the input size of most computationally complex problems continues to grow (sometimes referred to as
the phenomenon of big data), the study of randomized algorithms has grown considerably in recent years.
Chapter 11 discusses techniques to design such algorithms by presenting algorithms to solve some specific
problems. Another way of dealing with computational complexity is to aim for approximations rather than
optimal solutions. Chapter 12 discusses approximation algorithms and metaheuristics. The different meth-
odologies used in these two areas are surveyed and applied to problems from different disciplines. Algorithms
that take advantage of the combinatorial structure of the feasible solution space are discussed in Chapter 13.
Another important algorithmic challenge is how to visualize data and their structure. Chapter 14 covers the
area of graph drawing, which tries to design algorithms that display information in a clear way according
to given objective functions. In this era of big data, we also need to discover ways of storing, retrieving, and
transmitting it efficiently. Chapter 15 covers strategies for data compression and finding patterns in data
quickly. Chapter 16 studies computing in a landscape where the computations are distributed among many
computers. In this scenario, we need to address the issue of fault-tolerant computing; as the number of inde-
pendent devices grows, the likely failure of at least one of the components increases substantially.
restrictive solutions. The use of computer-based methods for the prediction of fluid flows has seen tremen-
dous growth in the past half century. Fluid dynamics (Chapter 27) has been one of the earliest, and most
active, fields for the application of numerical techniques. Computational astrophysics (Chapter 28) cov-
ers astrophysics, a computationally intensive discipline. Physics and astronomy make heavy use of online
access and data retrieval. Databases, data analysis, and theoretical modeling go hand in hand in this area.
The gravitational n-body problem and its modeling form the basis for cosmology. Chapter 29 discusses the
rich set of computational applications in chemistry. Computational biology/bioinformatics is an area that
has grown tremendously over the last decade. Chapter 30 discusses the interplay between the genetic analy-
sis provided by computational algorithms and the underlying biological processes. Chapter 31 on terrain
modeling examines the computational problems and new insights arising from the analysis of GIS data.
Computer graphics provides the underlying tools for scientific visualization and animation of a wide
variety of real and imaginary phenomena. Chapter 32 discusses the basic geometric primitives manipu-
lated by typical graphics systems. These primitives allow for the efficient representation and manipula-
tion of visual objects in a computer. Chapter 33 covers computer animation, which has become widely
used in the production of movies and videos.
Intelligent Systems
Mathematical logic and declarative programming provide theoretical foundations for artificial intel-
ligence applications, which are called intelligent systems. Chapter 34 explores the use of logic to allow a
system to work in spite of contradictions, dilemmas, and conflicts. Chapter 35 discusses qualitative rea-
soning, which supports reasoning with very little information. This is the first approach that one uses to
understand a problem before developing a more formal or quantitative strategy. Machine learning, dis-
cussed in Chapter 36, is concerned with identifying and exploiting patterns in data to simulate human
learning. Applications of machine learning to real-world problems are widely used on the Internet,
for example, in marketing. Chapter 37 introduces explanation-based learning, which adds inferential
domain theory to expand the reach of statistical machine learning. This theory adds expressiveness to
statistical methods such as Bayesian or Markov models.
Chapter 38 describes searching, which is a basic operation in most computing areas and is par-
ticularly important in intelligent systems where the search domain is often complex. This chapter
explores both blind exhaustive search methods using informed heuristics and optimal heuristics.
Chapter 39 covers planning (the process of creating an organized set of actions) and scheduling
(the process of assigning a set of actions to resources over time). These are basic operations arising
in all sorts of environments and have been studied over the years in several disciplines. Chapter 40
explores natural language processing, or developing systems to understand human languages. In
2011, IBM’s Watson program convincingly won the popular Jeopardy game over the most highly
skilled human competitors. This was a major accomplishment for natural language processing.
Spoken language understanding, covered in Chapter 41, is an emerging field between the areas of
speech processing and natural language processing. This area leverages technologies from machine
learning to create systems that would facilitate communication with users. Chapter 42 covers neural
networks, which have been used to solve a wide range of problems in modeling intelligent behavior.
Chapter 43 deals with cognitive modeling and surveys the methods and models used to understand
human cognition. The semantic basis and properties of graphic models (Bayesian Networks) are
explored in Chapter 44. Applications to reasoning and planning are discussed in this chapter.
effectively. Chapter 45 examines the communications software needed to interconnect computers, serv-
ers, and all sort of devices across networks. The unique aspects of wireless networks are discussed in
Chapter 61 in Part VII. Chapter 46 discusses the routing algorithms that manage information flow across
networks, including the trade-offs that exist among different alternatives. Chapter 47 discusses access
control, which is fundamental for protecting information against improper disclosure or modification.
Compression of images and videos needed for the efficient storage and transmission of these types
of data is covered in Chapter 48. Chapter 49 introduces underwater sensor networks, whose challenges
and techniques are very different from those in other types of networks. Chapter 50 surveys ideas for
transforming the World Wide Web to facilitate interoperability and integration of multiauthored, mul-
tithematic, and multiperspective information services seamlessly. Chapter 51 deals with search engines,
which have become indispensable in almost all aspects of our daily life. It discusses the fundamental
issues involved in designing and constructing search engines that interact with enormous amounts of
information and digest it for users.
Operating Systems
An operating system is the fundamental software that controls all aspects of a computer, its applications,
and its user interface. Chapter 52 discusses processes, the basic software activities that an operating
system manages, and the mechanisms needed for communication and synchronization. Chapter 53
covers thread management, where threads are basic sequences of code that comprise a program running
in a system. Breaking programs and systems into threads is particularly useful in multicore machines,
the modern organization of computers. Virtual memory, discussed in Chapter 54, explains the way in
which computer memory is organized for efficient access in computers. This chapter also discusses how
these techniques apply to other levels of storage and systems. The organization of file systems and sec-
ondary storage is discussed in Chapter 55. The main concern is the use of secondary storage space for
its use as long storage media.
Chapter 56 covers performance modeling of computer systems. Different computer architectures
have different performance limits. The chapter discusses different ways to analyze computer system
performance. Chapter 57 deals with a similar topic but for interconnected distributed computer systems
such as clusters, grids, and clouds. An important issue here is maintaining quality of service during
contention management. The architecture and special applications of real-time systems are discussed
in Chapter 58. In these systems, response must occur within specific deadlines; it is a challenge for the
operating system to schedule processes so that these deadlines are met. The design of distributed operat-
ing systems faces two main challenges: scheduling, covered in Chapter 59, and file systems, covered in
Chapter 60. Mobile devices pose new challenges for operating system design, and these are addressed
in Chapter 61. The proliferation of smart phones and tablets has brought this area to the forefront of
research and development. Chapter 62 provides an introduction to service-oriented operating systems
and concludes this part.
Programming Languages
Programming language research has a rich history, and it has remained vibrant with the development
of modern architectures, networks, and applications. Chapter 63 covers imperative programming lan-
guages, the oldest and probably the most prolific style of programming. These types of languages are in
widespread use and are familiar to software developers in all areas of computing. The object-oriented
programming paradigm discussed in Chapter 64 has become popular as it facilitates modeling real-
world software systems using object decomposition. Another form of programming, logic program-
ming discussed in Chapter 65, has major applications in artificial intelligence and natural language
processing research. Recent developments have been especially active in the areas of multiparadigm
programming languages and scripting languages described in Chapter 66 and Chapter 67, respectively.
xx Preface to Volume I: Computer Science and Software Engineering
Chapter 68 deals with compilers and interpreters, which provide the interface between programs
written in higher-level programming languages and an equivalent encoding that a computer can under-
stand and carry out. Many aspects of this process have been automated, and the techniques and limita-
tions of these processes are also discussed. Every programming language has syntax and semantics.
Syntax refers to the valid strings of characters that define valid programs in the language, and semantics
refers to the meaning of such strings. Chapter 69 covers formal semantics for programming languages.
Chapter 70 describes type systems, which are used in modern programming languages to guarantee
that programs are free of type-related errors. This chapter discusses the formal underpinnings of type
systems as well as their implementations. Chapter 71 covers formal methods, a set of notations and tools
that provide a mathematical basis for proving the correctness of a program with regard to its formal
specification.
Software Engineering
As an academic field of study, software engineering was introduced in the early 1970s as a specialization of
computer science and engineering, first as master-level programs. In the 1990s, the field proliferated in North
America, Europe, and Australia, first in the form of BS programs and, more recently, programs at the PhD
level; that is, software engineering programs separate from computer science programs (Lethbridge et al.,
2006). What is the difference and why do we care?
Software is of critical importance in today’s world and of increasingly serious public significance in
our daily lives for our safety and security. Although the voicing of concerns about the critical conse-
quences of not considering software development as a more rigorous profession dates back to the late
1960s (Naur, 1969), today software engineering is still not a fully formed, mature professional discipline.
This seems more of an elusive goal than a concrete reality or even a future possibility. Some wonder if
trying to retrofit software engineering with the traditional engineering paradigm has hindered its accep-
tance as a professional discipline. Particularly lacking is a widespread recognition of software develop-
ers as professionals in the full sense of the word.*
Over the past decades, we have identified scientific and engineering body of knowledge needed to
solve technical software problems that meet user requirements (functional and otherwise) and deliver
software within budget, on time, as well as within its economic, legal, and social considerations. The
study of engineering requires a strong background in mathematics and the physical sciences. Although
this is not different for software engineers, the kind of mathematics and the specific science may be dif-
ferent from more traditional engineering disciplines. However, a legitimate research question remains
on whether there could be a scientific basis for understanding the complexity of software such that it can
be engineered to have predictable quality and behavior.
Ian Sommerville (1999) introduced the idea that software engineering is perhaps something else: “In
essence, the type of systems which we are interested in are socio-technical software-intensive systems.…
Systems, therefore, always include computer hardware, software which may be specially designed or
bought-in as off-the-shelf packages, policies and procedures, and people who may be end-users and pro-
ducers/consumers of information used by the system.” Furthermore, Sommerville and his colleagues
claim that “there is no technical solution to software complexity” (Sommerville, 2012).
The fact that computing has become a distinct branch of knowledge, that is, a discipline in its own
right different from science and engineering—an idea first formally introduced by Denning (1998) and
further developed by Denning and Freeman (Denning, 2009)—fits this notion as has been demonstrated
by the creation of a unifying and enclosing academic entity that embraces the science, engineering, and
technology of computing: the computing college, “standing alone, headed by its own dean, with the
* It is a fact of life that many of the software industry professionals are graduates from computer science and related fields.
This is of no surprise since in most advertisements for such positions, the educational requirements often listed are
degrees in computer science. However, once hired, employers give them the title of software engineer.
Preface to Volume I: Computer Science and Software Engineering xxi
same stature as traditional colleges” [op. cit.]. In this way, computer science is a different kind of science
and software engineering a different kind of engineering.
The chapters in the last four parts consolidate our current understanding of the discipline of software engi-
neering and its effect on the practice of software development and the education of software professionals.
There are four main parts. (1) Discipline of Software Engineering; (2) Software Quality and Measurement;
(3) Software Development Management: Processes and Paradigms; and (4) Software Modeling, Analysis,
and Design (notice that programming topics were amply covered in Part VIII, programming languages).
your personnel along with the advantages and disadvantages of each approach, as well as underlying
principles and best practices.
Chapter 83 discusses project and process control. It makes a distinction between the project manager’s
control activities in executing a project, that is, project control, and the control of the underlying soft-
ware development processes, or process control. Controlling a project and controlling the underlying
processes are very different activities and, consequently, they require very different techniques to make
them effective. The chapter describes the underlying mathematical and engineering foundations of two
well-known control methods that can be applied to controlling software development projects and to
their underlying software development processes. The first is closely related to traditional engineering
methods for controlling manufacturing and communications systems using feedback. The second is
known as statistical process control (SPC). The chapter concludes with a brief discussion of the extensive
literature describing the application of SPC methods to software projects and the successes and failures
that they have reported.
The last three chapters in this part address more recent development frameworks. Chapter 84 pro-
vides a thorough introduction to Agile methods, an umbrella term popularized with the publication of
the Agile manifesto, reflecting an intention to differentiate Agile approaches from a trend in software
development methodologies that had gained dominance in previous decades. It describes the set of 12
principles underlying the Agile approach as provided by the Agile manifesto. Specific implementations
of the approach are described as best practices, including extreme programming, scrum, etc., together
with an analysis of their specific incorporation, or not, of the 12 principles. The chapter concludes with a
discussion of plan-driven approaches’ compatibility, such as CMMIs, with Agile methods and thorough
analyses of important research directions.
Chapter 85 presents a process for developing software based on service-oriented architectures. The
fundamental building blocks of the approach are services, commonly viewed as self-contained software
application modules exposed through interfaces over a distributed environment. The chapter intro-
duces related elements such as component-based development, distributed components, and web ser-
vices. The underlying principles of the approach are described together with the service infrastructure
needed. In terms of best practices, the chapter outlines reference models and reference architectures and
standards as well as the enterprise service bus idea and compares the specific implementations of the
web services SOAP and REST.
Chapter 86 on software product lines (SPL) provides an introduction to the topic and a thorough anal-
ysis of its research challenges. SPL is one of the most active research areas of software engineering, and
despite remarkable contributions, which are briefly highlighted, important technical problems remain.
The chapter reports quantitative information, based on a secondary study and literature review, on these
remaining problems, which slow down widespread adoption of SPL. The results provided are supported
by a survey among longtime and active SPL researchers and practitioners. The top two reported research
problems were variability management and evolution.
Chapter 88 focuses on specifications for software systems and the software requirements specification
document (SRS) document capturing them. Software requirement specifications are discussed at dif-
ferent stages from a very informal description to inform users, to descriptions in unambiguous terms,
written in a rather formal (i.e., precise and unambiguous) manner. The chapter provides an overview of
best practices for producing an SRS possessing all the desirable quality attributes and characteristics. It
also provides a survey of the various specification languages and lists outstanding research issues such
as completeness, nonfunctional requirements, cost, program construction and proof, and correctness-
preserving program transformations.
Chapter 89 provides an overview of techniques and tools for analyzing the correctness of software
systems using model checking. Two classes of techniques are covered, namely, counterexample-guided
abstraction refinement (CEGAR) using predicate abstraction, and bounded model checking; other key
model checking techniques that are geared toward software verification analysis are also covered. The
chapter concludes with a brief survey of tools.
The next two chapters are about software design. Chapter 90 on design strategies leads us directly
from requirements as “one assumption underlying any design is that the design will satisfy some set of
requirements.” A set of underlying principles is discussed, including the notion of views, architectural
patterns and tactics, decomposition and refinements, and code generation and testing. Design best prac-
tices are presented together with an analysis of important research concerns such as automatic/semiau-
tomatic design, the accuracy of models, and the use and appropriate place for tools.
Chapter 91 on software architecture focuses exclusively on the main product of design: an archi-
tectural design of the software system to solve a specified problem. Various architectural frameworks
are contrasted from their specific viewpoints, as well as a survey of design methods. A metaprocess is
described, starting with concern analysis and domain analysis and concluding with architecture design,
evaluation, and realization. Research topics in software architectures presented include modeling qual-
ity and issues related to model-driven design.
Chapter 92 on human–computer interfaces in software engineering uses speech applications (both
input and synthesis) from requirements to design and implementation to illustrate principles and best
practices and describe difficult research issues that lie ahead on the implication of human–computer
interaction on software development. The latter discusses inherent current limits in speech applications
design.
Chapter 93 deals with software assurance. It discusses the impact of the risks associated with software
vulnerabilities and introduces basic definitions of software assurance. It also presents modern principles
of software assurance and identifies a number of relevant process models, frameworks, and best prac-
tices. The chapter concludes with a research framework to support and identify gaps for future research
and includes a description of the knowledge areas for a Master of Software Assurance as mapped to
maturity levels for building assured systems.
MATLAB® is a registered trademark of The MathWorks, Inc. For product information, please contact:
References
Denning, P., Computing the profession: An invitation for computer scientists to cross the chasm. Educom
Review, 33(6), 1998:26–30;46–59.
Denning, P. and P. Freeman. Computing’s paradigm. Communications of the ACM, December 2009.
Joint Task Force on Computing Curricula, Computer Science Curricula 2013, Association for Computing
Machinery (ACM) and the IEEE-Computer Society (IEEE-CS), December 2013. See http://www.
acm.org/education/curricula-recommendations.
Lethbridge, T.C., R.J. LeBlanc Jr., A.E. Kelley Sobel, T.B. Hilburn, and J.L. Díaz-Herrera. SE2004:
Curriculum recommendations for undergraduate software engineering programs. IEEE Software,
Nov/Dec 2006, 19–25.
Lunt, B.M., J.J. Ekstrom, S. Gorka, G. Hislop, R. Kamali, E. Lawson, R. LeBlanc, J. Miller, and H. Reichgelt.
IT 2008: Curriculum Guidelines for Undergraduate Degree Programs in Information Technology.
ACM and IEEE Computer Society, 2008.
Naur, P. and B. Randell (eds.). Software Engineering, Report on a Conference Sponsored by the NATO
Science Committee, October 1968.
Shackelford, R., J. Cross, G. Davies, J. Impagliazzo, R. Kamali, R. LeBlanc, B. Lunt, A. McGettrick, R.
Sloan, and H. Topi. Computing Curricula 2005: The Overview Report, A cooperative project of the
ACM, AIS, and IEEE Computer Society, 30 September, 2005. See http://www.acm.org/education/
curricula-recommendations.
Sommerville, I. Systems engineering for software engineers. Annals of Software Engineering, 6(1–4), April
1999: 111–129.
Sommerville, I., D. Cliff, R. Calinescu, J. Keen, T. Kelly, M. Kwiatkowska, J. Mcdermid, and R. Paige.
Large-scale complex IT systems. Communications of the ACM, 55(7), July 2012: 71–77.
Topi, H., J. Valacich, R. Wright, K. Kaiser, J. Nunamaker, J. Sipior, and G. Jan de Vreede. IS 2010: Curriculum
guidelines for undergraduate degree programs in information systems. Communications of the
Association for Information Systems, 26(18). http://aisel.aisnet.org/cais/vol26/iss1/18.
Tucker, A. (ed.). Computer Science Handbook, 2nd edn., Chapman & Hall/CRC Press, in cooperation with
the Association for Computing Machinery (ACM), Boca Raton, FL, 2004.
Acknowledgments
This volume would not have been possible without the tireless and dedicated work of all the authors and
reviewers. We appreciate the willingness of both established experts and influential younger research-
ers to join this effort and contribute to this work. Even though we have been working for decades in the
computing field, our work on this volume has enriched substantially our knowledge and understanding
of computing.
We would also like to thank the editorial staff at Chapman & Hall/CRC Press, particularly the per-
sistent and gentle leadership of Randi Cohen, computer science acquisitions editor, whose role has
extended beyond any reasonable call of duty. Bob Stern, as the original computer science editor who
helped create this handbook in its original and second editions, also deserves recognition for his con-
tinued support over the years.
Teo acknowledges the support of the University of California, Santa Barbara (UCSB). Without his
sabbatical leave, this project would not have been possible. He also wants to thank his wife, Dorothy,
and children, Jeanmarie, Alexis, Julia, Teofilo, and Paolo, for their love, encouragement, understanding,
patience, and support throughout the project and his tenure at UCSB.
Jorge acknowledges the support of Dr. Özlem Albayrak during the entire project. He is grateful to
his team at Keuka College, particularly Lori Haines and Sandra Wilmott, for their moral support and
encouragement as he took the helm of the College concomitant with the start of this project.
Allen acknowledges Bowdoin College for providing him the time and support needed to develop the
first, second, and third editions of this handbook set over the last 15 years. He also thanks the many
colleagues who have contributed to earlier editions of this handbook, without which the current edition
would not have been possible. Finally, he thanks his wife, Meg, and children, Jenny and Brian, for their
constant love and support over a lifetime of teaching and learning.
We hope that this volume will be actively and frequently used both by academics who want to explore
the current status and new opportunities within specific research areas and by advanced practitioners
who want to understand how they can benefit from the latest thinking within the disciplines of com-
puter science and software engineering. We also warmly welcome your feedback.
Teofilo Gonzalez
University of California, Santa Barbara
Jorge Díaz-Herrera
Keuka College
Allen B. Tucker
Bowdoin College
xxvii
Editors
Allen B. Tucker is the Anne T. and Robert M. Bass Professor Emeritus in the Department of Computer
Science at Bowdoin College, Brunswick, Maine, where he served on the faculty from 1988 to 2008. Prior
to that, he held similar positions at Colgate and Georgetown Universities. Overall, he served for 18 years
as a department chair and two years as an associate dean of the faculty. While at Colgate, he held the
John D. and Catherine T. MacArthur Chair in Computer Science.
Professor Tucker earned a BA in mathematics from Wesleyan University in 1963 and an MS and
PhD in computer science from Northwestern University in 1970. He is the author or coauthor of several
books and articles in the areas of programming languages, natural language processing, and software
engineering. He has given many talks, panel discussions, and workshop presentations in these areas
and has served as a reviewer for various journals, NSF programs, and curriculum projects. He has also
served as a consultant to colleges, universities, and other institutions in the areas of computer science
curriculum, software development, programming languages, and natural language processing applica-
tions. Since retiring from his full-time academic position, Professor Tucker continues to write, teach,
and develop open source software for nonprofit organizations.
A fellow of the ACM, Professor Tucker coauthored the 1986 Liberal Arts Model Curriculum in
Computer Science and cochaired the ACM/IEEE-CS Joint Curriculum Task Force that developed
Computing Curricula 1991. For these and related efforts, he received the ACM’s 1991 Outstanding
Contribution Award, shared the IEEE’s 1991 Meritorious Service Award, and received the ACM SIGCSE’s
2001 Award for Outstanding Contributions to Computer Science Education. In 2001, he was a Fulbright
Lecturer at the Ternopil Academy of National Economy in Ukraine, and in 2005, he was an Erskine
Lecturer at the University of Canterbury in New Zealand. Professor Tucker has been a member of the
ACM, the NSF CISE Advisory Committee, the IEEE Computer Society, Computer Professionals for
Social Responsibility, the Liberal Arts Computer Science (LACS) Consortium, and the Humanitarian
Free and Open Source Software (HFOSS) Project.
Dr. Jorge L. Díaz-Herrera became the 19th president of Keuka College on July 1, 2011. He was profes-
sor and founding dean of the B. Thomas Golisano College of Computing and Information Sciences at
Rochester Institute of Technology in Rochester, New York, since July 2002. Prior to this appointment,
he was professor of computer science and department head at SPSU in Atlanta and Yamacraw project
coordinator with Georgia Tech. He became the chair of the first Software Engineering Department in
the United States at Monmouth University in New Jersey. He has had other academic appointments with
Carnegie Mellon’s Software Engineering Institute, George Mason University in Virginia, and at SUNY
Binghamton in New York.
Dr. Díaz-Herrera has conducted extensive consulting services with a number of firms and govern-
ment agencies, including New York Stock Exchange (SIAC), MITRE Corp., the Institute for Defense
Analysis, General Electric, Singer-Link, TRW, EG&G, and IBM among others. He has participated in
technical meetings and provided professional expertise to international organizations, including the
xxix
xxx Editors
European Software Institute, Australian Defense Science and Technology Office, Kyoto Computing
Gaikum, Kuwait University, Cairo University, Instituto Politecnico Santo Domingo (INTEC), Bilkent
University in Turkey, and Malaysia University of Technology among others. He has chaired several
national and international conferences and has been a technical reviewer for the National Science
Foundation, the American Society for Engineering Education, and several conferences and journals. He
has more than 90 publications.
Dr. Díaz-Herrera is a senior member of the IEEE, and was a member of IEEE-CS Distinguished
Visitor Program for nine consecutive years, a leading writer of the Software Engineering Professional
Examination, and coeditor of the Software Engineering volume of the Computing Curricula project. He
was an active member of the CRA-Deans Group of the Computer Research Association in Washington,
DC and serves, and has served, on various technical advisory committees and governing boards, includ-
ing the Technical Advisory Group, SEI, Carnegie Mellon University, Pittsburgh, Pennsylvania; Advisory
Committee for CISE, National Science Foundation, Washington, DC; Advisory Committee for GPRA/
PA, National Science Foundation, Washington, DC; Board of Trustees, Strong National Museum of Play,
Rochester, New York; Board of Trustees, Gallaudet University, Washington, DC; NY State Universal
Broadband Council, Action Team on Digital Literacy, Albany, New York; and Research Board, Instituto
Technológico de las Américas (ITLA), Dominican Republic.
Dr. Díaz-Herrera completed his undergraduate education in Venezuela and holds both a master’s
degree and a PhD in computing studies from Lancaster University in the United Kingdom. He completed
two graduate certificates in management leadership in education from Harvard University’s Graduate
School of Education. He recently received a doctor honoris causa from his alma mater, Universidad
Centro Occidental Lisandaro Alvarado, in Barquisimeto, Venezuela.
Professor Teofilo F. Gonzalez was one of the first ten students who received a computer science under-
graduate degree in Mexico (ITESM 1972). He received his PhD from the University of Minnesota in
1975. He has been member of the faculty at OU, Penn State, and UT Dallas and has spent sabbatical
leave at the ITESM (Monterrey, Mexico) and U. Utrecht (the Netherlands). Since 1984, he has served as
professor of computer science at the University of California, Santa Barbara.
Professor Gonzalez’s main research contributions include the development of exact and approxima-
tion algorithms as well as establishing complexity results for problems in several research areas, includ-
ing message dissemination (multicasting), scheduling, VLSI placement and routing, computational
geometry, graph problems, clustering, etc.
Professor Gonzalez edited the Handbook on Approximation Algorithms and Metaheuristics (Chapman &
Hall/CRC, 2007). This handbook was the first one in the area and included contributions from top research-
ers worldwide. His work has been published in top journals in computer science, operations research and
computer engineering, as well as in research books and conference proceedings. Professor Gonzalez has
served as editor and guest editor of several publications. Currently, he serves as associate editor of IEEE
Transactions on Computers and ACM Computing Surveys. He has been program committee chair and gen-
eral chair for many conferences. He has received the Outstanding Computer Science Professor of the Year
Award three times. He also received the Outstanding Performance as PC Chair for PDCS several times.
Professor Gonzalez is a IASTED fellow. Since 2002, he has participated in the ABET accreditation process
as a CAC program evaluator and commissioner.
Contributors
xxxi
xxxii Contributors
Robert E. Noonan
Clyde R. Metz
College of William and Mary Raphael Poss
Department of Chemistry and
Williamsburg, Virginia Institute for Informatics
Biochemistry
University of Amsterdam
College of Charleston Bariş Özkan Amsterdam, the Netherlands
Charleston, South Carolina Informatics Institute
Middle East Technical University
Michael Mitzenmacher Ankara, Turkey Balaji Raghavachari
School of Engineering and The University of Texas,
Victor Y. Pan Dallas
Applied Sciences
Department of Mathematics Richardson, Texas
Harvard University
and Computer Science
Cambridge, Massachusetts
Lehman College
The City University of New York M.R. Rao
Reem Mokhtar New York, New York Indian School of Business
Department of Computer Hyderabad, India
Science Robert M. Panoff
Duke University Shodor and the National
Durham, North Carolina Computational Science Bala Ravikumar
Institute University of Rhode Island
Durham, North Carolina Kingston, Rhode Island
Dekita Moon
School of Computing Judea Pearl
Clemson University Cognitive Systems Laboratory Kenneth W. Regan
Clemson, South Carolina Department of Computer Department of Computer
Science Science and Engineering
Ralph Morelli University of California, University at Buffalo
Trinity College Los Angeles State University of New York
Hartford, Connecticut Los Angeles, California Buffalo, New York
xxxvi Contributors
I-1
1
Structure and
Organization of
Computing*
1.1 Computing Paradigm....................................................................... 1-2
1.2 Two Views of Computing................................................................. 1-5
1.3 View 1: Technologies of Computing............................................... 1-5
First Milestone: Curriculum 68 • Second Milestone: Computing
as a Discipline • Third Milestone: Information Technology
Profession • Fourth Milestone: Computing Curriculum
2001 • Fifth Milestone: Computing Curriculum 2013
1.4 View 2: Great Principles of Computing......................................... 1-9
1.5 Relation between the Views............................................................1-10
Peter J. Denning 1.6 What Are Information Processes?................................................ 1-12
Naval Postgraduate 1.7 Where Computing Stands.............................................................. 1-13
School in Monterey References..................................................................................................... 1-13
Computing is integral to science—not just as a tool for analyzing data but also as an agent of thought
and discovery.
It has not always been this way. Computing is a relatively young discipline. It started as an academic
field of study in the 1930s with a cluster of remarkable papers by Kurt Gödel, Alonzo Church, Emil Post,
and Alan Turing. The papers laid the mathematical foundations that would answer the question, “what
is computation?” and discussed schemes for its implementation. These men saw the importance of auto-
matic computation and sought its precise mathematical foundation. The various schemes they each pro-
posed for implementing computation were quickly found to be equivalent, as a computation in any one
could be realized in any other. It is all the more remarkable that their models all led to the same conclu-
sion that certain functions of practical interest—such as whether a computational algorithm (a method
of evaluating a function) will ever come to completion instead of being stuck in an infinite loop—cannot
be answered computationally.
In the time that these men wrote, the terms “computation” and “computers” were already in com-
mon use but with different connotations from today. Computation was taken to be the mechanical steps
followed to evaluate mathematical functions. Computers were people who did computations. In recog-
nition of the social changes they were ushering in, the designers of the first digital computer projects
* An earlier version of this chapter, without the section on technology view of the field, was published in American
Scientist 98 (September–October 2010), pp. 198–202. It was reprinted in Best Writings on Mathematics 2011 (M. Pitici,
ed.), Princeton University Press (2011). Copyright is held by the author.
1-1
1-2 Overview of Computer Science
all named their systems with acronyms ending in “-AC,” meaning automatic computer or something
similar—resulting in names such as ENIAC, UNIVAC, and EDSAC.
At the start of World War II, the militaries of the United States and the United Kingdom became
interested in applying computation to the calculation of ballistic and navigation tables and the cracking
of ciphers. They commissioned projects to design and build electronic digital computers. Only one of the
projects completed before the war was over. That was the top-secret project at Bletchley Park in England,
which cracked the German Enigma cipher using methods designed by Alan Turing.
Many people involved in those projects went on to start computer companies in the early 1950s.
The universities began offering programs of study in the new field in the late 1950s. The field and the
industry have grown steadily into a modern behemoth whose Internet data centers are said to consume
almost 3% of the world’s electricity.
During its youth, computing was an enigma to the established fields of science and engineering.
At first, it looked like only the technology applications of math, electrical engineering, or science,
depending on the observer. However, over the years, computing seemed to provide an unending
stream of new insights, and it defied many early predictions by resisting absorption back into the
fields of its roots. By 1980, computing had mastered algorithms, data structures, numerical methods,
programming languages, operating systems, networks, databases, graphics, artificial intelligence, and
software engineering. Its great technology achievements—the chip, the personal computer, and the
Internet—brought it into many lives. These advances stimulated more new subfields, including net-
work science, web science, mobile computing, enterprise computing, cooperative work, cyberspace
protection, user-interface design, and information visualization. The resulting commercial appli-
cations have spawned new research challenges in social networks, endlessly evolving computation,
music, video, digital photography, vision, massive multiplayer online games, user-generated content,
and much more.
The name of the field changed several times to keep up with the flux. In the 1940s, it was called
automatic computation, and in the 1950s, information processing. In the 1960s, as it moved into aca-
demia, it acquired the name computer science in the United States and informatics in Europe. By the
1980s, the computing field comprised a complex of related fields including computer science, infor-
matics, computational science, computer engineering, software engineering, information systems,
and information technology. By 1990, the term computing became the standard for referring to this
core group.
spreading rapidly into all fields, with the help of networks, supercomputers, and personal computers.
During the 1980s, computers had become powerful enough that science visionaries could see how to
use them to tackle the hardest, “grand challenge” problems in science and engineering. The resulting
“computational science” movement involved scientists from all countries and culminated in the US
Congress’s adopting the High Performance Computing and Communications (HPCC) act of 1991 to
support research on a host of large computational problems.
Today, there is agreement that computing exemplifies science and engineering and that neither sci-
ence nor engineering characterizes computing. Then what does? What is computing’s paradigm?
The leaders of the field struggled with the paradigm question ever since the beginning. Along the
way, there were three waves of attempts to unify views. Newell et al. (1967) led the first one. They argued
that computing was unique among all the sciences in its study of information processes. Simon (1996),
a Nobel laureate in Economics, went so far as to call computing a science of the artificial. Amarel (1971)
endorsed this basic idea and added an emphasis on interactions with other fields. A catchphrase of this
wave was that “computing is the study of phenomena surrounding computers.”
The second wave focused on programming, the art of designing algorithms that produced information
processes. In the early 1970s, computing pioneers Edsger Dijkstra and Donald Knuth took strong stands
favoring algorithm analysis as the unifying theme. A catchphrase of this wave was “computer science
equals programming.” In recent times, this view has foundered because the field has expanded well beyond
programming, whereas public understanding of a programmer has narrowed to just those who write code.
The third wave came as a result of the NSF-funded Computer Science and Engineering Research
Study (COSERS), led by Bruce Arden in the late 1970s. Its catchphrase was “computing is the automation
of information processes.” Although its final report successfully exposed the science of computing and
explained many esoteric aspects to the layperson, its central view did not catch on.
An important aspect of all three definitions was the positioning of the computer as the object of atten-
tion. The computational science movement of the 1980s began to step away from that notion, adopting
the view that computing is not only a tool for science but also a new method of thought and discovery in
science. The process of dissociating from the computer as the focal center came to completion in the late
1990s when leaders of the field of biology—epitomized by Nobel laureate David Baltimore (2001) and
echoing cognitive scientist Douglas Hofstadter (1985)—said that biology had become an information
science and DNA translation is a natural information process. Many computer scientists have joined
biologists in research to understand the nature of DNA information processes and to discover what
algorithms might govern them.
Take a moment to savor this distinction that biology makes. First, some information processes are
natural. Second, we do not know whether all natural information processes are produced by algorithms.
Other documents randomly have
different content
The Project Gutenberg eBook of Mysteries of
the missing
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
Language: English
By EDWARD H. SMITH
Copyright, 1927, by
The Dial Press, Inc.
JOSEPH A. FAUROT
—Laus Veneris.
A NOTE ON DISAPPEARING
“... but whosoever of them ate the lotus’ honeyed fruit
wished to bring tidings back no more and never to leave
the place; there with the lotus eaters they desired to stay,
to feed on lotus and forget the homeward way.”
The Odyssey, Book IX.
The Lotophagi are gone from the Libyan strand and the Sirens from
their Campanian isle, but still the sons of men go forth to
strangeness and forgetfulness. What fruit or song it is that calls
them out and binds them in absence, we must try to read from their
history, their psyche and the chemistry of their wandering souls.
Some urgent whip of that divine vice, our curiosity, drives us to the
exploration and will not relent until we discover whether they have
been devoured by the Polyphemus of crime, bestialized by some
profane Circe or simply made drunk with the Lethe of change and
remoteness.
The unreturning adventurer—the man whose destiny is hid in doubt
—has tormented the imagination in every century. In life the lost
comrade wakes a more poignant curiosity than the returning
Odysseus. What of the true Smerdis and the false? Was it the great
Aeneas the Etruscans slew, and where does Merlin lie? Did Attila die
of apoplexy in the arms of Hilda or shall we believe the elder Eddas,
the Nibelungen and Volsunga sagas or the Teutonic legends of later
times? Was it the genuine Dmitri who was murdered in the Kremlin,
and what of the two other pseudo-Dmitris? What became of Dandhu
Panth after he fled into Nepal in 1859; did he perish soon or is there
truth in the tale of the finger burial of Nana Sahib? And was it
Quantrill who died at Louisville of his wounds after Captain Terrill’s
siege of the barn at Bloomfield?
These enigmas are more lasting and irritating than any other minor
facet of history, and the patient searching of scholars seems but to
add to the popular confusion and to the charm of our doubts. Even
where research seems to arrive at positive results, the general will
cling to their puzzlement, for a romantic mystery is always sweeter
than a sordid fact.
Even in the modern world, so closely organized, so completely
explored and so prodigiously policed, those enigmas continue to pile
up. In our day it is an axiom that nothing is harder to lose sight of
than a ship at sea or a man on land. This sounds, at first blush, like
a paradox. It ought, surely, to be easy to scrape the name from a
vessel, change her gear and peculiarities a little, paint a fresh word
upon her side and so conceal her. Simpler still, why can’t any man,
not too conspicuous or individual, step out of the crowd, alter the
cut of his hair and clothes, assume another name and immediately
be draped in a fresh ego? Does it not take a huge annual
expenditure for ship registry and all sorts of marine policing on the
one side, and an even greater sum for the land police, on the other,
to prevent such things? Truly enough, and it is the police power of
the earth, backed by certain plain or obscure motivations in
mankind, that makes it next to impossible for a ship or a man to
drop out of sight, as the phrase goes.
Leaving aside the ships, which are a small part of our argument, we
may note that, for all the difficulty, thousands of human beings try to
vanish every year. Plainly there are many circumstances, many crises
in the lives of men, women and children, that make a complete
detachment and forgottenness desirable, nay, imperative. Yet, of the
twenty-five thousand persons reported missing to the police of the
City of New York every year, to take an instance, only a few remain
permanently undiscovered. Most are mere stayouts or young
runaways and are returned to their inquiring relatives within a few
hours or days. Others are deserting spouses—husbands who have
wearied or wives who have found new loves. These sometimes lead
long chases before they are reported and identified, at which time
the police have no more to do with the matter unless there is action
from the domestic courts. A number are suicides, whose bodies soon
or late rise from the city-engirdling waters and are, almost without
fail, identified by the marvelously efficient police detectives in charge
of the morgues. Some are pretended amnesics and a few are true
ones. But in the end the police of the cities clear up nearly all these
cases. For instance, in the year 1924, the New York police
department had on its books only one male and one female
uncleared case originating in the year of 1918, or six years earlier. At
the same time there were four male and six female cases dating
from 1919, three male and one female cases that had originated in
1920, no male and three female cases that originated in 1921, three
male and two female cases of the date of 1922, but in 1924 there
were still pending, as the police say, twenty-eight male and sixty-
three female cases of the year preceding, 1923.
The point here is that only one man and one woman could stay hid
from the searching eyes of the law as long as six years. Evidently
the business of vanishing presents some formidable difficulties.
However, it is not even these solitary absentees that engage our
interest most sharply, for usually we know why they went and have
some indication that they are alive and merely skulking. There is
another and far rarer genus of the family of the missing, however,
that does strike hard upon that explosive chemical of human
curiosity. Here we have those few and detached inexplicable affairs
that neither astuteness nor diligence, time nor patience, frenzy nor
faith can penetrate—the true romances, the genuine mysteries of
vanishment. A man goes forth to his habitual labor and between
hours he is gone from all that knew him, all that was familiar. There
is a gap in the environment and many lives are affected, nearly or
remotely. No one knows the why or where or how of his going and
all the power of men and materials is hopelessly expended. Years
pass and these tales of puzzlement become legends. They are then
things to brood about before the fire, when the moving mind is
touched by the inner mysteriousness of life.
Again, there are those strange instances of the theft of human
beings by human beings—kidnappings, in the usual term. Nothing
except a natural cataclysm is so excitant of mass terror as the first
suggestion that there are child-stealers abroad. What fevers and
rages of the public temper may result from such crimes will be seen
from some of what follows. The most celebrated instance is, of
course, the affair of Charlie Ross of Philadelphia, which carries us
back more than half a century. We have here the classic American
kidnapping case, already a tradition, rich in all the elements that
make the perfect abduction tale.
This terror of the thief of children is, to be sure, as old as the races.
From the Phoenicians who stole babes to feed to their bloody
divinities, the Minoans who raped the youth of Greece for their bull-
fights, and the priests of many lands who demanded maidens to
satisfy the wrath of their gods and the lust of their flesh, down to
the European Gypsies, who sometimes steal, or are said to steal,
children for bridal gifts, we have this dread vein running through the
body of our history. We need, accordingly, no going back into our
phylogeny or biology, to understand the frenzy of the mother when
the shadow of the kidnapper passes over her cote. The women of
Normandy are said still to whisper with trembling the name of Gilles
de Rais (or Retz), that bold marshal of France and comrade in arms
of Jeanne d’Arc, who seems to have been a stealer and killer of
children, instead of the original of Perrault’s Bluebeard, as many
believe. What terror other kidnappers have sent into the hearts of
parents will be seen from the text.
This volume is not intended as a handbook of mysteries, for such
works exist in numbers. The author has limited himself to problems
of disappearance and cases of kidnapping, thereby excluding many
twice-told wonders—the wandering Ahasuerus, the Flying
Dutchman, Prince Charles Edward, the Dauphin, Gosselin’s Femme
sans nom, the changeling of Louis Philippe and the Crown Prince
Rudolf and the affair at Mayerling.
Neither have I attempted any technical exploration of the conduct
and motives of vanishers and kidnappers. It must be sufficiently
clear that a man unpursued who flees and hides is out of tune with
his environment, ill adjusted, nervously unwell. Nor need we accent
again the fact that all criminals, kidnappers included, are creatures
of disease or defect.
A general bibliography will be found at the end of the book. The
information to be had from these volumes has been liberally
supported and amplified from the files of contemporary newspapers
in the countries and cities where these dramas of doubt were
played. The records of legal trials have been consulted in instances
where trials took place and I have talked with the accessible officials
having knowledge of the cases or persons here treated.
E. H. S.
New York, August, 1927.
MYSTERIES OF THE MISSING
I
THE CHARLIE ROSS ENIGMA
Late on the afternoon of the twenty-seventh of June, 1874, two men
in a shabby-covered buggy stopped their horse under the venerable
elms of Washington Lane in Germantown, that sleepy suburb of
Philadelphia, with its grave-faced revolutionary houses and its air of
lavendered maturity. All about these intruders was historic ground.
Near at hand was the Chew House, where Lord Howe repulsed
Washington and his tattered command in their famous encounter.
Yonder stood the old Morris Mansion, where the British commander
stood cursing the fog, while his troops retreated from the surprise
attack. Here the impetuous Agnew fell before a backwoods rifleman,
and there Mad Anthony Wayne was forced to decamp by the fire of
his confused left. Not far away the first American Bible had been
printed, and that ruinous house on the ridge had once been the
American Capitol. The whole region was a hive of memories.
Strangely enough, the men in the buggy gave no sign of interest in
all these things. Instead, they devoted their attention to the two
young sons of a grocer who happened to be playing among the
bushes on their father’s property. The children were gradually
attracted to confidence by the strangers, who offered them sweets
and asked them who they were, where their parents were staying,
how old they might be, and how they might like to go riding.
The older boy, just past his sixth birth anniversary, tried to respond
manfully, as his parents had taught him. He said that he was Walter
Ross, and that his companion was his brother, Charlie, aged four. His
mother, he related, had gone to Atlantic City with her older
daughters, and his father was busy at the store in the business
section of the settlement. Yes, that big, white house on the knoll
behind them was where they lived. All this and a good deal more the
little boy prattled off to his inquisitors, but when it came to getting
into their buggy he demurred. The men got pieces of candy from
their pockets, filled the hands of both children, and drove away.
When the father of the boys came home a little later, he found his
sons busy with their candy, and he was told where they had got it.
He smiled and felt that the two men in the buggy must be very fond
of children. Not the least suspicion crossed his mind. Yet this
harmless incident of that forgotten summer afternoon was the
prelude to the most famous of American abduction cases and the
introduction to one of the abiding mysteries of disappearance. What
followed with fatal swiftness came soon to be a matter of almost
worldwide notoriousness—a case of kidnapping that stands firm in
popular memory after the confusions of fifty-odd years.
On the afternoon of July 1, the strangers came again. This time they
had no difficulty in getting the children into their wagon.[1] Saying
that they were going to buy fire crackers for the approaching Fourth
of July, they carried the little boys to the corner of Palmer and
Richmond Streets, Philadelphia, where Walter Ross was given a
silver quarter and told to go into a shop and buy what he wanted. At
the end of five or ten minutes the boy emerged to find his brother,
his benefactors and their buggy gone.
[1] Walter Ross, then 7 years old, testified at the Westervelt trial,
the following year, that he had seen the men twice before, but
this seems unlikely.
Little Walter Ross, abandoned eight miles from his home in the toils
of a strange city, stood on the curb and gave childish vent to his
feelings. The sight of the boy with his hands full of fireworks and his
eyes full of tears, soon attracted passers-by. A man named Peacock
finally took charge of the youngster and got from him the name and
address of his father. At about eight o’clock that evening he arrived
at the Ross dwelling and delivered the child, to find that the younger
boy had not been brought home, and that the father was out visiting
the police stations in quest of his sons.
In spite of the obvious facts, the idea of kidnapping was not
immediately conceived, and it even got a hostile reception when the
circumstances forced its entertainment. The father of the missing
Charlie was Christian K. Ross, a Philadelphia retail grocer who was
popularly supposed to be wealthy, and was in fact the owner of a
prosperous business at Third and Market streets, and master of a
competence. His flourishing trade, the big house in which he lived
with his wife and seven children, and the fine grounds about his
home naturally caused many to believe that he was a man of large
means. In view of these facts alone the theory of abduction should
have been considered at once. Again, Walter Ross recited the details
of his adventure with the men in a faithful and detailed way, telling
enough about the talk and manner of the men to indicate criminal
intent. Moreover, Mr. Ross was aware of the previous visit of the
strangers. Finally, the manœuver of deserting the older boy and
disappearing with his brother should have been sufficiently
suggestive for the most lethargic policeman. Nevertheless, the
Philadelphia officials took the skeptical position. Their early activities
expressed themselves in the following advertisement, which I take
from the Philadelphia Ledger of July 3:
“Lost, on July 1st, a small boy, about four years of age,
light complexion, and light curly hair. A suitable reward
will be paid on his return to E. L. Joyce, Central Station,
corner of Fifth and Chestnut streets.”
The advertisement was worded in this fashion to conceal the fact of
the child’s vanishment from his mother, who was not called from her
summer resort until some days later.
The police were, however, not long allowed to rest on their
comfortable assumption that the boy had been lost. On the fifth, Mr.
Ross received a letter which had been dated and posted on the day
before in Philadelphia. It stated that Charlie Ross was in the custody
of the writer, that he was well and safe, that it was useless to look
for him through the police, and that the father would hear more in a
few days. The note was scrawled by some one who was trying to
conceal his natural handwriting and any literate attainments he may
have possessed. Punctuation and capitals were almost absent, and
the commonest words were so crazily misspelled as to betray
purposiveness. The unfortunate father was addressed as “Mr. Ros,” a
formal appellation which was later contracted to “Ros.” This missive
and some of those that followed were signed “John.”
Even this communication did not mean much to the police, though
they had not, at that early stage of the mystery, the troublesome
flood of crank letters to plead as an excuse for their disbelief. As a
matter of fact, this first letter came before there had been anything
but the briefest and most conservative announcements in the
newspapers, and it should have been apparent to any one that there
was nothing fraudulent about it. Yet the police officials dawdled. A
second message from the mysterious John wakened them at last to
action.
On the morning of July 7, Mr. Ross received a longer communication,
unquestionably from the writer of the first, in which he was told that
his appeal to the detectives would be vain. He must meet the terms
of the ransom, twenty thousand dollars, or he would be the
murderer of his own child. The writer declared that no power in the
universe would discover the boy, or restore him to his father, without
payment of the money, and he added that if the father sent
detectives too near the hiding place of the boy he would thereby be
sealing the doom of his son. The letter closed with most terrifying
threats. The kidnappers were frankly out to get money, and they
would have it, either from Ross or from others. If he failed to yield,
his child would be slain as an example to others, so that they would
act more wisely when their children were taken. Ross would see his
child either alive or dead. If he paid, the boy would be brought back
alive; if not, his father would behold his corpse. Ross’ willingness to
come to terms must be signified by the insertion of these words into
the Ledger: “Ros, we be willing to negotiate.”
Such an epistle blew away all doubts, and the Charlie Ross terror
burst upon Philadelphia and surrounding communities the following
morning in full virulence. The police surrounded the city, guarded
every out-going road, searched the trains and boats, went through
all the craft lying in the rivers, spread the dragnet for all the known
criminals in town and immediately began a house-to-house search,
an almost unprecedented proceeding in a republic. The newspapers
grew more inflammatory with every fresh edition. At once the mad
pack of anonymous letter writers took up the cry, writing to the
police and to the unfortunate parents, who were forced to read with
an anxious eye whatever came to their door, a most insulting and
disheartening array of fulminations which caused the collapse of the
already overburdened mother.
In the fever which attacked the city any child was likely to be seized
and dragged, with its nurse or parent, to the nearest police station,
there to answer the suspicion of being Charlie Ross. Mothers with
golden-haired boys of the approximate age of Charlie resorted to
Christian Ross in an unending stream, demanding that he give them
written attestation of the fact that their children were not his, and
the poor beladen man actually wrote hundreds of such testimonials.
The madness of the public went to the absurdest lengths. Children
twice the age and size of the kidnapped boy were dragged before
the officials by unbalanced busybodies. Little boys with black hair
were apprehended by the score at the demand of citizens who
pleaded that they might be the missing boy, with his blond curls
dyed. Little girls were brought before the scornful police, and some
of the self-appointed seekers for the missing boy had to be driven
from the station houses with threats and blows.
Following the command of the child snatchers with literal fidelity, Mr.
Ross had published in the Ledger the words I have quoted. The
result was a third epistle from the robbers. It recognized his reply,
but made no definite proposition and gave no further orders, save
the command that he reply in the Ledger, stating whether or not he
was ready to pay the twenty thousand dollars. On the other hand,
the letter continued the ferocious threats of the earlier
communication, laughed at the police efforts as “children’s play,” and
asked whether “Ros” cared more for money or his son. In this letter
was the same labored effort to appear densely unlettered. One new
note was added. The writer asked whether Mr. Ross was “willen to
pay the four thousand pounds for the ransom of yu child.” Either the
writer was, or wanted to seem, a Briton, used to speaking of money
in British terms. This pretension was continued in some of the later
letters and led eventually to a search for the missing boy in England.
In his extremity and natural inexperience, Mr. Ross relied absolutely
on the police and put himself into their hands. He asked how he was
to reply to the third letter and was told that he should pretend to
acquiesce in the demand of the abductors, meantime actually
holding them off and relying on the detectives to find the boy. But
this subterfuge was quickly recognized by the abductors, with the
result that a warning letter came to Mr. Ross at the end of a few
days. He was told that he was pursuing the course of folly, that the
detectives could not help him, and that he must choose at once
between his money and the life of his child.
Ross was advised by some friends and neighbors to yield to the
demands of the extortioners, and several men of means offered him
loans or gifts of such funds as he was not able to raise himself.
Accordingly he signified his intention of arriving at a bargain, and the
mysterious John wrote him two or three well-veiled letters which
were intended to test his good faith. At this point the father and the
abductors seemed about to agree, when the officials again
intervened and caused the grocer to change his mood. He declared
in an advertisement that he would not compound a felony by paying
money for the return of his child. But this stand had hardly been
taken when Mrs. Ross’ pitiful anxiety caused another change of
front.
Unquestionably this vacillation had a harmful effect in more than one
direction. Its most serious consequence was that it gave the
abductors the impression that they were dealing with a man who did
not know his own mind, could not be relied upon to keep his
promises, and was obviously in the control of the officers.
Accordingly they moved with supercaution and began to impose
impossible conditions. By this time they had written the parents of
their prisoner at least a dozen letters, each containing more
terrifying threats than its antecedents. To look this correspondence
over at this late day is to see the nervousness of the abductors,
slowly mounting to the point of extreme danger to the child. But Mr.
Ross failed to see the peril, or was overpersuaded by official opinion.
At this crucial point in the negotiations the blunder of all blunders
was made. Philadelphia was tremulous with excitement. The police
of every American city were looking for the apparition of the boy or
his kidnappers. Officials in the chief British and Continental ports
were watching arriving ships for the fugitives, and millions of
newspaper readers were following the case in eager suspense.
Naturally the police and the other officials of Philadelphia felt that
the eyes of the world were upon them. They quite humanly decided
on a course calculated to bring them celebrity in case of success and
ample justification in case of failure. In other words, they made the
gesture typical of baffled officialdom, without respect to the safety of
the missing child or the real interests of its parents. At a meeting
presided over by the mayor, attended by leading citizens and advised
by the chiefs of the police, a reward of twenty thousand dollars, to
match the amount of ransom demanded, was subscribed and
advertised. The terms called for “evidence leading to the capture
and conviction of the abductors of Charlie Ross and the safe return
of the child,” conditions which may be cynically viewed as
incongruous. The following day the chief of police announced that
his men, should they participate in the successful coup, would claim
no part of the reward.
All this was intended, to be sure, as an inducement to informers, the
hope being, apparently, that some one inside the kidnapping
conspiracy would be bribed into revelations. But the actual result
was quite the opposite. A sudden hush fell upon the writer of the
letters. Also, there were no more communications in the Ledger. A
week passed without further word, and the parents of the boy were
thrown into utter hopelessness. Finally another letter came, this time
from New York, whereas all previous notes had been mailed in
Philadelphia. It was clear that the offer of a high reward had led the
abductors to leave the city, and their letter showed that they had
slipped away with their prisoner, in spite of the vaunted precautions.
The next note from the criminals warned Ross in terms of impressive
finality that he must at once abandon the detectives and come to
terms. He signified his intention of complying by inserting an
advertisement in the New York Herald, as directed by the abductors.
They wrote him that they would shortly inform him of the manner in
which the money was to be paid over. Finally the telling note came.
It commanded Mr. Ross to procure twenty thousand dollars in bank
notes of small denomination. These he was to place in a leather
traveling bag, which was to be painted white so that it might be
visible at night. With this bag of money, Ross was to board the
midnight train for New York on the night of July 30-31 and stand on
the rear platform, ready to toss the bag to the track. As soon as he
should see a bright light and a white flag being waved, he was to let
go the money, but the train was not to stop until the next station
was reached. In case these conditions were fully and faithfully met,
the child would be restored, safe and sound, within a few hours.
Ross, after consultation with the police, decided to temporize once
more. He got the white painted bag, as commanded, and took the
midnight train, prepared to change to a Hudson River train in New
York and continue his journey to Albany, as the abductors had
further instructed. But there was no money in the valise. Instead, it
contained a letter in which Ross said that he could not pay until he
saw the child before him. He insisted that the exchange be made
simultaneously and suggested that communication through the
newspapers was not satisfactory, since it was public and betrayed all
plans to the police. Some closer and secret way of communicating
must be devised, he wrote.
~~ CHARLIE ROSS ~~
So Mr. Ross set out with a police escort. He rode to New York on the
rear platform of one train and to Albany on another. But the agent of
the kidnappers did not appear, and Ross returned to Philadelphia
crestfallen, only to find that a false newspaper report had caused the
plan to miscarry. One of the papers had announced that Ross was
going West to follow up a clew. The kidnappers had seen this and
decided that their man was not going to make the trip to New York
and Albany. Consequently there was no one along the track to
receive the valise. Perhaps it was just as well. The abductors would
have laughed at the empty police dodge of suggesting a closer and
secret method of communication—for the purpose of betraying the
malefactors, of course.
From this point on, Ross and the abductors continued to argue,
through the New York Herald, the question of simultaneous
exchange of the boy and money. Ross naturally took the position
that he could not risk being imposed on by men who perhaps did not
have the child at all. The robbers, on their side, contended that they
could not see any safe way of making a synchronous exchange. So
the negotiations dragged along.
The New York police entered the case on August 2, when Chief
Walling sent to Philadelphia for the letters received by Mr. Ross from
the abductors. They were taken to New York by Captain Heins of the
Philadelphia police, and “Chief Walling’s informant identified the
writing as that of William Mosher, alias Johnson.”
In order to draw the line between fact and fable as clearly as
possible at this point, I quote from official police sources, namely,
“Celebrated Criminal Cases of America,” by Thomas S. Duke, captain
of police, San Francisco, published in 1910. Captain Duke says that
his facts have been “verified with the assistance of police officials
throughout the country.” He continues with respect to the Ross case:
“The informant then stated that in April, 1874—the year in question
—Mosher and Joseph Douglas, alias Clark, endeavored to persuade
him to participate in the kidnapping of one of the Vanderbilt
children, while the child was playing on the lawn surrounding the
family residence at Throgsneck, Long Island. (Evidently a confusion.)
The child was to be held until a ransom of fifty thousand dollars was
obtained, and the informant’s part of the plot would be to take the
child on a small launch and keep it in seclusion until the money was
received, but he declined to enter into the conspiracy.”
With all due respect to the police and to official versions, this report
smells strongly of fabrication after the fact, as we shall see. It is,
however, true that the New York police had some sort of information
early in August, and it may even be true that they had suspicions of
Mosher and were on the lookout for him. A history of subsequent
events will give the surest light on this disputed point.
The negotiations between Ross and the abductors continued in a
desultory fashion, without any attempt to deliver the child or get the
ransom, until toward the middle of November. At this time the
kidnappers arranged a meeting in the Fifth Avenue Hotel, New York.
Mr. Ross’ agents were to be there with the twenty thousand dollars
in a package. A messenger was to call for this some time during the
day. His approach and departure had been carefully planned. In case
he was watched or followed, he would not find the abductors on his
return, and the child would be killed. Only good faith could succeed.
Mr. Ross was to insert in the New York Herald a personal reading,
“Saul of Tarsus, Fifth Avenue Hotel—instant.” This would indicate his
decision to pay the money and signify the day he would be at the
hotel.
Accordingly the father of the missing boy had the advertisement
published, saying that he would be at the hotel with the money
“Wednesday, eighteenth, all day.” Ross’ brother and nephew kept the
tryst, but no messenger came for the money, and the last hope of
the family seemed broken.
The Rosses had long since given up the detectives and recognized
the futility of police promises. The father of the boy had, in his
distraction, even voiced some uncomplimentary sentiments
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookultra.com