Skip to main content

Conquering Complexity via Seamless Integration of Design-Time and Run-Time Verification

  • Chapter
Book cover Conquering Complexity

Abstract

The complexity of modern software systems has grown enormously in the past years with users always demanding for new features and better quality of service. Software applications evolved not only in terms of size, but also in the criticality of the services supported. At the same time, software artifacts changed from being monolithic and centralized to modular, distributed, and dynamic. Systems are now composed of heterogeneous components and infrastructures on which software is configured and deployed. Interactions with the external environment and the structure of the application, in terms of components and interconnections, are often required to change dynamically. All these causes challenge our ability to achieve acceptable levels of dependability. To guarantee system dependability, it is necessary to combine off-line (development-time) analysis techniques with run-time mechanisms for continuous verification. Off-line verification checks the correct behavior of the various components of the application under given assumptions on the embedding environment. But because verification can be incomplete, the assumptions about reality it relies upon are subject to uncertainty and variability and, in addition, the various parts of a complex system may evolve independently, it is necessary to extend verification to also cope with the runtime behavior of software. This paper motivates the need for continuous verification to guarantee dependability and shows how this goal may be tackled. In particular, it focuses attention on two important dependability attributes: reliability and performance.

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 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    http://www.dependability.org/wg10.4/.

  2. 2.

    The OASIS website is here: http://www.oasis-open.org.

References

  1. Alves, A., Arkin, A., Askary, S., Bloch, B., Curbera, F., Goland, Y., Kartha, N., Sterling, König, D., Mehta, V., Thatte, S., van der Rijn, D., Yendluri, P., Yiu, A.: Web services business process execution language version 2.0. OASIS Committee Draft (2006)

    Google Scholar 

  2. Ardagna, D., Ghezzi, C., Mirandola, R.: Rethinking the use of models in software architecture. In: 4th International Conference on the Quality of Software-Architectures, QoSA 2008. LNCS, vol. 5281, pp. 1–27. Springer, Berlin (2008)

    Google Scholar 

  3. Ardagna, D., Mirandola, R.: Per-flow optimal service selection for web services based processes. J. Syst. Softw. 83(8), 1512–1523 (2010)

    Article  Google Scholar 

  4. Aziz, A., Singhal, V., Balarin, F.: It usually works: the temporal logic of stochastic systems. In: Wolper, P. (ed.) Proc. 7th International Conference on Computer Aided Verification, CAV 95. LNCS, vol. 939, pp. 155–165. Springer, Berlin (1995)

    Google Scholar 

  5. Baier, C., Katoen, J.-P., Hermanns, H.: Approximate symbolic model checking of continuous-time Markov chains. In: Baeten, J.C.M., Mauw, S. (eds.) Proc. 10th International Conference on Concurrency Theory, CONCUR 99. LNCS, vol. 1664, pp. 146–161. Springer, Berlin (1999)

    Google Scholar 

  6. Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based performance prediction in software development: a survey. IEEE Trans. Softw. Eng. 30(5), 295–310 (2004)

    Article  Google Scholar 

  7. Baresi, L., Bianculli, D., Ghezzi, C., Guinea, S., Spoletini, P.: Validation of web service compositions. IET Softw. 1(6), 219–232 (2007)

    Article  Google Scholar 

  8. Baresi, L., Di Nitto, E., Ghezzi, C.: Toward open-world software: issue and challenges. Computer 39(10), 36–43 (2006)

    Article  Google Scholar 

  9. Baresi, L., Ghezzi, C., Guinea, S.: Smart monitors for composed services. In: Proceedings of the 2nd International Conference on Service Oriented Computing, ICSOC ’04, pp. 193–202. ACM, New York (2004)

    Chapter  Google Scholar 

  10. Baskett, F., Chandy, K.M., Muntz, R.R., Palacios, F.G.: Open, closed, and mixed networks of queues with different classes of customers. J. ACM 22(2), 248–260 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  11. Becker, S., Grunske, L., Mirandola, R., Overhage, S.: Performance prediction of component-based systems—a survey from an engineering perspective. In: Architecting Systems with Trustworthy Components. LNCS, vol. 3938, pp. 169–192. Springer, Berlin (2006)

    Chapter  Google Scholar 

  12. Becker, S., Koziolek, H., Reussner, R.: Model-based performance prediction with the Palladio component model. In: WOSP ’07: Proceedings of the 6th International Workshop on Software and Performance, pp. 54–65. ACM, New York (2007)

    Chapter  Google Scholar 

  13. Bernardi, S., Merseguer, J., Petriu, D.: Adding dependability analysis capabilities to the MARTE profile. In: Model Driven Engineering Languages and Systems, Proceedings 11th International Conference, MoDELS 2008, Toulouse, France, September 28–October 3, 2008. LNCS, vol. 5301, pp. 736–750. Springer, Berlin (2008)

    Chapter  Google Scholar 

  14. Bertoli, M., Casale, G., Serazzi, G.: The JMT simulator for performance evaluation of non-product-form queueing networks. In: Annual Simulation Symposium, pp. 3–10. IEEE Computer Society, Norfolk (2007)

    Google Scholar 

  15. Bolch, G., Greiner, S., de Meer, H., Trivedi, K.S.: Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications. Wiley-Interscience, New York (1998)

    Book  MATH  Google Scholar 

  16. Brooks, F.P.: The Mythical Man-Month: Essays on Software Engineering. Pearson Education, London (1975)

    Google Scholar 

  17. Calinescu, R.: General-purpose autonomic computing. In: Denko, M.K., Yang, L.T., Zhang, Y. (eds.) Autonomic Computing and Networking, pp. 3–30. Springer, Berlin (2009)

    Chapter  Google Scholar 

  18. Calinescu, R., Kwiatkowska, M.: Using quantitative analysis to implement autonomic it systems. In: ICSE ’09: Proceedings of the 31st International Conference on Software Engineering, pp. 100–110. IEEE Computer Society, Washington (2009)

    Google Scholar 

  19. Canfora, G., Di Penta, M., Esposito, R., Villani, M.L.: A framework for QoS-aware binding and re-binding of composite web services. J. Syst. Softw. 81(10), 1754–1769 (2008)

    Article  Google Scholar 

  20. Caporuscio, M., Funaro, M., Ghezzi, C.: Architectural issues of adaptive pervasive systems. In: Graph Transformations and Model-Driven Engineering, pp. 492–511 (2010)

    Chapter  Google Scholar 

  21. Cardellini, V., Casalicchio, E., Grassi, V., Lo Presti, F., Mirandola, R.: QoS-driven runtime adaptation of service oriented architectures. In: Proceedings ESEC/FSE 2009, pp. 131–140. ACM, New York (2009)

    Chapter  Google Scholar 

  22. Casale, G., Muntz, R., Serazzi, G.: Geometric bounds: a noniterative analysis technique for closed queueing networks. IEEE Trans. Comput. 57(6), 780–794 (2008)

    Article  MathSciNet  Google Scholar 

  23. Cavallaro, L., Di Nitto, E., Pelliccione, P., Pradella, M., Tivoli, M.: Synthesizing adapters for conversational web-services from their WSDL interface. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’10, pp. 104–113. ACM, New York (2010)

    Google Scholar 

  24. Chafle, G., Doshi, P., Harney, J., Mittal, S., Srivastava, B.: Improved adaptation of web service compositions using value of changed information. In: ICWS, pp. 784–791. IEEE Comput. Soc., Los Alamitos (2007)

    Google Scholar 

  25. Cheng, B., de Lemos, R., Giese, G., Inverardi, P., Magee, J. (eds.): Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar]. LNCS, vol. 5525. Springer, Berlin (2009)

    Google Scholar 

  26. Clark, A., Gilmore, S., Hillston, J., Tribastone, M.: Stochastic process algebras. In: 7th Intern. School on Formal Methods, SFM. LNCS, vol. 4486, pp. 132–179. Springer, Berlin (2007)

    Google Scholar 

  27. Di Nitto, E., Ghezzi, C., Metzger, A., Papazoglou, M.P., Pohl, K.: A journey to highly dynamic, self-adaptive service-based applications. Autom. Softw. Eng. 15(3–4), 313–341 (2008)

    Article  Google Scholar 

  28. Dwyer, M.B., Avrunin, J.S., Corbett, J.C.: Property specification patterns for finite-state verification. In: Proc. 21th International Conference on Software Engineering (ICSE99), pp. 411–420. ACM, New York (1999)

    Google Scholar 

  29. Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: Proc. 31st International Conference on Software Engineering (ICSE09), pp. 111–121. IEEE Comput. Soc., Los Alamitos (2009)

    Google Scholar 

  30. Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: Taylor, R.N., Gall, H., Medvidovic, N. (eds.) ICSE, pp. 341–350 (2011)

    Google Scholar 

  31. Gallotti, S., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Quality prediction of service compositions through probabilistic model checking. In: QoSA, Quality of Software Architecture. LNCS. Springer, Berlin (2008)

    Google Scholar 

  32. Garlan, D., Cheng, S.-W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Comput. 37(10), 46–54 (2004)

    Article  Google Scholar 

  33. Ghezzi, C., Guinea, S.: Run-time monitoring in service-oriented architectures. In: Test and Analysis of Web Services, pp. 237–264. Springer, Berlin (2007)

    Chapter  Google Scholar 

  34. Ghezzi, C., Motta, A., Manna, V.P.L., Tamburrelli, G.: QoS driven dynamic binding in-the-many. In: Heineman, G.T., Kofron, J., Plasil, F. (eds.) Research into Practice—Reality and Gaps, 6th International Conference on the Quality of Software Architectures, QoSA 2010, Prague, Czech Republic, June 23–25, 2010, pp. 68–83. Springer, Berlin (2010)

    Google Scholar 

  35. Ghezzi, C., Tamburrelli, G.: Reasoning on non-functional requirements for integrated services. In: RE ’09: Proceedings of the 17th International Conference on Requirements Engineering, Atlanta, USA (2009)

    Google Scholar 

  36. Grassi, V.: Architecture-based reliability prediction for service-oriented computing. In: Workshop on Architecting Dependable Systems, WADS. LNCS, vol. 3549, pp. 279–299. Springer, Berlin (2004)

    Chapter  Google Scholar 

  37. Gruhn, V., Laue, R.: Patterns for timed property specifications. Electron. Notes Theor. Comput. Sci. 153(2), 117–133 (2006)

    Article  Google Scholar 

  38. Grunske, L.: Specification patterns for probabilistic quality properties. In: Robbie (ed.) 30th International Conference on Software Engineering (ICSE 2008), pp. 31–40. ACM, New York (2008)

    Google Scholar 

  39. Guo, H., Huai, J., Li, H., Deng, T., Li, Y., Du, Z.: ANGEL: optimal configuration for high available service composition. In: IEEE International Conference on Web Services (ICWS 2007), pp. 280–287. IEEE Comput. Soc., Los Alamitos (2007)

    Chapter  Google Scholar 

  40. Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Form. Asp. Comput. 6(5), 512–535 (1994)

    Article  MATH  Google Scholar 

  41. Harney, J., Doshi, P.: Speeding up adaptation of web service compositions using expiration times. In: World Wide Web (WWW), pp. 1023–1032. ACM, New York (2007)

    Google Scholar 

  42. Hinton, A., Kwiatkowska, M., Norman, G., Parker, D.: Prism: a tool for automatic verification of probabilistic systems. In: Proc. 12th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’06), vol. 3920, pp. 441–444 (2006)

    Chapter  Google Scholar 

  43. Immonen, A., Niemelä, E.: Survey of reliability and availability prediction methods from the viewpoint of software architecture. Softw. Syst. Model. 7(1), 49–65 (2008)

    Article  Google Scholar 

  44. Jain, R.: The Art of Computer Systems Performance Analysis—Techniques for Experimental Design, Measurement, Simulation, and Modeling. Wiley-Interscience, New York (1991)

    MATH  Google Scholar 

  45. Katoen, J.-P., Kemna, T., Zapreev, I.S., Jansen, D.N.: Bisimulation minimisation mostly speeds up probabilistic model checking. In: Grumberg, O., Huth, M. (eds.) Tools and Algorithms for the Construction and Analysis of Systems TACAS 2007, Proceedings. LNCS, vol. 4424, pp. 87–101. Springer, Berlin (2007)

    Chapter  Google Scholar 

  46. Katoen, J.-P., Khattri, M., Zapreev, I.S.: A Markov reward model checker. In: QEST, pp. 243–244. IEEE Comput. Soc., Los Alamitos (2005)

    Google Scholar 

  47. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)

    Article  Google Scholar 

  48. Kerola, T.: The composite bound method for computing throughput bounds in multiple class environments. Perform. Eval. 6(1), 1–9 (1986)

    Article  MathSciNet  Google Scholar 

  49. Konrad, S., Cheng, B.: Real-time specification patterns. In: Roman, G.-C., Griswold, W.G., Nuseibeh, B. (eds.) 27th International Conference on Software Engineering (ICSE 05), pp. 372–381. ACM, New York (2005)

    Chapter  Google Scholar 

  50. Kramer, J., Magee, J.: The evolving philosophers problem: dynamic change management. IEEE Trans. Softw. Eng. 16, 1293–1306 (1990)

    Article  Google Scholar 

  51. Kwiatkowska, M.: Quantitative verification: models, techniques and tools. In: 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)

    Chapter  Google Scholar 

  52. Kwiatkowska, M.Z., Norman, G., Parker, D.: Probabilistic symbolic model checking with PRISM: a hybrid approach. Int. J. Softw. Tools Technol. Transf. 6(2), 128–142 (2004)

    Article  Google Scholar 

  53. Kwiatkowska, M.Z., Norman, G., Parker, D.: Symmetry reduction for probabilistic model checking. In: Ball, T., Jones, R.B. (eds.) Computer Aided Verification, Proceedings 18th International Conference, CAV 2006. LNCS, vol. 4144, pp. 234–248. Springer, Berlin (2006)

    Google Scholar 

  54. Kwiatkowska, M.Z., Norman, G., Parker, D., Sproston, J.: Performance analysis of probabilistic timed automata using digital clocks. Form. Methods Syst. Des. 29(1), 33–78 (2006)

    Article  MATH  Google Scholar 

  55. Lazowska, E.D., Zahorjan, J., Graham, G.S., Sevcik, K.C.: Quantitative System Performance: Computer System Analysis Using Queueig Network Models. Prentice Hall, New York (1984)

    Google Scholar 

  56. Maoz, S.: Using model-based traces as runtime models. IEEE Comput. 42(10), 28–36 (2009)

    Article  Google Scholar 

  57. Marsan, M.A.: Stochastic petri nets: an elementary introduction. In: Advances in Petri Nets, pp. 1–29. Springer, Berlin (1989)

    Google Scholar 

  58. Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: 1st Joint WOSP/SIPEW International Conference on Performance Engineering, pp. 105–116. ACM, New York (2010)

    Chapter  Google Scholar 

  59. Marzolla, M., Mirandola, R.: Performance aware reconfiguration of software systems. In: Computer Performance Engineering—Proceedings 7th European Performance Engineering Workshop, EPEW 2010, Bertinoro, Italy, September 23–24, 2010. LNCS, vol. 6342, pp. 51–66. Springer, Berlin (2010)

    Google Scholar 

  60. Menascé, D.A., Ewing, J.M., Gomaa, H., Malek, S., Sousa, J.P.: A framework for utility-based service oriented design in sassy. In: Proc. First Joint WOSP/SIPEW Int. Conf. on Performance Engineering, pp. 27–36. ACM, New York (2010)

    Chapter  Google Scholar 

  61. Morin, B., Barais, O., Jézéquel, J.-M., Fleurey, F., Solberg, A.: Models@ run.time to support dynamic adaptation. IEEE Comput. 42(10), 44–51 (2009)

    Article  Google Scholar 

  62. Puterman, M.L.: Markov Decision Processes. Wiley, New York (1994)

    Book  MATH  Google Scholar 

  63. Raimondi, F., Skene, J., Emmerich, W.: Efficient online monitoring of web-service slas. In: SIGSOFT FSE, pp. 170–180. ACM, New York (2008)

    Google Scholar 

  64. Ross, S.M.: Stochastic Processes. Wiley, New York (1996)

    MATH  Google Scholar 

  65. Salehie, M., Li, S., Asadollahi, R., Tahvildari, L.: Change support in adaptive software: a case study for fine-grained adaptation. In: EASE ’09: Proc. Sixth IEEE Conf. and Workshops on Engineering of Autonomic and Autonomous Systems, pp. 35–44. IEEE Comput. Soc., Washington (2009)

    Chapter  Google Scholar 

  66. Sato, N., Trivedi, K.S.: Stochastic modeling of composite web services for closed-form analysis of their performance and reliability bottlenecks. In: ICSOC. LNCS, vol. 4749, pp. 107–118. Springer, Berlin (2007)

    Google Scholar 

  67. Sen, K., Viswanathan, M., Agha, G.: On statistical model checking of stochastic systems. In: Etessami, K., Rajamani, S.K. (eds.) Computer Aided Verification. LNCS, vol. 3576, pp. 266–280. Springer, Berlin (2005)

    Chapter  Google Scholar 

  68. Taylor, R.N., Medvidovic, N., Oreizy, P.: Architectural styles for runtime software adaptation. In: WICSA/ECSA, pp. 171–180. IEEE Press, New York (2009)

    Google Scholar 

  69. Vandewoude, Y., Ebraert, P., Berbers, Y., D’Hondt, T.: Tranquility: a low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans. Softw. Eng. 33(12), 856–868 (2007)

    Article  Google Scholar 

  70. Wang, L., Dingle, N.J., Knottenbelt, W.J.: Natural language specification of performance trees. In: Thomas, N., Juiz, C. (eds.) Proceedings of the 5th European Performance Engineering Workshop, EPEW 2008. LNCS, vol. 5261, pp. 141–151 (2008)

    Google Scholar 

  71. WOSP International Workshops on Software and Performance. ACM, New York (1998–2008)

    Google Scholar 

  72. Zeng, L., Benatallah, B., Ngu, A.H., Dumas, M., Kalagnanam, J., Chang, H.: QoS-aware middleware for web services composition. IEEE Trans. Softw. Eng. 30(5), 311–327 (2004)

    Article  Google Scholar 

  73. Zheng, T., Woodside, M., Litoiu, M.: Performance model estimation and tracking using optimal filters. IEEE Trans. Softw. Eng. 34(3), 391–406 (2008)

    Article  Google Scholar 

