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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Such assumption is not too restrictive. It is a common practice in many reliability modeling approaches (see, e.g., the survey [28]).
- 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.
Two grammatical conventions must be recalled: a variable identifier starts with $ and a rule identifier begins with “r_.”
- 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.
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.
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.
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.
For the sake of model linearity, as in [44], we consider the logarithm of the reliability rather than the reliability itself.
- 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.
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
Aldini, A., Bernardo, M., Corradini, F.: A Process Algebraic Approach to Software Architecture Design. Springer, London (2010)
Alrifai, M., Risse, T.: Combining global optimization with local selection for efficient QoS-aware service composition. In: WWW, pp. 881–890 (2009)
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
Apache Tuscany: http://tuscany.apache.org/ (2011)
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)
Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, New York (2003)
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)
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)
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)
Business Process Model and Notation: http://www.bpmn.org/ (2012)
Calinescu, R., Ghezzi, C., Kwiatkowska, M.Z., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)
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)
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)
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)
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)
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)
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)
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)
Cortellessa, V., Di Marco, A., Inverardi, P.: Model-Based Software Performance Analysis. Springer, Berlin (2011)
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)
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)
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)
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)
Goseva-Popstojanova, K., Trivedi, K.S.: Architecture-based approach to reliability assessment of software systems. Perform. Eval. 45(2–3), 179–204 (2001)
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)
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)
Ibrahim, N., Mohammad, M., Alagar, V.S.: An architecture for managing and delivering trustworthy context-dependent services. In: IEEE SCC, pp. 737–738 (2011)
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)
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)
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)
Mirandola, R., Potena, P., Riccobene, E., Scandurra, P.: A reliability model for service component architectures. J. Syst. Softw. 89, 109–127 (2014)
Musa, J.D.: Operational profiles in software-reliability engineering. IEEE Softw. 10(2), 14–32 (1993)
OASIS/OSOA: Service component architecture (SCA). www.oasis-opencsa.org/sca (2011)
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)
Riccobene, E., Scandurra, P.: A formal framework for service modeling and prototyping. Form. Asp. Comput. 26(6), 1077–1113 (2014)
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)
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)
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)
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)
Smith, C.U., Williams, L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, Redwood City (2002)
Standard Glossary of Software Engineering Terminology: STD-729-1991 ANSI/IEEE (1991)
The ASMETA Toolset Website: http://asmeta.sf.net/ (2011)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)