This book addresses a fundamental software engineering issue, applying formal techniques and rigorous analysis to a practical problem of great current interest: the incorporation of language-specific knowledge in interactive programming environments. It makes a basic contribution in this area by proposing an attribute-grammar framework for incremental semantic analysis and establishing its algorithmic foundations. The results are theoretically important while having immediate practical utility for implementing environment-generating systems.
High-performance message-based supercomputers have only recently emerged from the research laboratory. The commercial manufacturing of such products as the Intel iPSC, the Ametek s/14, the NCUBE/ten, and the FPS T Series - all based on multicomputer network technology - has sparked lively interest in high-performance computation, and particularly in the message-passing paradigm for parallel computation.
This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms").
As pop culture, games are as important as film or television--but game design has yet to develop a theoretical framework or critical vocabulary. In Rules of Play Katie Salen and Eric Zimmerman present a much-needed primer for this emerging field. They offer a unified model for looking at all kinds of games, from board games and sports to computer and video games.
Uncertainty is a fundamental and unavoidable feature of daily life; in order to deal with uncertaintly intelligently, we need to be able to represent it and reason about it. In this book, Joseph Halpern examines formal ways of representing uncertainty and considers various logics for reasoning about it.
Software has gone from obscurity to indispensability in less than fifty years. Although other industries have followed a similar trajectory, software and its supporting industry are different. In this book the authors explain, from a variety of perspectives, how software and the software industry are different—technologically, organizationally, and socially.
Investigating meta-programming within the logic programming paradigm, Meta-Logics and Logic Programming presents original research on an important extension of logic programming that makes it more amenable for knowledge representation and programming in general. The 12 contributions, many written especially for this book, explore the foundations, language design issues, and applications of meta-programming in logic programming.
Large transaction-processing applications, such as banking, flight reservations, telecommunications, and networking, demand increasingly high throughput and fast response times. Coupling multiple systems for database transaction processing can provide these systems with higher capacity and availability at a lower cost. Data sharing is one promising architecture for such an environment.