• 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