Skip navigation


  • Page 1 of 2

A cyber-physical system consists of a collection of computing devices communicating with one another and interacting with the physical world via sensors and actuators in a feedback loop. Increasingly, such systems are everywhere, from smart buildings to medical devices to automobiles. This textbook offers a rigorous and comprehensive introduction to the principles of design, specification, modeling, and analysis of cyber-physical systems. The book draws on a diverse set of subdisciplines, including model-based design, concurrency theory, distributed algorithms, formal methods of specification and verification, control theory, real-time systems, and hybrid systems, explaining the core ideas from each that are relevant to system design and analysis.

The book explains how formal models provide mathematical abstractions to manage the complexity of a system design. It covers both synchronous and asynchronous models for concurrent computation, continuous-time models for dynamical systems, and hybrid systems for integrating discrete and continuous evolution. The role of correctness requirements in the design of reliable systems is illustrated with a range of specification formalisms and the associated techniques for formal verification. The topics include safety and liveness requirements, temporal logic, model checking, deductive verification, stability analysis of linear systems, and real-time scheduling algorithms. Principles of modeling, specification, and analysis are illustrated by constructing solutions to representative design problems from distributed algorithms, network protocols, control design, and robotics.

This book provides the rapidly expanding field of cyber-physical systems with a long-needed foundational text by an established authority. It is suitable for classroom use or as a reference for professionals.

Modeling Natural, Social, and Engineered Complex Systems with NetLogo

The advent of widespread fast computing has enabled us to work on more complex problems and to build and analyze more complex models. This book provides an introduction to one of the primary methodologies for research in this new field of knowledge. Agent-based modeling (ABM) offers a new way of doing science: by conducting computer-based experiments. ABM is applicable to complex systems embedded in natural, social, and engineered contexts, across domains that range from engineering to ecology. An Introduction to Agent-Based Modeling offers a comprehensive description of the core concepts, methods, and applications of ABM. Its hands-on approach—with hundreds of examples and exercises using NetLogo—enables readers to begin constructing models immediately, regardless of experience or discipline.

The book first describes the nature and rationale of agent-based modeling, then presents the methodology for designing and building ABMs, and finally discusses how to utilize ABMs to answer complex questions. Features in each chapter include step-by-step guides to developing models in the main text; text boxes with additional information and concepts; end-of-chapter explorations; and references and lists of relevant reading. There is also an accompanying website with all the models and code.

We now know that there is much more to classical mechanics than previously suspected. Derivations of the equations of motion, the focus of traditional presentations of mechanics, are just the beginning. This innovative textbook, now in its second edition, concentrates on developing general methods for studying the behavior of classical systems, whether or not they have a symbolic solution. It focuses on the phenomenon of motion and makes extensive use of computer simulation in its explorations of the topic. It weaves recent discoveries in nonlinear dynamics throughout the text, rather than presenting them as an afterthought. Explorations of phenomena such as the transition to chaos, nonlinear resonances, and resonance overlap to help the student develop appropriate analytic tools for understanding. The book uses computation to constrain notation, to capture and formalize methods, and for simulation and symbolic analysis. The requirement that the computer be able to interpret any expression provides the student with strict and immediate feedback about whether an expression is correctly formulated.

This second edition has been updated throughout, with revisions that reflect insights gained by the authors from using the text every year at MIT. In addition, because of substantial software improvements, this edition provides algebraic proofs of more generality than those in the previous edition; this improvement permeates the new edition.

Computing is usually viewed as a technology field that advances at the breakneck speed of Moore’s Law. If we turn away even for a moment, we might miss a game-changing technological breakthrough or an earthshaking theoretical development. This book takes a different perspective, presenting computing as a science governed by fundamental principles that span all technologies. Computer science is a science of information processes. We need a new language to describe the science, and in this book Peter Denning and Craig Martell offer the great principles framework as just such a language. This is a book about the whole of computing—its algorithms, architectures, and designs.

