Alchemy: Transmuting Base Alloy Specifications into Implementations
Shriram Krishnamurthi, Daniel J. Dougherty, Kathi Fisler, Daniel Yoo
ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2008
Alloy specifications are used to define lightweight models of systems. We present Alchemy, which compiles Alloy specifications into implementations that execute against persistent databases. Alchemy translates a subset of Alloy predicates into imperative update operations, and it converts facts into database integrity constraints that it maintains automatically in the face of these imperative actions.
In addition to presenting the semantics and an algorithm for this compilation, we present the tool and outline its application to a non-trivial specification. We also discuss lessons learned about the relationship between Alloy specifications and imperative implementations.
The official version is in the ACM Digital Library.
These papers may differ in formatting from the versions that appear in print. They are made available only to support the rapid dissemination of results; the printed versions, not these, should be considered definitive. The copyrights belong to their respective owners.