Abstract
Service composition aims at achieving a business goal by composing existing service-based applications or components. The response time of a service is crucial, especially in time-critical business environments, which is often stated as a clause in service-level agreements between service providers and service users. To meet the guaranteed response time requirement of a composite service, it is important to select a feasible set of component services such that their response time will collectively satisfy the response time requirement of the composite service. In this work, we use the BPEL modeling language that aims at specifying Web services. We extend it with timing parameters and equip it with a formal semantics. Then, we propose a fully automated approach to synthesize the response time requirement of component services modeled using BPEL, in the form of a constraint on the local response times. The synthesized requirement will guarantee the satisfaction of the global response time requirement, statically or dynamically. We implemented our work into a tool, Selamat and performed several experiments to evaluate the validity of our approach.
Similar content being viewed by others
Notes
Without loss of generality, we assume here that all NNCCs are in conjunctive normal form (CNF).
We discuss the time incurred for internal operations in Sect. 6.6.
For readability, we give the constraint as output in disjunctive normal form (DNF), instead of the usual conjunctive normal form (CNF).
References
Adbeddaïm, Y., Maler, O.: Preemptive job-shop scheduling using stopwatch automata. In: Katoen, J.P., Stevens, P. (eds.) TACAS, Lecture Notes in Computer Science, vol. 2280, pp. 113–126. Springer, Berlin (2002). https://doi.org/10.1007/3-540-46002-0_9
Ai, L., Tang, M.: A Penalty-Based Genetic Algorithm for QoS-Aware Web Service Composition with Inter-service Dependencies and Conflicts, pp. 738–743. IEEE Computer Society, Washington (2008). https://doi.org/10.1109/CIMCA.2008.104
Alrifai, M., Risse, T.: Combining global optimization with local selection for efficient QoS-aware service composition. In: Quemada, J., León, G., Maarek, Y.S., Nejdl, W. (eds.) WWW, pp. 881–890. ACM, New york (2009). https://doi.org/10.1145/1526709.1526828
Alur, R., Dill, D.L.: A theory of timed automata. TC 126(2), 183–235 (1994). https://doi.org/10.1016/0304-3975(94)90010-8
Alur, R., Henzinger, T.A., Vardi, M.Y.: Parametric real-time reasoning. In: Kosaraju, S.R., Johnson, D.S., Aggarwal, A. (eds.) STOC, pp. 592–601. ACM, New York (1993). https://doi.org/10.1145/167088.167242
Alves, A., Arkin, A., Askary, S., Barreto, C., Bloch, B., Curbera, F., Ford, M., Goland, Y., Guízar, A., Kartha, N., Liu, C.K., Khalaf, R., König, D., Marin, M., IBM, Mehta, V., Thatte, S., van der Rijn, D., Yendluri, P., Yiu, A.: Web Services Business Process Execution Language Version, version 2.0 (2007)
Amazon: Amazon elastic compute cloud (amazon EC2) (2018). https://aws.amazon.com/ec2/. Accessed 2020
André, É.: Dynamic clock elimination in parametric timed automata. In: Choppy, C., Sun, J. (eds.) FSFMA, OpenAccess Series in Informatics (OASIcs), Schloss Dagstuhl–Leibniz-Zentrum für Informatik, vol. 31, pp. 18–31. Dagstuhl Publishing, Wadern (2013). https://doi.org/10.4230/OASIcs.FSFMA.2013.18
André, É., Fribourg, L., Soulat, R.: Merge and conquer: state merging in parametric timed automata. In: Hung, D.V., Ogawa, M. (eds.) ATVA, Lecture Notes in Computer Science, vol. 8172, pp. 381–396. Springer, Berlin (2013). https://doi.org/10.1007/978-3-319-02444-8_27
André, É., Lime, D., Roux, O.H.: Integer-complete synthesis for bounded parametric timed automata. In: Bojańczyk, M., Lasota, S., Potapov, I. (eds.) RP, Lecture Notes in Computer Science, vol. 9328, pp. 7–19. Springer, Berlin (2015). https://doi.org/10.1007/978-3-319-24537-9_2
André, É., Liu, Y., Sun, J., Dong, J.S.: Parameter synthesis for hierarchical concurrent real-time systems. Real-Time Syst. 50(5–6), 620–679 (2014). https://doi.org/10.1007/s11241-014-9208-6
André, É., Soulat, R.: The Inverse Method. FOCUS Series in Computer Engineering and Information Technology. ISTE Ltd. and Wiley, New York (2013)
Ardagna, D., Comuzzi, M., Mussi, E., Pernici, B., Plebani, P.: PAWS: a framework for executing adaptive web-service processes. IEEE Softw. 24(6), 39–46 (2007). https://doi.org/10.1109/MS.2007.174
Ardagna, D., Pernici, B.: Global and local QoS guarantee in web service selection. In: Bussler, C., Haller, A. (eds.) Business Process Management Workshops, vol. 3812, pp. 32–46. IEEE, New York (2005). https://doi.org/10.1007/11678564_4
Bagnara, R., Hill, P.M., Zaffanella, E.: The Parma Polyhedra Library: toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Science of Computer Programming 72(1–2), 3–21 (2008). https://doi.org/10.1016/j.scico.2007.08.001
Baresi, L., Guinea, S.: Self-supervising BPEL processes. IEEE Trans. Softw. Eng. 37(2), 247–263 (2011). https://doi.org/10.1109/TSE.2010.37
Bengtsson, J., Yi, W.: Timed automata: semantics, algorithms and tools. Lectures on Concurrency and Petri Nets, Advances in Petri Nets, Lecture Notes in Computer Science, vol. 3098, pp. 87–124. Springer, Berlin (2003). https://doi.org/10.1007/978-3-540-27755-2_3
Bianculli, D., Giannakopoulou, D., Pasareanu, C.S.: Interface decomposition for service compositions. In: ICSE, pp. 501–510 (2011). https://doi.org/10.1145/1985793.1985862
Canfora, G., Penta, M.D., Esposito, R., Villani, M.L.: An approach for QoS-aware service composition based on genetic algorithms. In: Beyer, H., O’Reilly, U. (eds.) GECCO, pp. 1069–1075. ACM, New York (2005). https://doi.org/10.1145/1068009.1068189
Cardellini, V., Casalicchio, E., Grassi, V., Presti, F.L., Mirandola, R.: QoS-driven runtime adaptation of service oriented architectures. In: van Vliet, H., Issarny, V. (eds.) FSE, pp. 131–140. ACM, New York (2009). https://doi.org/10.1145/1595696.1595718
Cerný, T., Donahoo, M.J., Pechanec, J.: Disambiguation and comparison of SOA, microservices and self-contained systems. In: RACS, pp. 228–235. ACM (2017). https://doi.org/10.1145/3129676.3129682
Ceska, M., Dannenberg, F., Kwiatkowska, M.Z., Paoletti, N.: Precise parameter synthesis for stochastic biochemical systems. In: Mendes, P., Dada, J.O., Smallbone, K. (eds.) CMSB, Lecture Notes in Computer Science, vol. 8859, pp. 86–98. Springer, Berlin (2014). https://doi.org/10.1007/978-3-319-12982-2_7
Chen, M., Tan, T.H., Sun, J., Liu, Y., Dong, J.S.: VeriWS: a tool for verification of combined functional and non-functional requirements of web service composition. In: ICSE, pp. 564–567 (2014). https://doi.org/10.1145/2591062.2591070
Chen, M., Tan, T.H., Sun, J., Liu, Y., Pang, J., Li, X.: Verification of functional and non-functional requirements of web service composition. In: ICFEM, pp. 313–328 (2013). https://doi.org/10.1007/978-3-642-41202-8_21
Chinnici, R., Moreau, J.J., Ryman, A., Weerawarana, S.: Web services description language (WSDL) version 2.0. W3C Recommendation (2007). http://www.w3.org/TR/wsdl20/. Accessed 2020
Cimatti, A., Palopoli, L., Ramadian, Y.: Symbolic computation of schedulability regions using parametric timed automata. In: RTSS, pp. 80–89. IEEE Computer Society (2008). https://doi.org/10.1109/RTSS.2008.36
David, A., Larsen, K.G., Legay, A., Mikucionis, M., Wang, Z.: Time for statistical model checking of real-time systems. In: CAV, Lecture Notes in Computer Science, vol. 6806, pp. 349–355. Springer, Berlin (2011). https://doi.org/10.1007/978-3-642-22110-1_27
Daws, C., Yovine, S.: Reducing the number of clock variables of timed automata. In: RTSS, pp. 73–81. IEEE Computer Society (1996). https://doi.org/10.1109/REAL.1996.563702
De Moura, L.M., Bjørner, N.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS, Lecture Notes in Computer Science, vol. 4963, pp. 337–340. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-78800-3_24
Eichelmann, T., Fuhrmann, W.F., Trick, U., Ghita, B.V.: Enhanced concept of the TeamCom SCE for automated generated services based on JSLEE. In: Bleimann, U., Dowland, P., Furnell, S., Schneider, O. (eds.) INC, pp. 75–84. University of Plymouth, Plymouth (2010)
Ermedahl, A., Sandberg, C., Gustafsson, J., Bygde, S., Lisper, B.: Loop bound analysis based on a combination of program slicing, abstract interpretation, and invariant analysis. In: Rochange, C. (ed.) WCET, OASICS, vol. 6. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Wadern (2007)
Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: ICSE, pp. 341–350 (2011). https://doi.org/10.1145/1985793.1985840
Foster, H.: A Rigorous Approach To Engineering Web Service Compositions. Ph.D. thesis, Imperial College of London (2006)
Foster, H., Uchitel, S., Magee, J., Kramer, J.: LTSA-WS: a tool for model-based verification of web service compositions and choreography. In: ICSE, pp. 771–774 (2006). https://doi.org/10.1145/1134408
Foundation, A.S.: Apache ODE (2007). http://ode.apache.org/. Accessed 2020
Fribourg, L., Lesens, D., Moro, P., Soulat, R.: Robustness analysis for scheduling problems using the inverse method. In: Reynolds, M., Terenziani, P., Moszkowski, B. (eds.) TIME, pp. 73–80. IEEE Computer Society Press, Silver Spring (2012). https://doi.org/10.1109/TIME.2012.10
Gao, C., Cai, M., Chen, H.: QoS-aware service composition based on tree-coded genetic algorithm. In: COMPSAC, pp. 361–367. IEEE Computer Society (2007). https://doi.org/10.1109/COMPSAC.2007.174
Geebelen, K., Michiels, S., Joosen, W.: Dynamic reconfiguration using template based Web service composition. In: Göschka, K.M., Dustdar, S., Leymann, F., Tosic, V. (eds.) MW4SOC, pp. 49–54. ACM, New York (2008). https://doi.org/10.1145/1462802.1462811
Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J.J., Nielsen, H.F., Karmarkar, A., Lafon, Y.: Simple object access protocol (SOAP) version 1.2. W3C Recommendation (2007). http://www.w3.org/TR/soap12/. Accessed 2020
Herbreteau, F., Srivathsan, B., Walukiewicz, I.: Better abstractions for timed automata. Inf. Comput. 251, 67–90 (2016). https://doi.org/10.1016/j.ic.2016.07.004
Hune, T., Romijn, J., Stoelinga, M., Vaandrager, F.W.: Linear parametric model checking of timed automata. J. Log. Algebr. Program. 52–53, 183–220 (2002). https://doi.org/10.1016/S1567-8326(02)00037-1
Jovanović, A., Kwiatkowska, M.Z.: Parameter synthesis for probabilistic timed automata using stochastic game abstractions. In: Ouaknine, J., Potapov, I., Worrell, J. (eds.) RP, Lecture Notes in Computer Science, vol. 8762, pp. 176–189. Springer, Berlin (2014). https://doi.org/10.1007/978-3-319-11439-2_14
Jovanović, A., Lime, D., Roux, O.H.: Integer parameter synthesis for real-time systems. IEEE Trans. Softw. Eng. 41(5), 445–461 (2015). https://doi.org/10.1109/TSE.2014.2357445
Kraft, S., Pacheco-Sanchez, S., Casale, G., Dawson, S.: Estimating service resource consumption from response time measurements. In: VALUETOOLS, p. 48 (2009). https://doi.org/10.4108/ICST.VALUETOOLS2009.7526
Larsen, K.G., Legay, A.: Statistical model checking: past, present, and future. In: Margaria, T., Steffen, B. (eds.) ISoLA, Part I, Lecture Notes in Computer Science, vol. 9952, pp. 3–15 (2016). https://doi.org/10.1007/978-3-319-47166-2_1
Le, T.T.H., Palopoli, L., Passerone, R., Ramadian, Y., Cimatti, A.: Parametric analysis of distributed firm real-time systems: a case study. In: ETFA, pp. 1–8. IEEE (2010). https://doi.org/10.1109/ETFA.2010.5641315
Lemos, A.L., Daniel, F., Benatallah, B.: Web service composition: a survey of techniques and tools. ACM Comput. Surv. 48(3), 33:1–33:41 (2016). https://doi.org/10.1145/2831270
Li, Y., Tan, T.H., Chechik, M.: Management of time requirements in component-based systems. In: FM, pp. 399–415 (2014). https://doi.org/10.1007/978-3-319-06410-9_28
Lloyd, S.P.: Least squares quantization in PCM. IEEE Trans. Inf. Theory 28(2), 129–136 (1982). https://doi.org/10.1109/TIT.1982.1056489
Ma, Y., Zhang, C.: Quick convergence of genetic algorithm for QoS-driven web service selection. Comput. Netw. 52(5), 1093–1104 (2008). https://doi.org/10.1016/j.comnet.2007.12.003
Magee, J., Kramer, J.: Concurrency-State Models and Java programs, 2nd edn. Wiley, New York (2006)
Mediouni, B.L., Nouri, A., Bozga, M., Dellabani, M., Legay, A., Bensalem, S.: SBIP 2.0: statistical model checking stochastic real-time systems. In: Lahiri, S.K., Wang, C. (eds.) ATVA, Lecture Notes in Computer Science, vol. 11138, pp. 536–542. Springer, Berlin (2018). https://doi.org/10.1007/978-3-030-01090-4_33
Menascé, D.A.: Response-time analysis of composite web services. IEEE Internet Comput. 8(1), 90–92 (2004). https://doi.org/10.1109/MIC.2004.1260710
Merlin, P.M.: A study of the recoverability of computing systems. Ph.D. thesis, University of California, Irvine, CA, USA (1974)
Mi, C., Miao, H., Kai, J., Gao, H.: Reliability modeling and verification of BPEL-based Web services composition by probabilistic model checking. In: Song, Y. (ed.) SERA, pp. 149–154. IEEE Computer Society, Silver Spring (2016). https://doi.org/10.1109/SERA.2016.7516140
Middleware: the state of microservices survey 2017—eight trends you need to know (2017). https://middlewareblog.redhat.com/2017/12/05/the-state-of-microservices-survey-2017-eight-trends-you-need-to-know/. Accessed 2020
Microservices (2018). http://microservices.io/patterns/microservices.html. Accessed 2020
Moser, O., Rosenberg, F., Dustdar, S.: Non-intrusive monitoring and service adaptation for WS-BPEL. In: WWW, pp. 815–824 (2008). https://doi.org/10.1145/1367497.1367607
Nguyen, H.G., Petrucci, L., Van de Pol, J.: Layered and collecting NDFS with subsumption for parametric timed automata. In: Lin, A.W., Sun, J. (eds.) ICECCS, pp. 1–9. IEEE Computer Society, Silver Spring (2018). https://doi.org/10.1109/ICECCS2018.2018.00009
Ordóñez, A., Alcázar, V., Rendon, O.M.C., Falcarin, P., Corrales, J.C., Granville, L.Z.: Towards automated composition of convergent services: a survey. Comput. Commun. 69, 1–21 (2015). https://doi.org/10.1016/j.comcom.2015.07.025
Pautasso, C.: Restful Web service composition with BPEL for REST. Data Knowl. Eng. 68(9), 851–866 (2009). https://doi.org/10.1016/j.datak.2009.02.016
Quaas, K., Shirmohammadi, M., Worrell, J.: Revisiting reachability in timed automata. In: LICS, pp. 1–12. IEEE Computer Society (2017). https://doi.org/10.1109/LICS.2017.8005098
Roussanaly, V., Sankur, O., Markey, N.: Abstraction refinement algorithms for timed automata. In: Dillig, I., Tasiran, S. (eds.) CAV, Part I. Lecture Notes in Computer Science, vol. 11561, pp. 22–40. Springer, Berlin (2019). https://doi.org/10.1007/978-3-030-25540-4_2
Schmieders, E., Metzger, A.: Preventing performance violations of service compositions using assumption-based run-time verification. In: ServiceWave, pp. 194–205 (2011). https://doi.org/10.1007/978-3-642-24755-2_19
Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)
Simmonds, J., Ben-David, S., Chechik, M.: Guided recovery for web service applications. In: Roman, A., van der Hoek, G.-C. (eds.) SIGSOFT FSE, pp. 247–256. ACM, New York (2010). https://doi.org/10.1145/1882291.1882328
Song, Z., Tilevich, E.: Equivalence-enhanced microservice workflow orchestration to efficiently increase reliability. In: Bertino, E., Chang, C.K., Chen, P., Damiani, E., Goul, M., Oyama, K. (eds.) ICWS, pp. 426–433. IEEE, New York (2019). https://doi.org/10.1109/ICWS.2019.00076
Sun, J., Liu, Y., Dong, J.S., Liu, Y., Shi, L., André, É.: Modeling and verifying hierarchical real-time systems using stateful timed CSP. ACM Trans. Softw. Eng. Methodol. 22(1), 3.1–3.29 (2013). https://doi.org/10.1145/2430536.2430537
Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: towards flexible verification under fairness. In: Bouajjani, A., Maler, O. (eds.) CAV, Lecture Notes in Computer Science, vol. 5643, pp. 709–714. Springer, Berlin (2009). https://doi.org/10.1007/978-3-642-02658-4_59
Swain, S., Niyogi, R.: FESC: functionally equivalent service composition. Internet Things 9, 100151 (2020). https://doi.org/10.1016/j.iot.2019.100151
Tan, T.H., André, É., Chen, M., Sun, J., Liu, Y., Dong, J.S.: Selamat: binary and experiment data (2019). https://sites.google.com/site/automatedsynthesis/home/. Accessed 2020
Tan, T.H., André, É., Sun, J., Liu, Y., Dong, J.S., Chen, M.: Dynamic synthesis of local time requirement for service composition. In: Cheng, B.H., Pohl, K. (eds.) ICSE, pp. 542–551. IEEE, New York (2013). https://doi.org/10.1109/ICSE.2013.6606600
Tan, T.H., Chen, M., André, É., Sun, J., Liu, Y., Dong, J.S.: Automated runtime recovery for QoS-based service composition. In: WWW, pp. 563–574 (2014). https://doi.org/10.1145/2566486.2568048
Tan, T.H., Chen, M., Sun, J., Liu, Y., André, É., Dong, J.S., Xue, Y.: Optimizing selection of competing services with probabilistic hierarchical refinement. In: Visser, W., Williams, L. (eds.) ICSE, pp. 85–95. ACM, New York (2016). https://doi.org/10.1145/2884781.2884861
Tari, Z., Bertok, P., Mukherjee, A.: Framework for Modeling, Simulation and Verification of a BPEL Specification, pp. 205–244. Wiley, New York (2013). https://doi.org/10.1002/9781118720103.ch8
Traonouez, L.M., Lime, D., Roux, O.H.: Parametric model-checking of stopwatch Petri nets. J. Univ. Comput. Sci. 15(17), 3273–3304 (2009). https://doi.org/10.3217/jucs-015-17-3273
Yu, T., Zhang, Y., Lin, K.J.: Efficient algorithms for web services selection with end-to-end QoS constraints. ACM Trans. Web 1(1), 6 (2007). https://doi.org/10.1145/1232722.1232728
Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., Sheng, Q.Z.: Quality driven web services composition. In: Hencsey, G., White, B., Chen, Y.R., Kovács, L., Lawrence, S. (eds.) WWW, pp. 411–421. ACM, New York (2003). https://doi.org/10.1145/775152.775211
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(5), 311–327 (2004). https://doi.org/10.1109/TSE.2004.11
Zhang, L., Li, B., Chao, T., Chang, H.: On demand web services-based business process composition. In: ICSMC, vol. 4, pp. 4057–4064. IEEE (2003)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Gary Leavens.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Étienne André, Jin Song Dong and Yang Liu are partially supported by CNRS STIC-Asie project CATS (“Compositional Analysis of Timed Systems”). Étienne André is partially supported by the ANR national research program ANR-14-CE28-0002 PACS (“Parametric Analyses of Concurrent Systems”). Étienne André and Jun Sun are partially supported by the ANR-NRF French-Singaporean research program ProMiS (ANR-19-CE25-0015).
Operational semantics
Operational semantics
Set of rules for the transition relation \(\hookrightarrow \)
Let
Rights and permissions
About this article
Cite this article
André, É., Tan, T.H., Chen, M. et al. Automated synthesis of local time requirement for service composition. Softw Syst Model 19, 983–1013 (2020). https://doi.org/10.1007/s10270-020-00787-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-020-00787-5