Abstract
Real-time systems usually involve a subtle interaction of a number of distributed components and have a high degree of parallelism, which makes their performance analysis quite complex. Thus, traditional techniques, such as simulation, or the state-based formal methods usually fail to produce reasonable results. In this paper, we propose to use higher-order-logic (HOL) theorem proving for the performance analysis of real-time systems. The idea is to formalize the real-time system as a logical conjunction of HOL predicates, whereas each one of these predicates define an autonomous component or process of the given real-time system. The random or unpredictable behavior found in these components is modeled as random variables. This formal specification can then be used in a HOL theorem prover to reason about both functional and performance related properties of the given real-time system. In order to illustrate the practical effectiveness of our approach, we present the analysis of the Stop-and-Wait protocol, which is a classical example of real-time systems. The functional correctness of the protocol is verified by proving that the protocol ensures reliable data transfers. Whereas, the average message delay relation is verified in HOL for the sake of performance analysis. The paper includes the protocol’s formalization details along with the HOL proof sketches for the major theorems.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Alur, R.: Techniques for Automatic Verification of Real-time Systems. PhD Thesis. Stanford University, Stanford, USA (1992)
Amnell, T., Behrmann, G., Bengtsson, J., D’Argenio, P., David, A., Fehnker, A., Hune, T., Jeannet, B., Larsen, K.G., Möller, M., Pettersson, P., Weise, C., Yi, W.: Uppaal – now, next, and future. In: Modeling and Verification of Parallel Processes. LNCS, vol. 2067, pp. 99–124. Springer, Heidelberg (2001)
Beyer, D., Lewerentz, C., Noack, A.: Rabbit: a tool for BDD-based verification of real-time systems. In: Computer Aided Verification. LNCS, vol. 2725, pp. 122–125. Springer, Heidelberg (2003)
Billington, J., Gallasch, G., Petrucci, L.: Fast verification of the class of stop-and-wait protocols modelled by coloured petri nets. Nordic J. Comput. 12(3), 251–274 (2005)
Aviation Safety Network: Boeing 777 Incident. http://aviation-safety.net/database/record.php?id=20050801-1 (2008)
Bucci, G., Sassoli, L., Vicario, E.: Correctness verification and performance analysis of real-time systems using stochastic preemptive time petri nets. IEEE Trans. Softw. Eng. 31(11), 913–927 (2005)
Cardell-Oliver, R.: The Formal Verification of Hard Real-time systems. PhD Thesis. University of Cambridge, Cambridge (1992)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT, Cambridge (2000)
Wikipedia: Code Red (Computer Worm). http://en.wikipedia.org/wiki/code_red_worm (2008)
DeGroot, M.: Probability and Statistics. Addison-Wesley, Reading (1989)
Duflot, M., Fribourg, L., Hérault, T., Lassaigne, R., Magniette, F., Messika, S., Peyronnet, S., Picaronny, C.: Probabilistic model checking of the CSMA/CD protocol using PRISM and APMC. In: Proc. 4th Workshop on Automated Verification of Critical Systems, pp. 195–214. Elsevier Science, Oxford (2004)
Gallasch, G., Billington, J.: A parametric state space for the analysis of the infinite class of stop-and-wait protocols. In: Model Checking Software. LNCS, vol. 3925, pp. 201–218. Springer, Heidelberg (2006)
Leon Garcia, A., Widjaja, I.: Communication Networks: Fundamental Concepts and Key Architectures. McGraw-Hill, New York (2004)
Gordon, M.: Mechanizing programming logics in higher-order logic. In: Current Trends in Hardware Verification and Automated Theorem Proving, pp. 387–439. Springer, Heidelberg (1989)
Guerra, F., Figueiredo, J., Guerrero, D.: Protocol performance analysis using a timed extension for an object oriented petri net language. Electron. Notes Theor. Comput. Sci. 130, 187–209 (2005)
Harrison, J.: Theorem Proving with the Real Numbers. Springer, Heidelberg (1998)
Harrison, J., Slind, K., Arthan, R.: HOL. In: The Seventeen Provers of the World. LNCS, vol. 3600, pp. 11–19. Springer, Heidelberg (2006)
Hasan, O., Tahar, S.: Formalization of the continuous probability distributions. In: Automated Deduction. LNAI, vol. 4603, pp. 3–18. Springer, Heidelberg (2007)
Hasan, O., Tahar, S.: Verification of expectation properties for discrete random variables in HOL. In: Theorem Proving in Higher-Order Logics. LNCS, vol. 4732, pp. 119–134. Springer, Heidelberg (2007)
Hasan, O., Tahar, S.: Verification of tail distribution bounds in a theorem prover. In: Numerical Analysis and Applied Mathematics, vol. 936, pp. 259–262. American Institute of Physics, New York (2007)
Hasan, O., Tahar, S.: Formal Verification of Expectation and Variance for Discrete Random Variables. Technical Report. Concordia University, Montreal, June (2007). http://hvg.ece.concordia.ca/Publications/TECH_REP/FVEVDR_TR07
Havelund, K., Shankar, N.: Experiments in theorem proving and model checking for protocol verification. In: Industrial Benefit and Advances in Formal Methods. LNCS, vol. 1051, pp. 662–681. Springer, Heidelberg (1996)
Hurd, J.: Formal Verification of Probabilistic Algorithms. PhD Thesis. University of Cambridge, Cambridge (2002)
Khazanie, R.: Basic Probability Theory and Applications. Goodyear, Toronto (1976)
Kwiatkowska, M., Norman, G., Parker, D.: Quantitative analysis with the probabilistic model checker PRISM. Electron. Notes Theor. Comput. Sci. 153(2), 5–31 (2005)
Kwiatkowska, M., Norman, G., Parker, D.: Stochastic model checking. In: Formal Methods for Performance Evaluation. LNCS, vol. 4486, pp. 220–270. Springer, Heidelberg (2007)
Kwiatkowska, M., Norman, G., Segala, R., Sproston, J.: Automatic verification of real-time systems with discrete probability distributions. Theor. Comput. Sci., Elsevier. 282(1), 101–150 (2002)
NASA: Mars Climate Orbiter. http://solarsystem.nasa.gov/missions/profile.cfm?mcode=mco (2008)
NASA: Mars Polar Lander. http://mpfwww.jpl.nasa.gov/msp98/ (2008)
Marson, M., Bianco, A., Ciminiera, L., Sisto, R., Valenzano, A.: A LOTUS extension for the perfomance analysis of distributed systems. IEEE Trans. Netw. 2(2), 151–165 (1994)
Paulson, L.: Isabelle: A Generic Theroem Prover. LNCS, vol. 828. Springer, Heidelberg (1994)
PVS: PVS Specification and Verification System. http://pvs.csl.sri.com (2008)
Steggles, L., Kosiuczenko, P.: A timed rewriting logic semantics for SDL: a case study of the alternating bit protocol. Electron. Notes Theor. Comput. Sci. 15, 83–104 (1998)
Stenning, N.: A data transfer protocol. Comput. Netw. 1, 99–110 (1976)
Suzuki, I.: Formal analysis of the alternating bit protocol by temporal petri nets. IEEE Trans. Softw. Eng. 16(10), 1273–1281 (1990)
Tanenbaum, A.: Computer Networks. Prentice-Hall International, New York (1996)
Wells, L.: Performance analysis using coloured petri nets. In: Peoc. IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, pp. 217–222. IEEE Computer Society, Los Alamitos (2002)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Hasan, O., Tahar, S. Performance Analysis and Functional Verification of the Stop-and-Wait Protocol in HOL. J Autom Reasoning 42, 1–33 (2009). https://doi.org/10.1007/s10817-008-9105-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-008-9105-6