INVESTIGADORES
FRIAS Marcelo Fabian
artículos
Título:
Reasoning About Static and Dynamic Properties in Alloy: A Purely Relational Approach
Autor/es:
FRIAS, MARCELO FABIAN; LOPEZ POMBO, CARLOS GUSTAVO; BAUM, GABRIEL; AGUIRRE, NAZARENO; MAIBAUM, THOMAS STEPHEN EDWARD
Revista:
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
Editorial:
Association for Computing Machinery
Referencias:
Año: 2005 vol. 14 p. 478 - 526
ISSN:
1049-331X
Resumen:
We study a number of restrictions associated with the first-order
relational specification language Alloy. The main
shortcomings we address are:
\begin{itemize}
\item the lack of a complete calculus for deduction in Alloy's
underlying formalism, the so called relational logic,
\item the inappropriateness of the Alloy language for
describing (and analysing) properties regarding execution traces.
\end{itemize}
The first of these points was not regarded as an important issue
during the genesis of Alloy, and therefore has not been
taken into account in the design of the relational logic. The
second point is a consequence of the static nature of
Alloy specifications, and has been partly solved by the
developers of Alloy; however, their proposed solution
requires a complicated and unstructured characterisation of
executions.
We propose to overcome the first problem by translating the
relational logic to
the equational calculus of the \emph{fork algebras}. Fork algebras
provide a
(purely relational) formalism close to Alloy, that possesses a complete
equational deductive calculus. Regarding the second problem, we
propose to
extend Alloy by adding \emph{actions}. These actions, unlike Alloy
functions,
do modify the state. Much the same as programs in dynamic logic,
actions can be
sequentially composed and iterated, allowing to state properties of
execution
traces at an appropriate level of abstraction.
Since automatic analysis is one of Alloy's main features, and this
paper aims
to provide a deductive calculus for Alloy, we show that:
\begin{itemize}
\item the extension hereby proposed does not sacrifice the
possibility of using SAT solving techniques for
automated analysis,
\item the obtained complete calculus for the relational logic is
straightforwardly extended to a complete calculus for the extension
of Alloy.
\end{itemize}