Abstract
We present a CSP model of the internal behaviour of Flash Memory, based on its specification by the Open Nand-Flash Interface (ONFi) consortium. This contributes directly to the low-level modelling of the data-storage technology that is the target of the POSIX filestore mini-challenge. The key objective was to ensure that the internal behaviour was well-specified, and that it was consistent with the specification of the external interface of such devices. The FDR toolkit was used to perform the revelent refinement/model-checking. In addition to uncovering errors and possible sources of misinterpretation in the ONFi standard, this work also describes a methodology for model data-entry based on a “state-chart” dialect of XML (SCXML) using XSLT to translate into CSP, and HTML, to support validation.
Work reported in this paper was partially supported by Science Foundation Ireland.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ajwani, D., Beckmann, A., Jacob, R., Meyer, U., Moruz, G.: On computational models for flash memory devices. In: Vahrenhold, J. (ed.) SEA 2009. LNCS, vol. 5526, pp. 16–27. Springer, Heidelberg (2009)
Barnett, J., Akolkar, R., Auburn, R.J., Bodell, M., Burnett, D.C., Carter, J., McGlashan, S., Lager, T.: State chart XML (SCXML): State machine notation for control abstraction. In: World Wide Web Consortium, Working Draft WD-scxml-20090507 (May 2009)
Butterfield, A., Freitas, L., Woodcock, J.: Mechanising a formal model of flash memory. Science of Computer Programming 74(4), 219–237 (2009), Special Issue on the Grand Challenge
Butterfield, A., Woodcock, J.: Formalising flash memory: First steps. In: ICECCS, pp. 251–260. IEEE Computer Society, Los Alamitos (2007)
Catháin, A.Ó.: Modelling flash memory device behaviour using CSP. Taught M.Sc dissertation, School of Computer Science and Statistics, Trinity College Dublin (2008), Also published as techreport TCD-CS-2008-47
Clarke, E.M., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168–176. Springer, Heidelberg (2004)
Damchoom, K., Butler, M., Abrial, J.-R.: Modelling and proof of a tree-structured file system. In: Liu, S., Maibaum, T., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 25–44. Springer, Heidelberg (2008)
Formal Systems (Europe) Ltd. Failures-Divergence Refinement, FDR2 User Manual, 6th edn. (June 2005)
Ferreira, M.A., Silva, S.S., Oliveira, J.N.: Verifying intel ash file system core specification. In: Larsen, P.G., Fitzgerald, J.S., Sahara, S. (eds.) Modelling and Analysis in VDM: Proceedings of the Fourth VDM/Overture Workshop, pp. 54–71. School of Computing Science, Newcastle University (2008), Technical Report CS-TR-1099
Freitas, L., Woodcock, J.: FDR explorer. Formal Asp. Comput. 21(1-2), 133–154 (2009)
Freitas, L., Woodcock, J., Fu, Z.: POSIX file store in Z/eves: An experiment in the verified software repository. Sci. Comput. Program 74(4), 238–257 (2009)
Freitas, L., Woodcock, J., Zhang, Y.: Verifying the CICS file control API with Z/eves: An experiment in the verified software repository. Sci. Comput. Program 74(4), 197–218 (2009)
Hynix Semiconductor. Open NAND Flash Interface Specification. Technical Report Revision 1.0, ONFI (December 28, 2006), http://www.onfi.org
Hoare, T., Leavens, G.T., Misra, J., Shankar, N.: The verified software initiative: A manifesto (2007), http://qpq.csl.sri.com/vsr/manifesto.pdf
Hoare, T.: The verifying compiler: A grand challenge for computing research. Journal of the ACM 50(1), 63–69 (2003)
Joshi, R., Holzmann, G.J.: A mini challenge: Build a verifiable file system. In: Proc. Verified Software: Theories, Tools, Experiments (VSTTE), Zürich (2005)
Kim, M., Choi, Y., Kim, Y., Kim, H.: Pre-testing flash device driver through model checking techniques. In: ICST, pp. 475–484. IEEE Computer Society, Los Alamitos (2008)
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)
Lowe, G.: Casper: A compiler for the analysis of security protocols. Journal of Computer Security 6(1-2), 53–84 (1998)
Oliveira, M., Cavalcanti, A., Woodcock, J.: A denotational semantics for circus. In: REFINE 2006. ENTCS, pp. 1–16 (2006)
Roscoe, A.W.: The Theory and Practise of Concurrency. Prentice-Hall (Pearson) (1997) (revised to 2000 and lightly revised to, 2005)
W3C. XSL Transformations, XSLT (1999), http://www.w3.org/TR/xslt
Woodcock, J.: First steps in the verified software grand challenge. IEEE Computer 39(10), 57–64 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Butterfield, A., Ó Catháin, A. (2009). Concurrent Models of Flash Memory Device Behaviour. In: Oliveira, M.V.M., Woodcock, J. (eds) Formal Methods: Foundations and Applications. SBMF 2009. Lecture Notes in Computer Science, vol 5902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10452-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-10452-7_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-10451-0
Online ISBN: 978-3-642-10452-7
eBook Packages: Computer ScienceComputer Science (R0)