Skip to main content
Log in

An abstract model of service discovery and binding

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

We propose a formal operational semantics for service discovery and binding. This semantics is based on a graph-based representation of the configuration of global computers typed by business activities. Business activities execute distributed workflows that can trigger, at run time, the discovery, ranking and selection of services to which they bind, thus reconfiguring the workflows that they execute. Discovery, ranking and selection are based on compliance with required business and interaction protocols and optimisation of quality-of-service constraints. Binding and reconfiguration are captured as algebraic operations on configuration graphs. We also discuss the methodological implications that this model framework has on software engineering using a typical travel-booking scenario. To the best of our knowledge, our approach is the first to provide a clear separation between service computation and discovery/instantiation/binding, and to offer a formal framework that is independent of the SOA middleware components that act as service registries or brokers, and the protocols through which bindings and invocations are performed.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abreu J, Bocchi L, Fiadeiro JL, Lopes A (2007) Specifying and composing interaction protocols for service-oriented system modelling. In: Derrick J, Vain J (eds) FORTE. Lecture notes in computer science, vol 4574. Springer, Berlin, pp 358–373

    Google Scholar 

  2. van der Aalst WMP, Beisiegel M, van Hee KM, König D, Stahl C (2006) A SOA-based architecture framework. In: Leymann F, Reisig W, Thatte SR, van der Aalst WMP (eds), The role of business processes in service oriented architectures, volume 06291 of Dagstuhl seminar proceedings. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), S chloss Dagstuhl, Germany

  3. Alonso G, Casati F, Kuno HA, Machiraju V (2004) Web services—concepts, architectures and applications. Data-centric systems and applications. Springer, Berlin

    Google Scholar 

  4. Abreu J, Fiadeiro JL (2008) A coordination model for service-oriented interactions. In: Lea D, Zavattaro G (eds) COORDINATION. Lecture notes in computer science, vol 5052. Springer, Berlin, pp 1–16

    Google Scholar 

  5. Allen R, Garlan D (1998) A formal basis for architectural connection. ACM Trans Softw Eng Methodol 6(3): 213–249

    Article  Google Scholar 

  6. Abreu J, Mazzanti F, Fiadeiro JL, Gnesi S (2009) A model-checking approach for service component architectures. In Lee et al. [LLPH09], pp 219–224

  7. Boreale M, Brunic R, Caires L, De Nicola R, Lanese I, Loreti M, Martins F, Montanari U, Ravara A, Sangiorgi D, Vasconcelos VT, Zavattaro G (2006) Scc: a service centered calculus. In: Bravetti M, Núñez M, Zavattaro G (eds) WS-FM. Lecture notes in computer science, vol 4184. Springer, Berlin, pp 38–57

    Google Scholar 

  8. Benatallah B, Casati F, Toumani F (2004) Web service conversation modeling: a cornerstone for e-business automation. IEEE Internet Comput 8(1): 46–54

    Article  Google Scholar 

  9. ter Beek MH, Fantechi A, Gnesi S, Mazzanti F (2007) An action/state-based model-checking approach for the analysis of communication protocols for service-oriented applications. In: Leue S, Merino P (eds) FMICS. Lecture notes in computer science, vol 4916. Springer, Berlin, pp 133–148

    Google Scholar 

  10. Bocchi L, Fiadeiro JL, Lopes A (2008) A use-case driven approach to formal service-oriented modelling. In: Margaria T, Steffen B (eds) ISoLA. Communications in computer and information science, vol 17. Springer, New York, pp 155–169

    Google Scholar 

  11. Bocchi L, Gorton S, Reiff-Marganiec S (2008) Engineering service oriented applications: from StPowla processes to SRML models. In: Fiadeiro JL, Inverardi P (eds) FASE Lecture notes in computer science, vol 4961. Springer, Berlin, pp 163–178

    Google Scholar 

  12. Bocchi L, Hong Y, Lopes A, Fiadeiro JL (2007) From BPEL to SRML: a formal transformational approach. In: Dumas M, Heckel R (eds) WS-FM. Lecture notes in computer science, vol 4937. Springer, Berlin, pp 92–107

    Google Scholar 

  13. Broy M, Krüger IH, Meisinger M (2007) A formal model of services. ACM Trans Softw Eng Methodol 16(1): 5

    Article  Google Scholar 

  14. Bruni R, Lluch-Lafuente A, Montanari U, Tuosto E (2007) Service oriented architectural design. In: Barthe G, Fournet C (eds) TGC. Lecture notes in computer science, vol 4912. Springer, Berlin, pp 186–203

    Google Scholar 

  15. Buscemi MG, Montanari U (2007) Cc-pi: a constraint-based language for specifying service level agreements. In: Nicola [Nic07], pp 18–32

  16. Bistarelli S, Montanari U, Rossi F (1997) Semiring-based constraint satisfaction and optimization. J ACM 44(2): 201–236

    Article  MathSciNet  MATH  Google Scholar 

  17. Bliudze S, Sifakis J (2008) The algebra of connectors—structuring interaction in BIP. IEEE Trans Comput 57(10): 1315–1330

    Article  MathSciNet  Google Scholar 

  18. Bordeaux L, Salaün G, Berardi D, Mecella M (2004) When are two web services compatible?. In: Shan M-C, Dayal U, Hsu M (eds) TES. Lecture notes in computer science, vol 3324. Springer, Berlin, pp 15–28

    Google Scholar 

  19. Coulson G, Blair GS, Grace P, Taïani F, Joolia A, Lee K, Ueyama J, Sivaharan T (2008) A generic component model for building systems software. ACM Trans Comput Syst 26(1): 1–42

    Article  Google Scholar 

  20. Carbone M, Honda K, Yoshida N (2007) Structured communication-centred programming for web services. In: Nicola [Nic07], pp 2–17

  21. Dijkman RM, Dumas M (2004) Service-oriented design: a multi-viewpoint approach. Int J Cooperative Inf Syst 13(4): 337–368

    Article  Google Scholar 

  22. Zeng L, Benatallah B, Ngu AHH, Dumas M, Kalagnanam J, Chang H (2004) Qos-aware middleware for web services composition. IEEE Trans Software Eng 30(5): 311–327

    Article  Google Scholar 

  23. Elfatatry A (2007) Dealing with change: components versus services. Commun ACM 50(8): 35–39

    Article  Google Scholar 

  24. Ferrari GL, Hirsch D, Lanese I, Montanari U, Tuosto E (2005) Synchronised hyperedge replacement as a model for service oriented computing. In: Boer FS, Bonsangue MM, Graf S, Roever WP (eds) FMCO. Lecture notes in computer science, vol 4111. Springer, Berlin, pp 22–43

    Google Scholar 

  25. Fiadeiro JL (2004) Categories for software engineering. Springer, New York

    Google Scholar 

  26. Foster, IT, Kesselman, C (eds) (2004) The grid 2: blueprint for a new computing infrastructure. Morgan Kaufmann, Los Altos

    Google Scholar 

  27. Fiadeiro JL, Lopes A, Abreu J (2010) A formal model for service-oriented interactions. http://www.cs.le.ac.uk/srml

  28. Fiadeiro JL, Lopes A, Bocchi L (2006) Algebraic semantics of service component modules. In: Fiadeiro JL, Schobbens P-Y (eds) WADT. Lecture notes in computer science, vol 4409. Springer, Berlin, pp 37–55

    Google Scholar 

  29. Fiadeiro JL, Lopes A, Bocchi L, Abreu J (2010) The Sensoria reference modelling language. In: Wirsing M, Hoelzl M (eds) Rigorous software engineering for service-oriented systems, LNCS. Springer, Berlin (to appear)

  30. Fiadeiro JL, Schmitt V (2007) Structured co-spans: an algebra of interaction protocols. In: Mossakowski T, Montanari U, Haveraaen M (eds) CALCO. Lecture notes in computer science, vol 4624. Springer, Berlin, pp 194–208

    Google Scholar 

  31. Gu Q, Lago P (2007) A stakeholder-driven service life cycle model for soa. In: Di Nitto E, Polini A, Zisman A (eds) IW-SOSWE. ACM, New York, pp 1–7

    Chapter  Google Scholar 

  32. Kitchin D, Quark A, Cook WR, Misra J (2009) The Orc programming language. In: Lee D et al [LLPH09], pp 1–25

  33. Lee D, Lopes A, Poetzsch-Heffter A (eds) (2009) Formal techniques for distributed systems, joint 11th IFIP WG 6.1 international conference FMOODS 2009 and 29th IFIP WG 6.1 international conference FORTE 2009, Lisboa, Portugal, June 9–12, 2009. In: Proceedings. Lecture notes in computer science, vol 5522. Springer, Berlin

  34. Lapadula A, Pugliese R, Tiezzi F (2007) A calculus for orchestration of web services. In: Nicola R [Nic07], pp 33–47

  35. Mukhija A, Dingwall-Smith A, Rosenblum DS (2007) QoS-aware service composition in Dino. In: ECOWS, pp 3–12. IEEE Computer Society

  36. Mukhi N, Plebani P (2004) Supporting policy-driven behaviors in web services: experiences and issues. In: Aiello M, Aoyama M, Curbera F, Papazoglou MP (eds) ICSOC. ACM, New York, pp 322–328

    Chapter  Google Scholar 

  37. Myllärniemi V, Prehofer C, Raatikainen M, van Gurp J, Männistö T (2008) Approach for dynamically composing decentralised service architectures with cross-cutting constraints. In: Morrison R, Balasubramaniam D, Falkner KE (eds) ECSA. Lecture notes in computer science, vol 5292. Springer, Berlin, pp 180–195

    Google Scholar 

  38. De Nicola R (ed) (2007) Programming languages and systems. 16th European symposium on programming, ESOP 2007, held as part of the Joint European conferences on theory and practics of software, ETAPS 2007, Braga, Portugal, March 24–April 1, 2007. Proceedings, volume 4421 of Lecture notes in computer science. Springer, New York

  39. OSOA (2005) Service component architecture: building systems using a service oriented architecture. http://www.osoa.org

  40. Pahl C (2007) An ontology for software component matching. STTT 9(2): 169–178

    Article  Google Scholar 

  41. Peltz C (2003) Web services orchestration and choreography. IEEE Comput 36(10): 46–52

    Google Scholar 

  42. Papazoglou MP, Traverso P, Dustdar S, Leymann F (2007) Service-oriented computing: state of the art and research challenges. IEEE Comput 40(11): 38–45

    Google Scholar 

  43. Reisig W (2005) Modeling- and analysis techniques for web services and business processes. In: Steffen M, Zavattaro G (eds) FMOODS. Lecture notes in computer science, vol 3535. Springer, Berlin, pp 243–258

    Google Scholar 

  44. Reisig W (2008) Towards a theory of services. In: Kaschek R, Kop C, Steinberger C, Fliedl G (eds) UNISCON. Lecture notes in business information processing, vol 5. Springer, New York, pp 271–281

    Google Scholar 

  45. Rao J, Su X (2004) A survey of automated web service composition methods. In: Cardoso J, Sheth AP (eds) SWSWPC. Lecture notes in computer science, vol 3387. Springer, pp 43–54

    Google Scholar 

  46. UDDI (2004) UDDI specification technical committee draft. Technical report, OASIS. http://uddi.org/pubs/uddiv3.htm/

  47. Vieira HT, Caires L, Seco JC (2008) The conversation calculus: a model of service-oriented computation. In: Drossopoulou S (ed.) ESOP. Lecture notes in computer science, vol 4960. Springer, Berlin, pp 269–283

    Google Scholar 

  48. W3C (2007) Simple object access protocol (SOAP), 1.2. W3C recommendation. http://www.w3.org/TR/SOAP/

  49. Wirsing M, Hoelzl M (eds) Rigorous software engineering for service-oriented systems. In: LNCS. Springer (to appear)

  50. Wermelinger M, Lopes A, Fiadeiro JL (2001) A graph based architectural (re)configuration language. In: ESEC/SIGSOFT FSE, pp 21–32

  51. Yu T, Lin K-J (2005) A broker-based framework for QoS-aware web service composition. In: EEE. IEEE Computer Society, pp 22–29

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José Luiz Fiadeiro.

Additional information

by T. S. E. Maibaum

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fiadeiro, J.L., Lopes, A. & Bocchi, L. An abstract model of service discovery and binding. Form Asp Comp 23, 433–463 (2011). https://doi.org/10.1007/s00165-010-0166-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-010-0166-z

Keywords

Navigation