Software Abstractions

by Daniel Jackson

Published 1 April 2006
In Software Abstractions Daniel Jackson introduces a new 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. 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 also 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 modeling languages.

Portraits of Resilience

by Daniel Jackson

Published 27 October 2017
More than 15 million American adults grapple with depression in a given year. Anxiety disorders affect 40 million Americans over the age of 18. And yet these diseases are often invisible, hidden, unacknowledged. In Portraits of Resilience, people coping with depression, anxiety, and other challenges step out of the shadows to meet us face to face. A series of photographic portaits conveys their charisma, strength, and wisdom. In accompanying narratives, they describe their struggles and their insights into their conditions and the societal and cultural forces that shaped them.

We hear from Victor, who once wondered "Why should I be alive?" but now says "My life from now on is a tribute to those people who showed me love." We meet John, a 72-year-old physics professor who says, "The most spiritual I've ever felt was sitting in support groups where people are sharing anonymously," and Rosalind, a media professor who found strength in Judeo-Christian scriptures when recovering from postpartum depression. There is Haley, an overachiever who met one of her closest friends in a mental hospital; Therese, an administrative assistant who grew up with an abusive parent but learned to heal her inner child and create a new life for herself; and Jay, a linguistics professor, who was paralyzed in a fall. All of them experienced emotional or physical calamity but lived to tell the tale. But, as they tell us, they didn't do it entirely by themselves; they were helped by professionals, by friends, and by spiritual practices. No one is immune to depression or anxiety; many of these narrators had achieved professional or academic success in the demanding world of MIT. They tell their stories here to encourage others everywhere.