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.
Much of the difficulty in creating information technology systems that truly meet people’s needs lies in the problem of pinning down system requirements. This book offers a new approach to the requirements challenge, based on modeling and analyzing the relationships among stakeholders. Although the importance of the system-environment relationship has long been recognized in the requirements engineering field, most requirements modeling techniques express the relationship in mechanistic and behavioral terms.
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.
Color for the Sciences is the first book on colorimetry to offer an account that emphasizes conceptual and formal issues rather than applications. Jan Koenderink's introductory text treats colorimetry—literally, "color measurement"—as a science, freeing the topic from the usual fixation on conventional praxis and how to get the "right" result. Readers of Color for the Sciences will learn to rethink concepts from the roots in order to reach a broader, conceptual understanding.
This book presents the configuration space method for computer-aided design of mechanisms with changing part contacts. Configuration space is a complete and compact geometric representation of part motions and part interactions that supports the core mechanism design tasks of analysis, synthesis, and tolerancing. It is the first general algorithmic treatment of the kinematics of higher pairs with changing contacts. It will help designers detect and correct design flaws and unexpected kinematic behaviors, as demonstrated in the book’s four case studies taken from industry.
To many science and engineering students, the task of writing may seem irrelevant to their future professional careers. At MIT, however, students discover that writing about their technical work is important not only in solving real-world problems but also in developing their professional identities.
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.
Issues of regulation and control are central to the study of biological and biochemical systems. Thus it is not surprising that the tools of feedback control theory--engineering techniques developed to design and analyze self-regulating systems--have proven useful in the study of these biological mechanisms. Such interdisciplinary work requires knowledge of the results, tools and techniques of another discipline, as well as an understanding of the culture of an unfamiliar research community.
This text is a guide to the foundations of method engineering, a developing field concerned with the definition of techniques for designing software systems. The approach is based on metamodeling, the construction of a model about a collection of other models. The book applies the metamodeling approach in five case studies, each describing a solution to a problem in a specific domain. Suitable for classroom use, the book is also useful as a reference for practitioners.
This text is the first comprehensive presentation of reduction semantics in one volume; it also introduces the first reliable and easy-to-use tool set for such forms of semantics. Software engineers have long known that automatic tool support is critical for rapid prototyping and modeling, and this book is addressed to the working semantics engineer (graduate student or professional language designer). The book comes with a prototyping tool suite to develop, explore, test, debug, and publish semantic models of programming languages.