ACM Home Page
Please provide us with feedback. Feedback
Reasoning about static and dynamic properties in alloy: A purely relational approach
Full text PdfPdf (657 KB)
Source ACM Transactions on Software Engineering and Methodology (TOSEM) archive
Volume 14 ,  Issue 4  (October 2005) table of contents
Pages: 478 - 526  
Year of Publication: 2005
ISSN:1049-331X
Authors
Marcelo F. Frias  FCEyN, Universidad de Buenos Aires and CONICET, Buenos Aires, Argentina
Carlos G. López Pombo  FCEyN, Universidad de Buenos Aires and CONICET, Buenos Aires, Argentina
Gabriel A. Baum  Facultad de Informática, Universidad Nacional de La Plata and CONICET, La Plata, Argentina
Nazareno M. Aguirre  FCEFQyN, Universidad Nacional de Río Cuarto and CONICET, Córdobu, Argentina
Thomas S. E. Maibaum  Department of Computing & Software, McMaster University, ON, Canada
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 18,   Downloads (12 Months): 83,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1101815.1101819
What is a DOI?

ABSTRACT

We study a number of restrictions associated with the first-order relational specification language Alloy. The main shortcomings we address are:---the lack of a complete calculus for deduction in Alloy's underlying formalism, the so called relational logic,---the inappropriateness of the Alloy language for describing (and analyzing) properties regarding execution traces.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 characterization of executions.We propose to overcome the first problem by translating relational logic to the equational calculus of fork algebras. Fork algebras provide a purely relational formalism close to Alloy, which possesses a complete equational deductive calculus. Regarding the second problem, we propose to extend Alloy by adding 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 them to state properties of execution traces at an appropriate level of abstraction.Since automatic analysis is one of Alloy's main features, and this article aims to provide a deductive calculus for Alloy, we show that:---the extension hereby proposed does not sacrifice the possibility of using SAT solving techniques for automated analysis,---the complete calculus for the relational logic is straightforwardly extended to a complete calculus for the extension of Alloy.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
Arkoudas, K., Khurshid, S., Marinov, D., and Rinard, M. 2004. Integrating model checking and theorem proving for relational reasoning. In Proceedings of the 7th Conference on Relational Methods in Computer Science (RelMiCS)--2nd. International Workshop on Applications of Kleene Algebra, R. Berghammer and B. Möller, Eds. Lecture Notes in Computer Science, vol. 3051. Springer-Verlag, Malente, Germany, 204--213.
 
4
Bickford, M. and Guaspari, D. 1998. Lightweight analysis of UML. Tech. Rep. TM-98-0036, Odyssey Research Associates, Ithaca, NY, November.
 
5
 
6
Burris, S. and Sankappanavar, H. P. 1981. A Course in Universal Algebra. Graduate Texts in Mathematics. Springer-Verlag, Berlin, Germany.
 
7
Clarke, E. M., Grumberg, O., and Peled, D. 2000. Model Checking. MIT Press, Cambridge, MA.
 
8
 
9
 
10
Dowek, G., Felty, A., Herbelin, H., Huet, G., Murthy, C., Parent, C., Paulin-Mohring, C., and Werner, B. 1993. The coq proof assistant user's guide (version 5.8). Tech. Rep. 154, INRIA, Rocquencourt, France.
 
11
 
12
 
13
Frias, M. F., Haeberer, A. M., and Veloso, P. A. S. 1997. A finite axiomatization for fork algebras. Logic Journal of the IGPL 5, 3, 311--319.
 
14
Frias, M. F., Lopez Pombo, C. G., Baum, G. A., Aguirre, N. M., and Maibaum, T. S. E. 2003. Taking Alloy to the movies. In Proceedings of FM 2003: the 12th International FME Symposium, K. Araki, S. Gnesi, and D. Mandrioli, Eds. Lecture Notes in Computer Science, vol. 2805. Springer-Verlag, Pisa, Italy, 678--697.
 
15
 
16
17
18
 
19
Jackson, D. 2002b. A Micromodel of Software: Lightweight Modelling and Analysis with Alloy. MIT Laboratory for Computer Science, Cambridge, MA.
20
21
22
 
23
 
24
Lopez Pombo, C. G., Owre, S., and Shankar, N. 2002. A semantic embedding of the Ag dynamic logic in PVS. Tech. Rep. SRI-CSL-02-04, Computer Science Laboratory, SRI International. July.
 
25
 
26
 
27
 
28
Object Management Group. 1997. Object Constraint Language Specification. Object Management Group, Needham, MA, version 1.1.
 
29
 
30
 
31
 
32
Owre, S., Shankar, N., Rushby, J. M., and Stringer-Calvert, D. 2001a. PVS Language Reference, Version 2.4 ed. SRI International.
 
33
Owre, S., Shankar, N., Rushby, J. M., and Stringer-Calvert, D. 2001b. PVS Prover Guide, Version 2.4 ed. Computer Science Laboratory, SRI International.
 
34
Owre, S., Shankar, N., Rushby, J. M., and Stringer-Calvert, D. 2001c. PVS System Guide, Version 2.4 ed. Computer Science Laboratory, SRI International.
 
35
 
36
Tarski, A. and Givant, S. 1987. A Formalization of Set Theory Without Variables. American Mathematical Society Colloqium Publications, Providence, RI.
 
37
Vardi, M. Y. and Wolper, P. 1986. An automata-theoretic approach to automatic program verification (preliminary report). In Proceedings of the Symposium on Logic in Computer Science '86, A. Meyer, Ed. IEEE Computer Society, Cambridge, MA, 332--344.



REVIEW

"Rosziati Ibrahim : Reviewer"

Alloy is a first-order relational specification language that originates from the Z formal specification language, which is based on mathematical models and notations. Alloy is defined using a relational logic (RL), a logic with a clear semantics   more...

Collaborative Colleagues:
Marcelo F. Frias: colleagues
Carlos G. López Pombo: colleagues
Gabriel A. Baum: colleagues
Nazareno M. Aguirre: colleagues
Thomas S. E. Maibaum: colleagues