Formal Methods @ Runtime

  • Radu Calinescu
  • Shinji Kikuchi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6662)

Abstract

Heuristics, simulation, artificial intelligence techniques and combinations thereof have all been employed in the attempt to make computer systems adaptive, context-aware, reconfigurable and self-managing. This paper complements such efforts by exploring the possibility to achieve runtime adaptiveness using mathematically-based techniques from the area of formal methods. It is argued that formal methods @ runtime represents a feasible approach, and promising preliminary results are summarised to support this viewpoint. The survey of existing approaches to employing formal methods at runtime is accompanied by a discussion of their challenges and of the future research required to overcome them.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–583 (1969)MATHCrossRefGoogle Scholar
  2. 2.
    Floyd, R.W.: Assigning meanings to programs. Proceedings of the American Mathematical Society Symposia on Applied Mathematics 19, 9–31 (1967)Google Scholar
  3. 3.
    US National Science Foundation: Model checking pioneers receive Turing Award, most prestigious in computing, Press Release 08-022 (February 2008)Google Scholar
  4. 4.
    Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  5. 5.
    Woodcock, J., Davies, J.: Using Z. Specification, Refinement and Proof. Prentice-Hall, Englewood Cliffs (1996)MATHGoogle Scholar
  6. 6.
    Lano, K.: The B Language and Method: A Guide to Practical Formal Development. Springer, Heidelberg (1996)Google Scholar
  7. 7.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  8. 8.
    Kropf, T. (ed.): Formal Hardware Verification: Methods and Systems in Comparison. LNCS, vol. 1287. Springer, Heidelberg (1997)Google Scholar
  9. 9.
    Clarke, E.M., Lerda, F.: Model checking: Software and beyond. Journal of Universal Computer Science 13(5), 639–649 (2007)MathSciNetGoogle Scholar
  10. 10.
    Dai, Y.-S.: Autonomic computing and reliability improvement. In: Proceedings of the Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2005), pp. 204–206 (2005)Google Scholar
  11. 11.
    Sterritt, R., Bustard, D.: Autonomic computing — a means of achieving dependability? In: Proceedings of the 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, ECBS 2003 (2003)Google Scholar
  12. 12.
    Kwiatkowska, M.: Quantitative verification: Models, techniques and tools. In: Proc. 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 449–458. ACM Press, New York (2007)CrossRefGoogle Scholar
  13. 13.
    Calinescu, R.: General-purpose autonomic computing. In: Denko, M., et al. (eds.) Autonomic Computing and Networking, pp. 3–30. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Calinescu, R., Kwiatkowska, M.: Using quantitative analysis to implement autonomic IT systems. In: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), pp. 100–110 (2009)Google Scholar
  15. 15.
    Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic QoS management and optimisation in service-based systems. IEEE Transactions on Software Engineering (2010), http://doi.ieeecomputersociety.org/10.1109/TSE.2010.92
  16. 16.
    Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects of Computing 6(5), 512–535 (1994)MATHCrossRefGoogle Scholar
  17. 17.
    Aziz, A., et al.: Model checking continuous time Markov chains. ACM Transactions on Computational Logic 1(1), 162–170 (2000)Google Scholar
  18. 18.
    Hinton, A., Kwiatkowska, M., Norman, G., Parker, D.: PRISM: A tool for automatic verification of probabilistic systems. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 441–444. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    Calinescu, R., Kwiatkowska, M.: CADS*: Computer-aided development of self-* systems. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 421–424. Springer, Heidelberg (2009), http://qav.comlab.ox.ac.uk/papers/fase09.pdf CrossRefGoogle Scholar
  20. 20.
    Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: Proc. 31st International Conference on Software Engineering (ICSE 2009), pp. 111–121. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  21. 21.
    Calinescu, R., Johnson, K., Rafiq, Y.: Using observation ageing to improve Markovian model learning in QoS engineering. In: Proceedings 2nd ACM/SPEC International Conference on Performance Engineering (2011)Google Scholar
  22. 22.
    Agerholm, S., Larsen, P.G.: A lightweight approach to formal methods. In: Hutter, D., Traverso, P. (eds.) FM-Trends 1998. LNCS, vol. 1641, pp. 168–183. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  23. 23.
    Schneider, S.: The B-Method. Palgrave Macmillan, Basingstoke (2001)Google Scholar
  24. 24.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
  25. 25.
    Kikuchi, S., Tsuchiya, S.: Configuration procedure synthesis for complex systems using model finder. In: Proceedings of the 15th IEEE International Conference on Complex Computer Systems, Oxford, UK (March 2010) (to appear)Google Scholar
  26. 26.
    Calinescu, R., Kikuchi, S., Kwiatkowska, M.: Formal methods for the development and verification of autonomic IT systems. In: Cong-Vinh, P. (ed.) Formal and Practical Aspects of Autonomic Computing and Networking: Specification, Development and Verification. IGI Global (to appear, 2011)Google Scholar
  27. 27.
    Roscoe, A.W.: The theory and practice of concurrency. Prentice-Hall, Englewood Cliffs (1998), http://web.comlab.ox.ac.uk/oucl/work/bill.roscoe/publications/68b.pdf Google Scholar
  28. 28.
    Kikuchi, S., Tsuchiya, S., Adachi, M., Katsuyama, T.: Policy verification and validation framework based on model checking approach. In: Proceedings of the 4th IEEE International Conference on Autonomic Computing, Jacksonville, Florida (June 2007)Google Scholar
  29. 29.
    Holzmann, G.J.: The SPIN Model Checker. Addison-Wesley, Reading (2003)Google Scholar
  30. 30.
    Wang, C., Hachtel, G.D., Somenzi, F.: Abstraction Refinement for Large Scale Model Checking (Series on Integrated Circuits and Systems). Springer-Verlag New York, Inc., Secaucus (2006)Google Scholar
  31. 31.
    Morin, B., Barais, O., Jezequel, J.-M., Fleurey, F., Solberg, A.: Models@ run.time to support dynamic adaptation. Computer 42(10), 44–51 (2009)CrossRefGoogle Scholar
  32. 32.
    Leucker, M., Schallhart, C.: A brief account of runtime verification. Journal of Logic and Algebraic Programming 78(5), 293–303 (2009)MATHCrossRefGoogle Scholar
  33. 33.
    Ramirez, A.J., Cheng, B.H.C.: Evolving models at run time to address functional and non-functional adaptation requirements. In: Proceedings of the Fourth Workshop on Models at Run Time, Denver, Colorado, USA, pp. 31–40. ACM, New York (2009)Google Scholar
  34. 34.
    IEEE Computer: Special Issue on Models@Run.Time 42(10) (October 2009)Google Scholar
  35. 35.
    Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
  36. 36.
    Pasareanu, C.S., Dwyer, M.B., Huth, M.: Assume-guarantee model checking of software: A comparative case study. In: Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking, London, UK, pp. 168–183. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  37. 37.
    Alur, R., Yannakakis, M.: Model checking of hierarchical state machines. ACM Trans. Program. Lang. Syst. 23(3), 273–303 (2001), doi:10.1145/503502.503503CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Radu Calinescu
    • 1
  • Shinji Kikuchi
    • 2
  1. 1.Aston UniversityBirminghamUK
  2. 2.Fujitsu Laboratories LimitedKawasakiJapan

Personalised recommendations