Avestan: A declarative modeling language based on SMT-LIB

Avestan is a declarative modelling language compatible with SMT-LIB. SMT-LIB is an standard input language that is supported by the state-of-the-art satisfiability modulo theory solvers (SMT solvers). The recent advances in SMT solvers have introduced them as efficient analysis tools; as a result, they are becoming more popular in the verification and certification of digital products. SMT-LIB was designed to be machine readable rather than human readable. In this paper, we present Avestan, a declarative modelling language that is intended to be analyzed by SMT solvers and readable by humans. An Avestan model is translated to an SMT-LIB model so that it can be analyzed by different SMT solvers. Avestan has relational constructs that are heavily inspired by Alloy; we added these constructs to increase the readability of an Avestan model.

[1]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[2]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[3]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[4]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[5]  SWI-Prolog 5.6 Reference Manual , 2004 .

[6]  Mana Taghdiri,et al.  Analyzing Alloy Constraints using an SMT Solver: A Case Study , 2010 .

[7]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[8]  Bran Selic From Model-Driven Development to Model-Driven Engineering , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[9]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[10]  Sarfraz Khurshid,et al.  Optimizations for Compiling Declarative Models into Boolean Formulas , 2005, SAT.

[11]  Marco Cadoli,et al.  Compiling Problem Specifications into SAT , 2001, ESOP.

[12]  María Manzano Introduction to many-sorted logic , 1993 .

[13]  Kirsten Winter,et al.  Model Checking Support for the ASM High-Level Language , 2000, TACAS.

[14]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[15]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[16]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[17]  Jeffrey J. Joyce,et al.  S: A Machine Readable Specification Notation based on Higher Order Logic , 1994, TPHOLs.

[18]  Wolfgang Ahrendt,et al.  Reasoning about Abstract State Machines: The WAM Case Study , 1997, J. Univers. Comput. Sci..

[19]  Egon Börger The ASM Method for System Design and Analysis. A Tutorial Introduction , 2005, FroCoS.