Image for Software Abstractions

Software Abstractions : Logic, Language, and Analysis

See all formats and editions

A new approach to software verification introduces Alloy, a language that captures the essence of software abstraction with an analysis that is fully automated.

In "Software Abstractions", Daniel Jackson introduces a new approach to software design that draws on traditional formal methods but exploits automated tools to finds flaws as early as possible.

This approach - which Jackson calls "lightweight formal methods" or "agile modelling" - 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.

The designer can use automated analysis not only to correct errors but 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 of the approach: 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).

The book uses Alloy as a vehicle because of its simplicity and tool support, but the book's lessons are mostly language-independent, and could also be applied in the context of other modelling languages.

Read More
Title Unavailable: Out of Print
Product Details
MIT Press
0262101149 / 9780262101141
Hardback
005.1
12/05/2006
United States
English
xvi, 350 p. : ill.
24 cm
postgraduate /research & professional Learn More