Abstract
We extend the Alloy language with the standard imperative constructs; we show the mix of declarative and imperative constructs to be useful in modeling dynamic systems. We present a translation from our extended language to the existing first-order logic of the Alloy Analyzer, allowing for efficient analysis of models.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Jackson, D.: Software Abstractions: logic, language, and analysis. The MIT Press, Cambridge (2006)
Spivey, J.: The Z notation: a reference manual (1992)
Jones, C.: Systematic software development using VDM. Prentice Hall, New York (1990)
Frias, M., Galeotti, J., Pombo, C., Aguirre, N.: DynAlloy: upgrading alloy with actions. In: Proceedings of 27th International Conference on Software Engineering, 2005. ICSE 2005, pp. 442–450 (2005)
Frias, M., Pombo, C., Galeotti, J., Aguirre, N.: Efficient Analysis of DynAlloy Specifications (2007)
Morgan, C.: Programming from specifications (1990)
Andoni, A., Daniliuc, D., Khurshid, S., Marinov, D.: Evaluating the small scope hypothesis. In: Popl 2002: Proceedings of The 29th ACM Symposium on The Principles of Programming Languages (2002)
Jackson, D., Wing, J.: Lightweight formal methods. In: Saiedian, H. (ed.) Roundtable contribution to: An invitation to formal methods, vol. 29, pp. 16–30. IEEE Computer, Los Alamitos (1996)
Kang, E., Jackson, D.: Formal modeling and analysis of a flash filesystem in Alloy. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds.) ABZ 2008. LNCS, vol. 5238, pp. 294–308. Springer, Heidelberg (2008)
Nelson, G.: A generalization of Dijkstra’s calculus. ACM Transactions on Programming Languages and Systems (TOPLAS) 11(4), 517–561 (1989)
Dijkstra, E.: A discipline of programming. Prentice Hall PTR, Upper Saddle River (1997)
Pierce, B.: Types and programming languages. The MIT Press, Cambridge (2002)
Kuncak, V., Jackson, D.: Relational analysis of algebraic datatypes. ACM SIGSOFT Software Engineering Notes 30(5), 216 (2005)
Morgan, C.: The specification statement. ACM Transactions on Programming Languages and Systems (TOPLAS) 10(3), 403–419 (1988)
Lampson, B.: 6.826 class notes (2009), http://web.mit.edu/6.826/www/notes/
Abrial, J.: The B-book: assigning programs to meanings. Cambridge Univ. Pr., Cambridge (1996)
Börger, E., Stärk, R.: Abstract state machines: a method for high-level system design and analysis. Springer, Heidelberg (2003)
Krishnamurthi, S., Fisler, K., Dougherty, D., Yoo, D.: Alchemy: transmuting base alloy specifications into implementations. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, pp. 158–169. ACM, New York (2008)
Giannakopoulos, T., Dougherty, D., Fisler, K., Krishnamurthi, S.: Towards an Operational Semantics for Alloy. In: Proceedings of the 16th International Symposium on Formal Methods (2009) (to appear)
Beyer, D.: Relational programming with CrocoPat. In: Proceedings of the 28th International Conference on Software engineering, pp. 807–810. ACM, New York (2006)
Behnke, R., Berghammer, R., Meyer, E., Schneider, P.: RELVIEW-A system for calculating with relations and relational programming. In: Astesiano, E. (ed.) FASE 1998. LNCS, vol. 1382, pp. 318–321. Springer, Heidelberg (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Near, J.P., Jackson, D. (2010). An Imperative Extension to Alloy. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds) Abstract State Machines, Alloy, B and Z. ABZ 2010. Lecture Notes in Computer Science, vol 5977. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11811-1_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-11811-1_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11810-4
Online ISBN: 978-3-642-11811-1
eBook Packages: Computer ScienceComputer Science (R0)