Skip to main content

Formal Reliability Models for Web Services

  • Chapter
  • 786 Accesses

Part of the book series: Texts & Monographs in Symbolic Computation ((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.

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

Buying options

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 EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   54.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

Learn about institutional subscriptions

Notes

  1. 1.

    Such assumption is not too restrictive. It is a common practice in many reliability modeling approaches (see, e.g., the survey [28]).

  2. 2.

    BPEL defines business processes using an XML-based language. There is no standard graphical notation for BPEL. Some vendors have invented their own notations. Consider the standard Business Process Model and Notation (BPMN) [10] as a graphical front end to capture BPEL process descriptions.

  3. 3.

    Two grammatical conventions must be recalled: a variable identifier starts with $ and a rule identifier begins with “r_.”

  4. 4.

    The usage profile may be not (fully) available. In such cases, the domain knowledge and the information provided by the SOA could be used for estimating it, as suggested, for example, in [38].

  5. 5.

    For the sake of model linearity, as in [44], when writing expressions, we consider the logarithm of the reliability rather than the reliability itself.

  6. 6.

    We recall from [36] that an SCA-ASM component has a distinguished rule name of arity zero, taking by convention the same name as the component (e.g., rule r_A in Fig. 3 for component A). This rule is assigned as a program to the component’s agent created during the initialization, and it is used as entry point for the component execution.

  7. 7.

    More precisely, m yields the number of rule constructors occurring in the rules, services, and program of the SCA-ASM component providing the service k.

  8. 8.

    For the sake of model linearity, as in [44], we consider the logarithm of the reliability rather than the reliability itself.

  9. 9.

    Let us recall (see Definition 2.4.5 in [6]) that consistency of updates guarantees that an ASM location is never simultaneously updated to different values.

  10. 10.

    Recall that an invariant expresses a constraint one wants to assume for some functions of the ASM signature. Such constraints are stated as first-order formulas that have to hold in every state of the ASM.

References

  1. Aldini, A., Bernardo, M., Corradini, F.: A Process Algebraic Approach to Software Architecture Design. Springer, London (2010)

    Book  MATH  Google Scholar 

  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. 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. Apache Tuscany: http://tuscany.apache.org/ (2011)

  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)

    Article  Google Scholar 

  6. Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, New York (2003)

    Book  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. Business Process Model and Notation: http://www.bpmn.org/ (2012)

  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)

    Article  Google Scholar 

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

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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. 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. Cortellessa, V., Di Marco, A., Inverardi, P.: Model-Based Software Performance Analysis. Springer, Berlin (2011)

    Book  Google Scholar 

  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. 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. 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. 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. Goseva-Popstojanova, K., Trivedi, K.S.: Architecture-based approach to reliability assessment of software systems. Perform. Eval. 45(2–3), 179–204 (2001)

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

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

  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. 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. Mirandola, R., Potena, P., Riccobene, E., Scandurra, P.: A reliability model for service component architectures. J. Syst. Softw. 89, 109–127 (2014)

    Article  Google Scholar 

  32. Musa, J.D.: Operational profiles in software-reliability engineering. IEEE Softw. 10(2), 14–32 (1993)

    Article  Google Scholar 

  33. OASIS/OSOA: Service component architecture (SCA). www.oasis-opencsa.org/sca (2011)

  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)

    Article  Google Scholar 

  35. Riccobene, E., Scandurra, P.: A formal framework for service modeling and prototyping. Form. Asp. Comput. 26(6), 1077–1113 (2014)

    Article  MathSciNet  Google Scholar 

  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. 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. 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. 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. Smith, C.U., Williams, L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, Redwood City (2002)

    Google Scholar 

  41. Standard Glossary of Software Engineering Terminology: STD-729-1991 ANSI/IEEE (1991)

    Google Scholar 

  42. The ASMETA Toolset Website: http://asmeta.sf.net/ (2011)

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrizia Scandurra .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Mirandola, R., Potena, P., Riccobene, E., Scandurra, P. (2015). Formal Reliability Models for Web Services. In: Thalheim, B., Schewe, KD., Prinz, A., Buchberger, B. (eds) Correct Software in Web Applications and Web Services. Texts & Monographs in Symbolic Computation. Springer, Cham. https://doi.org/10.1007/978-3-319-17112-8_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-17112-8_7

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-17111-1

  • Online ISBN: 978-3-319-17112-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics