Advertisement

Formal Reliability Models for Web Services

  • Raffaela Mirandola
  • Pasqualina Potena
  • Elvinia Riccobene
  • Patrizia ScandurraEmail author
Chapter
Part of the Texts & Monographs in Symbolic Computation book series (TEXTSMONOGR)

Abstract

In Web services (WS), software applications are dynamically built by assembling over a network existing, loosely coupled, distributed, and heterogeneous services. Reliability is one of the most important quality dimensions for Web services, since predicting their reliability is fundamental to appropriately drive the selection and the assembly of services. This chapter presents two approaches to predict the reliability of a Web service architecture. The first one is based on the Business Process Execution Language (BPEL), the de facto standard executable language for specifying actions within business processes with Web services. The second one is based on the SCA-ASM, a lightweight formal language for modeling service-oriented applications, which is based on the OASIS (Organization for the Advancement of Structured Information Standards) standard Service Component Architecture for heterogeneous service assembly and on the formal method abstract state machines (ASMs) for modeling service behavior, interactions, and orchestration in an abstract but executable way. Through a set of experimental results, we show how the two models work on a smartphone mobile application example, and we discuss the effectiveness of the SCA-ASM approach in comparison with the BPEL-based approach.

References

  1. 1.
    Aldini, A., Bernardo, M., Corradini, F.: A Process Algebraic Approach to Software Architecture Design. Springer, London (2010)zbMATHCrossRefGoogle Scholar
  2. 2.
    Alrifai, M., Risse, T.: Combining global optimization with local selection for efficient QoS-aware service composition. In: WWW, pp. 881–890 (2009)Google Scholar
  3. 3.
    Alves, A., Arkin, A., Askary, S., Bloch, B., Curbera, F., Goland, Y., Kartha, N., 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 Standard Specification, 11 April 2007. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html
  4. 4.
    Apache Tuscany: http://tuscany.apache.org/ (2011)
  5. 5.
    Arcaini, P., Gargantini, A., Riccobene, E., Scandurra, P.: A model-driven process for engineering a toolset for a formal method. J. Softw. Pract. Exp. 41(2), 155–166 (2011)CrossRefGoogle Scholar
  6. 6.
    Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, New York (2003)CrossRefGoogle Scholar
  7. 7.
    Brosch, F., Koziolek, H., Buhnova, B., Reussner, R.: Architecture-based reliability prediction with the palladio component model. IEEE Trans. Softw. Eng. 38(6), 1319–1339 (2012)CrossRefGoogle Scholar
  8. 8.
    Bruneo, D., Distefano, S., Longo, F., Scarpa, M.: QoS assessment of WS-BPEL processes through non-Markovian stochastic Petri nets. In: 2010 IEEE International Symposium on Parallel Distributed Processing (IPDPS), pp. 1–12 (2010)Google Scholar
  9. 9.
    Brugali, D., Gherardi, L., Riccobene, E., Scandurra, P.: Coordinated execution of heterogeneous service-oriented components by abstract state machines. In: Arbab, F., Ölveczky, P.C. (eds.) FACS. Lecture Notes in Computer Science, vol. 7253, pp. 331–349. Springer, Berlin (2011)Google Scholar
  10. 10.
    Business Process Model and Notation: http://www.bpmn.org/ (2012)
  11. 11.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M.Z., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)CrossRefGoogle Scholar
  12. 12.
    Cardellini, V., Casalicchio, E., Grassi, V., Lo Presti, F.: Flow-based service selection for web service composition supporting multiple QoS classes. In: ICWS, pp. 743–750. IEEE Computer Society, Salt Lake City (2007)Google Scholar
  13. 13.
    Cardellini, V., Casalicchio, E., Grassi, V., Iannucci, S., Lo Presti, F., Mirandola, R.: MOSES: a framework for QoS driven runtime adaptation of service-oriented systems. IEEE Trans. Softw. Eng. 38(5), 1138–1159 (2012)CrossRefGoogle Scholar
  14. 14.
    Cardoso, J., Sheth, A.P., Miller, J.A., Arnold, J., Kochut, K.: Quality of service for workflows and web service processes. J. Web Semant. 1(3), 281–308 (2004)CrossRefGoogle Scholar
  15. 15.
    Chandran, S.K., Dimov, A., Punnekkat, S.: Modeling uncertainties in the estimation of software reliability. In: 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement (SSIRI), pp. 227–236. IEEE Computer Society, Singapore (2010)Google Scholar
  16. 16.
    Ciancone, A., Filieri, A., Luigi Drago, M., Mirandola, R., Grassi, V.: KlaperSuite: an integrated model-driven environment for reliability and performance analysis of component-based systems. In: TOOLS (49). Lecture Notes in Computer Science, vol. 6705, pp. 99–114. Springer, Berlin (2011)Google Scholar
  17. 17.
    Cortellessa, V., Potena, P.: Path-based error propagation analysis in composition of software services. In: Software Composition. Lecture Notes in Computer Science, vol. 4829, pp. 97–112. Springer, Berlin (2007)Google Scholar
  18. 18.
    Cortellessa, V., Marinelli, F., Potena, P.: Automated selection of software components based on cost/reliability tradeoff. In: EWSA. Lecture Notes in Computer Science, vol. 4344, pp. 66–81. Springer, Berlin (2006)Google Scholar
  19. 19.
    Cortellessa, V., Di Marco, A., Inverardi, P.: Model-Based Software Performance Analysis. Springer, Berlin (2011)CrossRefGoogle Scholar
  20. 20.
    Ding, Z., Jiang, M.: Port based reliability computing for service composition. In: Proceedings of the 2009 IEEE International Conference on Services Computing, SCC ’09, pp. 403–410 (2009)Google Scholar
  21. 21.
    Filieri, A., Ghezzi, C., Grassi, V., Mirandola, R.: Reliability analysis of component-based systems with multiple failure modes. In: CBSE. Lecture Notes in Computer Science, vol. 6092, pp. 1–20. Springer, Berlin (2010)Google Scholar
  22. 22.
    Gargantini, A., Riccobene, E., Scandurra, P.: A metamodel-based language and a simulation engine for abstract state machines. J. Universal Comput. Sci. 14(12), 1949–1983 (2008)Google Scholar
  23. 23.
    Gokhale, S.S., Lu, J.: Performance and availability analysis of an E-commerce site. In: 30th Annual International Computer Software and Applications Conference, 2006. COMPSAC ’06, vol. 1, pp. 495–502 (2006)Google Scholar
  24. 24.
    Goseva-Popstojanova, K., Trivedi, K.S.: Architecture-based approach to reliability assessment of software systems. Perform. Eval. 45(2–3), 179–204 (2001)zbMATHCrossRefGoogle Scholar
  25. 25.
    Goseva-Popstojanova, K., Deep Singh, A., Mazimdar, S., Li, F.: Empirical characterization of session-based workload and reliability for web servers. Empir. Softw. Eng. 11(1), 71–117 (2006)CrossRefGoogle Scholar
  26. 26.
    Grassi, V.: Architecture-based reliability prediction for service-oriented computing. In: WADS. Lecture Notes in Computer Science, vol. 3549, pp. 279–299. Springer, Berlin (2004)Google Scholar
  27. 27.
    Ibrahim, N., Mohammad, M., Alagar, V.S.: An architecture for managing and delivering trustworthy context-dependent services. In: IEEE SCC, pp. 737–738 (2011)Google Scholar
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    Janevski, N., Goseva-Popstojanova, K.: Session reliability of web systems under heavy-tailed workloads: an approach based on design and analysis of experiments. IEEE Trans. Softw. Eng. 99(PrePrints), 1 (2013)Google Scholar
  30. 30.
    Krka, I., Edwards, G., Cheung, L., Golubchik, L., Medvidovic, N.: A comprehensive exploration of challenges in architecture-based reliability estimation. In: Architecting Dependable Systems VI. Lecture Notes in Computer Science, vol. 5835, pp. 202–227 (2009)Google Scholar
  31. 31.
    Mirandola, R., Potena, P., Riccobene, E., Scandurra, P.: A reliability model for service component architectures. J. Syst. Softw. 89, 109–127 (2014)CrossRefGoogle Scholar
  32. 32.
    Musa, J.D.: Operational profiles in software-reliability engineering. IEEE Softw. 10(2), 14–32 (1993)CrossRefGoogle Scholar
  33. 33.
    OASIS/OSOA: Service component architecture (SCA). www.oasis-opencsa.org/sca (2011)
  34. 34.
    Potena, P.: Optimization of adaptation plans for a service-oriented architecture with cost, reliability, availability and performance tradeoff. J. Syst. Softw. 86(3), 624–648 (2013)CrossRefGoogle Scholar
  35. 35.
    Riccobene, E., Scandurra, P.: A formal framework for service modeling and prototyping. Form. Asp. Comput. 26(6), 1077–1113 (2014)MathSciNetCrossRefGoogle Scholar
  36. 36.
    Riccobene, E., Scandurra, P., Albani, F.: A modeling and executable language for designing and prototyping service-oriented applications. In: EUROMICRO-SEAA, pp. 4–11. IEEE, Oulu (2011)Google Scholar
  37. 37.
    Riccobene, E., Potena, P., Scandurra, P.: Reliability prediction for service component architectures with the SCA-ASM component model. In: Cortellessa, V., Muccini, H., Demirörs, O. (eds.) EUROMICRO-SEAA, pp. 125–132. IEEE Computer Society, İzmir (2012)Google Scholar
  38. 38.
    Roshandel, R., Medvidovic, N., Golubchik, L.: A Bayesian model for predicting reliability of software systems at the architectural level. In: QoSA. Lecture Notes in Computer Science, vol. 4880, pp. 108–126. Springer, Berlin (2007)Google Scholar
  39. 39.
    Sato, N., Trivedi, K.S.: Accurate and efficient stochastic reliability analysis of composite services using their compact markov reward model representations. In: IEEE International Conference on Services Computing, 2007. SCC 2007, pp. 114–121 (2007)Google Scholar
  40. 40.
    Smith, C.U., Williams, L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, Redwood City (2002)Google Scholar
  41. 41.
    Standard Glossary of Software Engineering Terminology: STD-729-1991 ANSI/IEEE (1991)Google Scholar
  42. 42.
    The ASMETA Toolset Website: http://asmeta.sf.net/ (2011)
  43. 43.
    Xia, Y., Liu, Y., Liu, J., Zhu, Q.: Modeling and performance evaluation of BPEL processes: a stochastic-petri-net-based approach. IEEE Trans. Syst. Man Cybern. A Syst. Hum. 42(2), 503–510 (2012)CrossRefGoogle Scholar
  44. 44.
    Zeng, L., Benatallah, B., Ngu, A.H.H., Dumas, M., Kalagnanam, J., Chang, H.: QoS-aware middleware for web services composition. IEEE Trans. Softw. Eng. 30, 311–327 (2004)CrossRefGoogle Scholar
  45. 45.
    Zheng, Z., Lyu, M.R.: Collaborative reliability prediction of service-oriented systems. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE ’10, pp. 35–44. ACM, New York (2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Raffaela Mirandola
    • 1
  • Pasqualina Potena
    • 2
  • Elvinia Riccobene
    • 3
  • Patrizia Scandurra
    • 2
    Email author
  1. 1.Politecnico di MilanoMilanoItaly
  2. 2.Università degli Studi di BergamoDalmineItaly
  3. 3.Università degli Studi di MilanoCremaItaly

Personalised recommendations