Abstract
This paper demonstrates how to use a satisfiability modulo theories (SMT) solver together with a bounded model checker to verify properties of real-time physical layer protocols. The method is first used to verify the Biphase Mark protocol, a protocol that has been verified numerous times previously, allowing for a comparison of results. The techniques are extended to the 8N1 protocol used in universal asynchronous receiver transmitters. We then demonstrate the use of temporal refinement to link a finite state specification of 8N1 with its real-time implementation. This refinement relationship relieves a significant disadvantage of SMT approaches—their inability to scale to large problems. Finally, capturing the impact of metastability on timing requirements is a key issue in modeling physical-layer protocols. Rather than model metastability directly, a contribution of our models is treating its effect as a constraint on non-determinism.
Similar content being viewed by others
References
Abadi M, Lamport L (1991) The existence of refinement mappings. Theor Comput Sci 82(2): 253–284
Barrett C, Oliveras A, Stump A (2007) http://www.smtcomp.org/
Brown GM, Pike L (2006) Easy parameterized verification of biphase mark and 8N1 protocols. In: The proceedings of the 12th international conference on tools and the construction of algorithms (TACAS’06), pp 58–72. http://www.cs.indiana.edu/~lepike/pub_pages/bmp.html
Brown GM, Pike L (2007) Temporal refinement using smt and model checking with an application to physical-layer protocols. In: The proceedings of the fifth ACM-IEEE international conference on formal methods and models for codesign (MEMOCODE’07). http://www.cs.indiana.edu/~lepike/pub_pages/refinement.html
Dutertre B, de Moura L (2009) Yices: an SMT solver. http://yices.csl.sri.com/, August 2006
de Moura L, Owre S, Rueß H, Rushby J, Shankar N, Sorea M, Tiwari A (2004) SAL 2. In: Computer-aided verification, CAV’04, volume 3114 of LNCS, Boston, MA, July 2004. Springer-Verlag, pp 496–500
de Moura L, Rueß H, Sorea M (2003) Bounded model checking and induction: from refutation to verification. In: Computer-aided verification, CAV’03, volume 2725 of LNCS
Dutertre B, Sorea M (2004) Modeling and verification of a fault-tolerant real-time startup protocol using calendar automata. In: FORMATS/FTRTFT, pp 199–214
Henzinger T, Preussig J, Wong-Toi H (2001) Some lessons from the Hytech experience. In: Proceedings of the 40th annual conference on decision and control, pp 2887–2892
Hune TS, Romijn J, Stoelinga M, Vaandrager FW (2001) Linear parametric model checking of timed automata. Technical report RS-01-5, BRICS, University of Aarhus
Hung DV (1998) Modelling and verification of biphase mark protocols using PVS. In: Proceedings of the international conference on applications of concurrency to system design (CSD’98), Aizu-wakamatsu, Fukushima, Japan, March 1998. IEEE Computer Society Press, pp 88–98
Kopetz H (1997) Real-time systems. Kluwer, Dordrecht
Knapp S, Paul WJ (2006) Realistic worst case execution time analysis in the context of pervasive system verification. In: Program analysis and compilation, theory and practice: essays dedicated to Reinhard Wilhelm, LNCS volume 4444. Springer, New York, pp 53–81
Maxim Integrated Products, Inc. (2003) Determining clock accuracy requirements for UART communications, June 2003. http://www.maxim-ic.com/appnotes.cfm/appnote_number/2141
Moore JS (1994) A formal model of asynchronous communication and its use in mechanically verifying a biphase mark protocol. Formal Aspects Comput 6(1): 60–91
Pike L (2007) Modeling time-triggered protocols and verifying their real-time schedules. In: Formal methods in computer aided design (FMCAD). IEEE. http://www.cs.indiana.edu/~lepike/pub_pages/fmcad.html
Pike L, Johnson SD (2005) The formal verification of a reintegration protocol. In: EMSOFT ’05: proceedings of the 5th ACM international conference on Embedded software, New York, NY, USA. ACM Press, pp 286–289
Rushby J (2000) Verification diagrams revisited: disjunctive invariants for easy verification. In: Computer-aided verification, CAV’00, volume 1855 of LNCS, Chicago, IL, July 2000. Springer-Verlag, pp 508–520
Rushby J (2001) Bus architectures for safety-critical embedded systems. In: Henzinger T, Kirsch C (eds) EMSOFT 2001: proceedings of the first workshop on embedded software, volume 2211 of lecture notes in computer science, Lake Tahoe, CA, October 2001. Springer-Verlag, pp 306–323
Rushby J (2006) Harnessing disruptive innovation in formal verification. In: 4th IEEE international conference on software engineering and formal methods (SEFM). IEEE Computer Society. http://www.csl.sri.com/users/rushby/abstracts/sefm06
Seshia SA, Bryant RE, Stevens KS (2005) Modeling and verifying circuits using generalized relative timing. In: ASYNC, pp 98–108
Schmaltz J (2007) A formal model of clock domain crossing and automated verification of time-triggered hardware. In: Formal methods in computer aided design (FMCAD). IEEE
Vaandrager FW, de Groot AL (2004) Analysis of a Biphase Mark Protocol with Uppaal and PVS. Technical report NIII-R0455, Nijmegen Institute for Computing and Information Science
Author information
Authors and Affiliations
Corresponding author
Additional information
E.A. Emerson
Based on material originally published in [BP06] and [BP07].
Rights and permissions
About this article
Cite this article
Brown, G.M., Pike, L. Automated verification and refinement for physical-layer protocols. Form Asp Comp 23, 243–266 (2011). https://doi.org/10.1007/s00165-010-0149-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-010-0149-0