Skip to main content
Log in

A formal framework for service mashups with dynamic service selection

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  1. Alonso G, Kuno H, Casati F, Machiraju V (2003) Web services: concepts, architectures and applications. Springer, Berlin

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

  3. Alur R, Henzinger TA, Kupferman O (2002) Alternating-time temporal logic. J ACM 49(5):672–713

    Article  MathSciNet  Google Scholar 

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

  5. Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comp Sci 14(3):329–366

    Article  MATH  MathSciNet  Google Scholar 

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

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

    Article  Google Scholar 

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

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

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

  11. Fensel D, Bussler C (2002) The web service modeling framework WSMF. Electron Commerce Res Appl 1(2):113–137

    Article  Google Scholar 

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

  13. He J (2008) Service refinement. Sci China Ser F Inf Sci 51(6):661–682

    Article  MATH  Google Scholar 

  14. He J, Seidel K, McIver A (1997) Probabilistic models for the guarded command language. Sci Comput Program 28(2–3):171–192

    MATH  MathSciNet  Google Scholar 

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

  16. He J, Zhu H, Pu G (2007) A model for bpel-like languages. Front Comput Sci China 1(1):9–19

    Article  Google Scholar 

  17. Hoare CAR, He J (1998) Unifying theories of programming. In: Prentice Hall international series in computer science. Prentice Hall, London

  18. Johannes Neubauer TM, Steffen Bernhard (2013) Higher-order process modeling: product-lining, variability modeling and beyond. Festschrift for Dave Schmidt 2013:259–283

    Google Scholar 

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

    Article  Google Scholar 

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

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

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

    Chapter  Google Scholar 

  23. Liu X, Hui Y, Sun W, Liang H (2007) Towards service composition based on mashup. In: Proc. IEEE congress on services, pp 332– 339

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

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

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

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

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

  29. Maximilien E, Singh M (2004) A framework and ontology for dynamic web services selection. IEEE Internet Comput 8(5):84–93

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

  31. Merrill D (2006) Mashups: The new breed of web app. IBM Web Architecture Technical Library

  32. Meyer B (1991) Design by contract. In: Advances in object-oriented software engineering. Prentice Hall, Englewood Cliffs, pp 1–50

  33. Morgan C (1990) Programming from specifications. Prentice Hall, Englewood Cliffs

  34. Neubauer J, Steffen B (2013) Plug-and-play higher-order process integration. IEEE Comput 46(11):56–62

    Article  Google Scholar 

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

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

    Article  MATH  Google Scholar 

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

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

  39. Tarski A (1955) A lattice-theoretical fixpoint theorem and its applications. Pacific J Math 5:285–309

    Article  MATH  MathSciNet  Google Scholar 

  40. Watt S (2007) Mashups—the evolution of the soa, part 1: Web 2.0 and foundational concepts. IBM Web Architecture Technical Library

  41. Watt S (2007) Mashups—the evolution of the soa, part 2: situational applications and the mashup ecosystem. IBM Web Architecture Technical Library

  42. Westmark V (2004) A definition for information system survivability. In: Proc. 37th annual Hawaii international conference on system sciences

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

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

Download references

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

Authors

Corresponding author

Correspondence to Jianqi Shi.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-014-0238-y

Keywords

Navigation