DocumentCode
2439894
Title
Alcoa: the Alloy constraint analyzer
Author
Jackson, Daniel ; Schechter, Ian ; Shlyakhter, Ilya
Author_Institution
Lab. for Comput. Sci., MIT, MA, USA
fYear
2000
fDate
2000
Firstpage
730
Lastpage
733
Abstract
Alcoa is a tool for analyzing object models. It has a range of uses. At one end, it can act as a support tool for object model diagrams, checking for consistency of multiplicities and generating sample snapshots. At the other end, it embodies a lightweight formal method in which subtle properties of behaviour can be investigated. Alcoa´s input language, Alloy, is a new notation based on Z. Its development was motivated by the need for a notation that is more closely tailored to object models (in the style of UML), and more amenable to automatic analysis. Like Z, Alloy supports the description of systems whose state involves complex relational structure. State and behavioural properties are described declaratively, by conjoining constraints. This makes it possible to develop and analyze a model incrementally, with Alcoa investigating the consequences of whatever constraints are given. Alcoa works by translating constraints to boolean formulas, and then applying state-of-the-art SAT solvers. It can analyze billions of states in seconds
Keywords
Boolean functions; constraint handling; diagrams; formal specification; object-oriented programming; program compilers; relational algebra; software tools; specification languages; Alcoa; Alloy constraint analyzer; SAT solvers; UML; Z language; boolean formula; complex relational structure; constraint satisfaction; formal method; formal specification; notation; object model diagrams; object models; program compiler; relational logic; software analysis; Computer science; Data structures; File systems; Formal specifications; Laboratories; Logic; Permission; Risk analysis; Topology; Unified modeling language;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2000. Proceedings of the 2000 International Conference on
Conference_Location
Limerick
ISSN
0270-5257
Print_ISBN
1-58113-206-9
Type
conf
DOI
10.1109/ICSE.2000.870482
Filename
870482
Link To Document