Alloy (specification language)

Alloy (specification language)

In computer science and software engineering, the Alloy specification language is a declarative language for expressing complex structural constraints and behavior in a software system. Alloy provides a simple structural modeling tool based on first-order logic. The mathematical underpinnings of the language were heavily influenced by the Z notation, although the syntax of Alloy owes more to languages such as Object Constraint Language. [cite book|last=Jackson|first=Daniel |authorlink=Daniel Jackson (computer scientist)|title = Software Abstractions: Logic, Language, and Analysis|publisher=MIT Press|year = 2006 |id=ISBN 978-0-262-10114-1] Alloy is targeted at the creation of "micro-models" that can then be automatically checked for correctness. Alloy specifications can be checked using the Alloy Analyzer.

The first version of the Alloy language appeared in 1997. It was a rather limited object modeling language. Succeeding iterations of the language added quantifiers, higher arity relations, polymorphism, subtyping, and signatures.cite web|title=Alloy FAQ|url=|accessdate=2007-05-16]


External links

* [ The Alloy website] at MIT
* [ A Guide to Alloy]
* [ Citations] from CiteSeer

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Alloy Analyzer — In computer science and software engineering, the Alloy Analyzer is a software tool which can be used to analyze specifications written in the Alloy specification language.cite book|last=Jackson|first=Daniel |authorlink=Daniel Jackson (computer… …   Wikipedia

  • Alloy — This article is about the type of material. For the specification language, see Alloy (specification language). For lightweight auto wheels, see alloy wheel. Steel is a metal alloy whose major component is iron, with carbon content between 0.02%… …   Wikipedia

  • Object Constraint Language — The Object Constraint Language (OCL) is a declarative language for describing rules that apply to Unified Modeling Language (UML) models developed at IBM and now part of the UML standard. Initially, OCL was only a formal specification language… …   Wikipedia

  • Формальные методы — Пример формальной спецификации с использованием Z нотации В информатике и инженерии программного обеспечения формальными методами называется группа техник, основанных на математическом аппарате для …   Википедия

  • Daniel Jackson (computer scientist) — Daniel Jackson (born 1963) is a Professor of Computer Science at the Massachusetts Institute of Technology (MIT). He is the principal designer of the Alloy modelling language, and author of the book Software Abstractions: Logic, Language, and… …   Wikipedia

  • Aluminium recycling — is the process by which scrap aluminium can be reused in products after its initial production. The process involves simply re melting the metal, which is far less expensive and energy intensive than creating new aluminium through the… …   Wikipedia

  • Formal methods — In computer science and software engineering, formal methods are particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems.cite web|author=R. W. Butler|title=What is… …   Wikipedia

  • Holden VE Commodore — For a complete overview of all Commodore models, see Holden Commodore. Holden VE Commodore Manufacturer Holden (General Motors) Also called …   Wikipedia

  • Screw — This article is about the fastener. For other uses, see Screw (disambiguation). Screws come in a variety of shapes and sizes for different purposes. U.S. quarter coin (diameter 24 mm) shown for scale. A screw, or bolt, is a type of fastener… …   Wikipedia

  • Kilogram — Kg redirects here. For other uses, see Kg (disambiguation). Kilogram A computer generated image of the international prototype kilogram (IPK). The IPK is the kilogram. The IPK, which is roughly the size of a golf ball, sits here alongside a ruler …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.