Abstraction is the essence of simple and effective software design, and logic is the essential tool for exploring and validating abstractions. These basic insights, which have been laboriously rediscovered by many practicing programmers, are now accessible to students and professionals at all levels of experience. Daniel Jackson supports his clear and elegant text with a powerful logical analysis tool that brings his witty examples to life.
Tony Hoare, Senior Researcher, Microsoft
Alloy is to modeling what Excel is to office work: an increadibly powerful way to make models into concrete, tangible objects. Jackson's book is essential for practitioners to master the power of this new tool.
Alain Wegmann, Ecole Polytechnique Federale de Lausanne
Alloy's streamlined combination of predicate logic and relational algebra makes modeling a pleasure. I rely on the Alloy Analyzer, and this book shows how easy it is to start using it.
Pamela Zave, AT&T Research
The examples and exercises, if given time, thought, and effort, can make better designers of all of us, as Alloy is a powerful force-multiplier in the war on bugs.... Jackson's Software Abstractions has my highest recommendation. It is being put to immediate use in my group's venue of software-based safety-critical systems.
George Hacken
Computing Reviews