Abstract
The service mashup programming paradigm is a blooming faction of service oriented Architecture for developing web applications. A mashup application constructs its functionality by combining data, presentation and functionalities obtained from online services published by service providers such as Google and Amazon. This paradigm significantly facilitates the implementation of application and reduces the workload. But it also makes the application rely on the availability and qualities of the online services which beyond its control in which case the robustness of the system requires more concern. This paper proposes a formal model to specify and analyze the behavior and robustness of service mashups under a certain environment where some services may become unavailable. The specification contains both system specification and environment situation. Refinement theory are employed to specify the correctness of dynamic service selection. The framework realizes the service selection by allowing virtual service requests to be handled by any online service having consistent interface and refined functionality. The framework provides a clear definition of the robustness of mashup systems and proposes several rules as well as approaches to preserve the robustness during the development and maintenance of the system.
Similar content being viewed by others
References
Alonso G, Kuno H, Casati F, Machiraju V (2003) Web services: concepts, architectures and applications. Springer, Berlin
Alur R, Henzinger T, Kupferman O, Vardi M (1998) Alternating refinement relations. In: Sangiorgi D, Simone R (eds) Proc. CONCUR’98 concurrency theory. Lecture notes in computer science, vol 1466. Springer, Berlin, pp 163–178
Alur R, Henzinger TA, Kupferman O (2002) Alternating-time temporal logic. J ACM 49(5):672–713
Ankolekar A, Burstein M, Hobbs JR, Lassila O, Martin DL, Mcilraith SA, Narayanan S, Paolucci M, Payne T, Sycara K, Zeng H (2001) Daml-s: semantic markup for web services
Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comp Sci 14(3):329–366
Avizienis A, Laprie JC, Randell B (2001) Fundamental concepts of computer systems dependability. In: Proc. IARP/IEEE-RAS workshop on robot dependability: technological challenge of dependable robots in human environments, Seoul, Korea
Avizienis A, Laprie JC, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secure Comput 1(1):11–33
Carpineti S, Castagna G, Laneve C, Padovani L (2006) A formal account of contracts for web services. In: Proc. WS-FM 2006: 3rd international workshop on web services and formal methods. Springer, Berlin, pp 148–162
Castagna G, Gesbert N, Padovani L (2008) A theory of contracts for web services. In: Proc. POPL 2008: 35th ACM SIGPLAN-SIGACT symposium on principles of programming languages. ACM, New York, pp 261–272
Ellison R, Ellison RJ, Fisher D, Fisher DA, Linger RC, Linger RC, Lipson HF, Lipson HF, Longstaff T, Longstaff T, Mead N, Mead NR (1997) Survivable network systems: an emerging discipline. Software Engineering Institute, Carnegie Mellon University, Tech. rep.
Fensel D, Bussler C (2002) The web service modeling framework WSMF. Electron Commerce Res Appl 1(2):113–137
Freitag B, Margaria T, Steffen B (1994) A pragmatic approach to software synthesis. In: Proc. IDL’94: workshop on interface definition languages, ACM, New York, pp 46–58
He J (2008) Service refinement. Sci China Ser F Inf Sci 51(6):661–682
He J, Seidel K, McIver A (1997) Probabilistic models for the guarded command language. Sci Comput Program 28(2–3):171–192
He J, Liu Z, Li X, Qin S (2004) A relational model for object-oriented designs. In: Proc. APLAS 2004: 2nd Asian symposium on programming languages and systems, Taipei, Taiwan, November 4–6, 2004. Lecture notes in computer science, vol 3302. Springer, Berlin, pp 415–436
He J, Zhu H, Pu G (2007) A model for bpel-like languages. Front Comput Sci China 1(1):9–19
Hoare CAR, He J (1998) Unifying theories of programming. In: Prentice Hall international series in computer science. Prentice Hall, London
Johannes Neubauer TM, Steffen Bernhard (2013) Higher-order process modeling: product-lining, variability modeling and beyond. Festschrift for Dave Schmidt 2013:259–283
Jorges S, Lamprecht AL, Margaria T, Schaefer I, Steffen B (2012) A constraint-based variability modeling framework. Int J Softw Tools Technol Transf 14(5):511–530
Kitchin D, Cook WR, Misra J (2006) A language for task orchestration and its semantic properties. In: Proc. CONCUR 2006: 17th international conference on concurrency theory. Lecture notes in computer science. Springer, Berlin, pp 477–491
Knight J, Strunk E, Sullivan K (2003) Towards a rigorous definition of information system survivability. In: Proc. DARPA information survivability conference and exposition, vol 1, pp 78–89
Kubczak C, Margaria T, Steffen B, Nagel R (2009) Service-oriented mediation with jabc/jeti. In: Petrie C, Margaria T, Lausen H, Zaremba M (eds) Semantic web services challenge, semantic web and beyond, vol 8. Springer, US, pp 71–99
Liu X, Hui Y, Sun W, Liang H (2007) Towards service composition based on mashup. In: Proc. IEEE congress on services, pp 332– 339
Liu Z, He J, Li X, Chen Y (2003) A relational model for formal object-oriented requirement analysis in UML. In: Proc. ICFEM: 5th international conference on formal engineering methods, Singapore, November 5–7, 2003. Lecture notes in computer science, vol 2885. Springer, Berlin, pp 641–664
Liu Z, He J, Li X (2004) Contract oriented development of component software. In: Proc. TCS 2004: 3rd international conference on theoretical computer science, pp 349–366
Margaria T, Steffen B (2007) Ltl guided planning: revisiting automatic tool composition in eti. In: Proc. SEW2007: 31st IEEE software engineering workshop, IEEE Computer Society, pp 214–226
Margaria T, Bakera M, Kubczak C, Naujokat S, Steffen B (2009) Automatic generation of the sws-challenge mediator with jabc/abc. In: Petrie C, Margaria T, Lausen H, Zaremba M (eds) Semantic web services challenge, semantic web and beyond, vol 8. Springer, US, pp 119–138
Margaria T, Meyer D, Kubczak C, Isberner M, Steffen B (2009) Synthesizing semantic web service compositions with jmosel and golog. In: Bernstein A, Karger D, Heath T, Feigenbaum L, Maynard D, Motta E, Thirunarayan K (eds) Proc. ISWC 2009: 8th international semantic web conference. Lecture notes in computer science, vol 5823. Springer, Berlin, pp 392–407
Maximilien E, Singh M (2004) A framework and ontology for dynamic web services selection. IEEE Internet Comput 8(5):84–93
Maximilien E, Wilkinson H, Desai N, Tai S (2007) A domain-specific language for web apis and services mashups. In: Kramer B, Lin KJ, Narasimhan P (eds) Proc. ICSOC 2007: international conference on service-oriented computing. Lecture notes in computer science, vol 4749. Springer, Berlin, pp 13–26
Merrill D (2006) Mashups: The new breed of web app. IBM Web Architecture Technical Library
Meyer B (1991) Design by contract. In: Advances in object-oriented software engineering. Prentice Hall, Englewood Cliffs, pp 1–50
Morgan C (1990) Programming from specifications. Prentice Hall, Englewood Cliffs
Neubauer J, Steffen B (2013) Plug-and-play higher-order process integration. IEEE Comput 46(11):56–62
Petrie C, Margaria T, Lausen H, Zaremba M (2009) Semantic web services challenge—results from the first year, semantic web and beyond, vol 8. Springer, Berlin
Steffen B, Margaria T, Braun V (1997) The electronic tool integration platform: concepts and design. Int J Softw Tools Technol Transf 1(1–2):9–30
Tang X, Woodcock JCP (2004) Towards mobile processes in unifying theories. In: Proc. SEFM 2004: 2nd international conference on software engineering and formal methods, Beijing, China, September 26–30, 2004, IEEE Computer Society, pp 44–53
Tang X, Woodcock JCP (2004) Travelling processes. In: Proc. MPC 2004: 7th international conference on mathematics of program construction, Stirling, Scotland, UK, July 12–14, 2004. Lecture notes in computer science, vol 3125. Springer, Berlin, pp 381–399
Tarski A (1955) A lattice-theoretical fixpoint theorem and its applications. Pacific J Math 5:285–309
Watt S (2007) Mashups—the evolution of the soa, part 1: Web 2.0 and foundational concepts. IBM Web Architecture Technical Library
Watt S (2007) Mashups—the evolution of the soa, part 2: situational applications and the mashup ecosystem. IBM Web Architecture Technical Library
Westmark V (2004) A definition for information system survivability. In: Proc. 37th annual Hawaii international conference on system sciences
Xiaoshan L, Zhiming L, He J (2004) A formal semantics of UML sequence diagram. In: Proc. ASWEC 2004: 15th Australian software engineering conference, 13–16 April 2004, Melbourne, Australia, IEEE Computer Society, pp 168–177
Zeng L, Benatallah B, Dumas M, Kalagnanam J, Sheng QZ (2003) Quality driven web services composition. In: Proc. 12th international conference on World Wide Web. ACM, New York, pp 411–421
Acknowledgments
This work is supported by National High Technology Research and Development Program of China (No. 2012AA011205), National Natural Science Foundation of China (No. 61361136002 and No. 61321064), Shanghai Knowledge Service Platform Project (No. ZF1213) and Shanghai Minhang Talent Project.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Li, Q., Shi, J. & Zhu, H. A formal framework for service mashups with dynamic service selection. Innovations Syst Softw Eng 10, 219–234 (2014). https://doi.org/10.1007/s11334-014-0238-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-014-0238-y