Download references

Acknowledgements

This research has been partially funded by the European Commission, Programme IDEAS-ERC, Project 227977-SMScom.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antonio Filieri .

Editor information

Editors and Affiliations

Appendix: BPEL Overview

Appendix: BPEL Overview

BPEL, the Business Process Execution Language, is an XML-based workflow language conceived for the definition and the execution of service compositions. BPEL processes comprise variables, with different visibility levels, and the workflow logic expressed as a composition of elementary activities. Activities comprise tasks like: Receive, Invoke, and Reply that are related to the interaction with other services. Moreover it is possible to perform assignments (Assign), throw exceptions (Throw), pause (Wait) or stop the process (Terminate).

Branch, loop, while, sequence, and switch constraints manage the control flow of BPEL processes. The pick construct is peculiar to the domain of concurrent and distributed systems, and waits for the first out of several incoming messages, or timer alarms to occur, to execute the activities associated with such an event. Each scope may contain the definition of the several handlers: (1) an Event Handler that reacts to an event by executing a specific activity, (2) a Fault Handler catches faults in the local scope, and (3) a Compensation Handler aimed at restoring the effects of a previously unsuccessful transaction. For a complete description of the BPEL language see [1] and the Organization for the Advancement of Structured Information Standards (OASIS) website.Footnote 2 The graphical representation used in this paper is described earlier in Sect. 12.2.

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag London Limited

About this chapter

Cite this chapter

Filieri, A., Ghezzi, C., Mirandola, R., Tamburrelli, G. (2012). Conquering Complexity via Seamless Integration of Design-Time and Run-Time Verification. In: Hinchey, M., Coyle, L. (eds) Conquering Complexity. Springer, London. https://doi.org/10.1007/978-1-4471-2297-5_12

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2297-5_12

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-2296-8

  • Online ISBN: 978-1-4471-2297-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics