Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6662))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–583 (1969)

    Article  MATH  Google Scholar 

  2. Floyd, R.W.: Assigning meanings to programs. Proceedings of the American Mathematical Society Symposia on Applied Mathematics 19, 9–31 (1967)

    MATH  Google Scholar 

  3. US National Science Foundation: Model checking pioneers receive Turing Award, most prestigious in computing, Press Release 08-022 (February 2008)

    Google Scholar 

  4. Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  MATH  Google Scholar 

  5. Woodcock, J., Davies, J.: Using Z. Specification, Refinement and Proof. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  6. Lano, K.: The B Language and Method: A Guide to Practical Formal Development. Springer, Heidelberg (1996)

    Book  Google Scholar 

  7. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)

    Google Scholar 

  8. Kropf, T. (ed.): Formal Hardware Verification: Methods and Systems in Comparison. LNCS, vol. 1287. Springer, Heidelberg (1997)

    Google Scholar 

  9. Clarke, E.M., Lerda, F.: Model checking: Software and beyond. Journal of Universal Computer Science 13(5), 639–649 (2007)

    MathSciNet  Google Scholar 

  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. 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. 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)

    Google Scholar 

  13. Calinescu, R.: General-purpose autonomic computing. In: Denko, M., et al. (eds.) Autonomic Computing and Networking, pp. 3–30. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  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. 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. Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects of Computing 6(5), 512–535 (1994)

    Article  MATH  Google Scholar 

  17. Aziz, A., et al.: Model checking continuous time Markov chains. ACM Transactions on Computational Logic 1(1), 162–170 (2000)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  23. Schneider, S.: The B-Method. Palgrave Macmillan, Basingstoke (2001)

    Google Scholar 

  24. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)

    Google Scholar 

  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. 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. 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. 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. Holzmann, G.J.: The SPIN Model Checker. Addison-Wesley, Reading (2003)

    Google Scholar 

  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. Morin, B., Barais, O., Jezequel, J.-M., Fleurey, F., Solberg, A.: Models@ run.time to support dynamic adaptation. Computer 42(10), 44–51 (2009)

    Article  Google Scholar 

  32. Leucker, M., Schallhart, C.: A brief account of runtime verification. Journal of Logic and Algebraic Programming 78(5), 293–303 (2009)

    Article  MATH  Google Scholar 

  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. IEEE Computer: Special Issue on Models@Run.Time 42(10) (October 2009)

    Google Scholar 

  35. Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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.503503

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Calinescu, R., Kikuchi, S. (2011). Formal Methods @ Runtime. In: Calinescu, R., Jackson, E. (eds) Foundations of Computer Software. Modeling, Development, and Verification of Adaptive Systems. Monterey Workshop 2010. Lecture Notes in Computer Science, vol 6662. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21292-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21292-5_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21291-8

  • Online ISBN: 978-3-642-21292-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics