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.
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
Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–583 (1969)
Floyd, R.W.: Assigning meanings to programs. Proceedings of the American Mathematical Society Symposia on Applied Mathematics 19, 9–31 (1967)
US National Science Foundation: Model checking pioneers receive Turing Award, most prestigious in computing, Press Release 08-022 (February 2008)
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Woodcock, J., Davies, J.: Using Z. Specification, Refinement and Proof. Prentice-Hall, Englewood Cliffs (1996)
Lano, K.: The B Language and Method: A Guide to Practical Formal Development. Springer, Heidelberg (1996)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)
Kropf, T. (ed.): Formal Hardware Verification: Methods and Systems in Comparison. LNCS, vol. 1287. Springer, Heidelberg (1997)
Clarke, E.M., Lerda, F.: Model checking: Software and beyond. Journal of Universal Computer Science 13(5), 639–649 (2007)
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)
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)
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)
Calinescu, R.: General-purpose autonomic computing. In: Denko, M., et al. (eds.) Autonomic Computing and Networking, pp. 3–30. Springer, Heidelberg (2009)
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)
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
Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects of Computing 6(5), 512–535 (1994)
Aziz, A., et al.: Model checking continuous time Markov chains. ACM Transactions on Computational Logic 1(1), 162–170 (2000)
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)
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
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)
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)
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)
Schneider, S.: The B-Method. Palgrave Macmillan, Basingstoke (2001)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)
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)
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)
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
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)
Holzmann, G.J.: The SPIN Model Checker. Addison-Wesley, Reading (2003)
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)
Morin, B., Barais, O., Jezequel, J.-M., Fleurey, F., Solberg, A.: Models@ run.time to support dynamic adaptation. Computer 42(10), 44–51 (2009)
Leucker, M., Schallhart, C.: A brief account of runtime verification. Journal of Logic and Algebraic Programming 78(5), 293–303 (2009)
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)
IEEE Computer: Special Issue on Models@Run.Time 42(10) (October 2009)
Blair, G., Bencomo, N., France, R.B.: Models@ run.time. Computer 42(10), 22–27 (2009)
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)
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)