Denning and Martell divide the great principles of computing into six categories: communication, computation, coordination, recollection, evaluation, and design. They begin with an introduction to computing, its history, its many interactions with other fields, its domains of practice, and the structure of the great principles framework. They go on to examine the great principles in different areas: information, machines, programming, computation, memory, parallelism, queueing, and design. Finally, they apply the great principles to networking, the Internet in particular.

Great Principles of Computing will be essential reading for professionals in science and engineering fields with a “computational” branch, for practitioners in computing who want overviews of less familiar areas of computer science, and for non-computer science majors who want an accessible entry way to the field.

Complex communicating computer systems—computers connected by data networks and in constant communication with their environments—do not always behave as expected. This book introduces behavioral modeling, a rigorous approach to behavioral specification and verification of concurrent and distributed systems. It is among the very few techniques capable of modeling systems interaction at a level of abstraction sufficient for the interaction to be understood and analyzed. Offering both a mathematically grounded theory and real-world applications, the book is suitable for classroom use and as a reference for system architects.

The book covers the foundation of behavioral modeling using process algebra, transition systems, abstract data types, and modal logics. Exercises and examples augment the theoretical discussion. The book introduces a modeling language, mCRL2, that enables concise descriptions of even the most intricate distributed algorithms and protocols. Using behavioral axioms and such proof methods as confluence, cones, and foci, readers will learn how to prove such algorithms equal to their specifications. Specifications in mCRL2 can be simulated, visualized, or verified against their requirements. An extensive mCRL2 toolset for mechanically verifying the requirements is freely available online; this toolset has been successfully used to design and analyze industrial software that ranges from healthcare applications to particle accelerators at CERN. Appendixes offer material on equations and notation as well as exercise solutions.

This book offers a general overview of the physics, concepts, theories, and models underlying the discipline of aerodynamics. A particular focus is the technique of velocity field representation and modeling via source and vorticity fields and via their sheet, filament, or point-singularity idealizations. These models provide an intuitive feel for aerodynamic flow-field behavior and are the basis of aerodynamic force analysis, drag decomposition, flow interference estimation, and other important applications. The models are applied to both low speed and high speed flows. Viscous flows are also covered, with a focus on understanding boundary layer behavior and its influence on aerodynamic flows.

The book covers some topics in depth while offering introductions and summaries of others. Computational methods are indispensable for the practicing aerodynamicist, and the book covers several computational methods in detail, with a focus on vortex lattice and panel methods. The goal is to improve understanding of the physical models that underlie such methods. The book also covers the aerodynamic models that describe the forces and moments on maneuvering aircraft, and provides a good introduction to the concepts and methods used in flight dynamics. It also offers an introduction to unsteady flows and to the subject of wind tunnel measurements.

The book is based on the MIT graduate-level course “Flight Vehicle Aerodynamics” and has been developed for use not only in conventional classrooms but also in a massive open online course (or MOOC) offered on the pioneering MOOC platform edX. It will also serve as a valuable reference for professionals in the field. The text assumes that the reader is well versed in basic physics and vector calculus, has had some exposure to basic fluid dynamics and aerodynamics, and is somewhat familiar with aerodynamics and aeronautics terminology.

Choosing Among Options

Human survival depends on a continuing supply of energy, but the need for ever-increasing amounts of it poses a dilemma: How can we find energy sources that are sustainable and ways to convert and utilize energy that are more efficient? This widely used textbook is designed for advanced undergraduate and graduate students as well as others who have an interest in exploring energy resource options and technologies with a view toward achieving sustainability on local, national, and global scales. It clearly presents the tradeoffs and uncertainties inherent in evaluating and choosing sound energy portfolios and provides a framework for assessing policy solutions.

The second edition examines the broader aspects of energy use, including resource estimation, environmental effects, and economic evaluations; reviews the main energy sources of today and tomorrow, from fossil fuels and nuclear power to biomass, hydropower, and solar energy; treats energy carriers and energy storage, transmission, and distribution; addresses end-use patterns in the transportation, industrial, and building sectors; and considers synergistic complex systems. This new edition also offers updated statistical data and references; a new chapter on the complex interactions among energy, water, and land use; expanded coverage of renewable energy; and new color illustrations. Sustainable Energy addresses the challenges of making responsible energy choices for a more sustainable future.

Downloadable instructor resources available for this title: solution manual, problems, and file of figures in the book

Logic, Language, and Analysis

In Software Abstractions Daniel Jackson introduces an approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach--which Jackson calls “lightweight formal methods” or “agile modeling”--takes from formal specification the idea of a precise and expressive notation based on a tiny core of simple and robust concepts but replaces conventional analysis based on theorem proving with a fully automated analysis that gives designers immediate feedback. Jackson has developed Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions. This revised edition updates the text, examples, and appendixes to be fully compatible with the latest version of Alloy (Alloy 4).

The designer can use automated analysis not only to correct errors but also to make models that are more precise and elegant. This approach, Jackson says, can rescue designers from “the tarpit of implementation technologies” and return them to thinking deeply about underlying concepts.

Software Abstractions introduces the key elements: a logic, which provides the building blocks of the language; a language, which adds a small amount of syntax to the logic for structuring descriptions; and an analysis, a form of constraint solving that offers both simulation (generating sample states and executions) and checking (finding counterexamples to claimed properties).

This text offers a comprehensive treatment of VHDL and its applications to the design and simulation of real, industry-standard circuits. It focuses on the use of VHDL rather than solely on the language, showing why and how certain types of circuits are inferred from the language constructs and how any of the four simulation categories can be implemented. It makes a rigorous distinction between VHDL for synthesis and VHDL for simulation. The VHDL codes in all design examples are complete, and circuit diagrams, physical synthesis in FPGAs, simulation results, and explanatory comments are included with the designs. The text reviews fundamental concepts of digital electronics and design and includes a series of appendixes that offer tutorials on important design tools including ISE, Quartus II, and ModelSim, as well as descriptions of programmable logic devices in which the designs are implemented, the DE2 development board, standard VHDL packages, and other features. All four VHDL editions (1987, 1993, 2002, and 2008) are covered. This expanded second edition is the first textbook on VHDL to include a detailed analysis of circuit simulation with VHDL testbenches in all four categories (nonautomated, fully automated, functional, and timing simulations), accompanied by complete practical examples. Chapters 1–9 have been updated, with new design examples and new details on such topics as data types and code statements. Chapter 10 is entirely new and deals exclusively with simulation. Chapters 11–17 are also entirely new, presenting extended and advanced designs with theoretical and practical coverage of serial data communications circuits, video circuits, and other topics. There are many more illustrations, and the exercises have been updated and their number more than doubled.

Downloadable instructor resources available for this title: solutions and slides

From Insects to Jumbo Jets

From the smallest gnat to the largest aircraft, all things that fly obey the same aerodynamic principles. In The Simple Science of Flight, Henk Tennekes investigates just how machines and creatures fly: what size wings they need, how much energy is required for their journeys, how they cross deserts and oceans, how they take off, climb, and soar. Fascinated by the similarities between nature and technology, Tennekes offers an introduction to flight that teaches by association. Swans and Boeings differ in numerous ways, but they follow the same aerodynamic principles. Biological evolution and its technical counterpart exhibit exciting parallels. What makes some airplanes successful and others misfits? Why does the Boeing 747 endure but the Concorde now seem a fluke? Tennekes explains the science of flight through comparisons, examples, equations, and anecdotes. The new edition of this popular book has been thoroughly revised and much expanded. Highlights of the new material include a description of the incredible performance of bar-tailed godwits (7,000 miles nonstop from Alaska to New Zealand), an analysis of the convergence of modern jetliners (from both Boeing and Airbus), a discussion of the metabolization of energy featuring Lance Armstrong, a novel treatment of the aerodynamics of drag and trailing vortices, and an emphasis throughout on evolution, in nature and in engineering. Tennekes draws on new evidence on bird migration, new wind-tunnel studies, and data on new airliners. And his analysis of the relative efficiency of planes, trains, and automobiles is newly relevant. (On a cost-per-seat scale, a 747 is more efficient than a passenger car.)

  • Page 1 of 2