Issue No. 06 - June (2007 vol. 40)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MC.2007.197
Object-Oriented Analysis and Design with Applications, 3rd ed., Grady Booch, Robert A. Maksimchuk, Michael W. Engel, Bobbi J. Young, Jim Conallen, and Kelli A. Houston. The third edition of this venerable reference to object-oriented technology can help readers learn to apply OO methods using new paradigms such as Java, the Unified Modeling Language 2.0, and .NET.
The authors draw upon their extensive experience to offer improved methods for object development, along with many examples that tackle the complex problems software engineers face. These include systems architecture, data acquisition, crypto-analysis, control systems, and Web development. The book covers essential concepts, explains the method, and shows its successful application in several fields. It also offers pragmatic advice on issues such as classification, implementation strategies, and cost-effective project management.
New material in this edition includes an introduction to UML 2.0, from the notation's most fundamental and advanced elements, with an emphasis on key changes; new domains and contexts; and an examination of the conceptual foundation for the widely misunderstood fundamental elements of the object model, such as abstraction, encapsulation, modularity, and hierarchy.
Addison-Wesley; www.awprofessional.com; 0-201-89551-X; 720 pp.
Formal Models of Operating System Kernels, Iain D. Craig. This book shows that the formal specification of kernels is necessary for operating systems to achieve the levels of reliability and security demanded of them today. The author includes specifications for a sequence of increasingly complex kernels that can serve as models to help developers identify and reason about the design's properties—thus making explicit what is too often left implicit or even unknown.
The author explores what can be inferred about a design through rigorous reasoning. He also describes essential properties of data structures and mechanisms. Designers can easily become bogged down in complexity issues when considering kernels. This book's clear and concise style, and its prescriptive rather than descriptive approach, shed light on this topic, showing clearly how an operating system's kernel can affect these systems' reliability and performance.
Springer; www.springer.com; 1-84628- 375-2; 338 pp.
Creating Agile Business Systems with Reusable Knowledge, Amit Mitra and Amar Gupta. Developers need agility and innovation to achieve global excellence and customer value in 21st-century business, yet most approaches to business process engineering sacrifice these attributes in favor of operational efficiency and economics. Moreover, the IT systems used to automate and encapsulate business processes are unresponsive to the dynamic business environment.
The authors strive to close this gap, showing how innovation can be systematized with normalized patterns of information, how business processes and information systems can be tightly aligned, and how these processes and systems can be designed to automatically adapt to change by reconfiguring shared patterns of knowledge. They also present a modular approach to building business systems that parallels that of object-oriented software and provide the practical templates required for accelerating integration, analysis, and design.
Cambridge University Press; www.cambridge.org; 0-521-85163-7; 404 pp.
Probabilistic Methods for Financial and Marketing Informatics, Richard E. Neapolitan and Xia Jiang. This book shows how to apply informatics to areas such as managerial options and decision making, investment science, marketing, and data mining. The authors concentrate on the probabilistic and decision-theoretic approaches to informatics, emphasizing the use of Bayesian networks.
Rather than dwelling on rigor, algorithms, and proofs of theorems, the book focuses on problem solving and practical applications. Many examples and exercises can be found throughout the book, as well as six chapters that walk the reader through pragmatic situations. Many solutions are expanded on when the authors discuss their final implementation, which uses the Netica software package.
Morgan Kaufmann; www.mkp.com; 0-12-370477-4; 432 pp.
How the Body Shapes the Way We Think: A New View of Artificial Intelligence, Rolf Pfeifer and Josh Bongard. The authors demonstrate that thought is not independent of the body, but tightly constrained and, at the same time, enabled by it. They argue that the kinds of thoughts we can have are predetermined by their foundation in our embodiment: in our morphology and the material properties of our bodies.
This crucial notion underlies fundamental changes in the field of artificial intelligence over the past two decades. The authors use the basic methodology of artificial intelligence—understanding by building—to describe their insights. If we understand how to design and build intelligent systems, they reason, we will better understand intelligence in general. In accessible, nontechnical language, with many examples, they introduce the basic concepts, drawing from recent developments in robotics, biology, neuroscience, and psychology to outline a possible theory of intelligence. They illustrate their applications of such a theory in ubiquitous computing, business and management, and the psychology of human memory.
MIT Press; mitpress.mit.edu; 0-262-16239-3; 394 pp.