Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

An algebraic theory for web service contracts

Published: 01 July 2015 Publication History

Abstract

We study the foundations of Web service technologies for connecting abstract and concrete service definitions and for discovering services according to their observable behavior. We pursue this study addressing a subset of BPEL activities that include concurrency constructs. We present a formal semantics—called compliance preorder—of this subset of BPEL and we define a behavioral type discipline that guarantees the correctness of client-server interactions. The types of our discipline, called contracts, are De Nicola and Hennessy tau-less, finite-state CCS processes. We show that contracts are BPEL normal forms according to the compliance preorder and that the compliance preorder does coincide with a well-known equivalence in concurrency theory, the must-testing preorder. The compliace preorder is not fully adequate for discovering Web services though, since it does not support width and depth extensions of Web services. To address this issue, we propose a sound generalization of the compliance preorder, called subcontract relation, that admits a notion of principal service contract—the dual contract—compliant with a given client contract and that exhibits good precongruence properties when choreographies of Web services are considered.

References

References

[1]
Abramsky S (1990) The lazy lambda calculus. In: Proceedings of research topics in functional programming, Addison-Wesley, Boston, MA, pp 65–116
[2]
Aceto L, Ingolfsdottir A, Srba J (2011) The algoritmics of bisimilarity. In: Sangiorgi D, Rutten J (eds) Advanced topics in bisimulation and coinduction of Cambridge tracts in theoretical computer science, chapter 3, vol 52. Cambridge University Press, pp 100–172
[3]
Alves A et al. (2007) Web Services Business Process Execution Language Version 2.0. http://docs.oasis-open.org/wsbpel/2.0/CS01/wsbpel-v2.0-CS01.html
[4]
Banerji A, Bartolini C, Beringer D, Chopella V et al. (2002) Web Services Conversation Language (WSCL) 1.0. http://www.w3.org/TR/2002/NOTE-wscl10-20020314
[5]
Barbanera F, Capecchi S, de’Liguoro U (2009) Typing asymmetric client-server interaction. In: Proceedings of fundamentals of software engineering, third IPM international conference, FSEN 2009, Kish Island, Iran, April 15–17, 2009, revised selected papers, of Lecture Notes in Computer Science, vol 5961. Springer, pp 97–112
[6]
Benzaken V, Castagna G, and Frisch A CDuce: an XML-centric general-purpose language SIGPLAN Not 2003 38 9 51-63
[7]
Bernardi G (2013) Behavioural Equivalences for Web Services. PhD thesis, University of Dublin
[8]
Busi N, Gabbrielli M, and Zavattaro G On the expressive power of recursion, replication and iteration in process calculi Math Struct Comput Sci 2009 19 6 1191-1222
[9]
Bernardi G, Hennessy M (2012) Modelling session types using contracts. In: Proceedings of the 27th annual ACM symposium on applied computing, SAC ’12, ACM, New York, pp 1941–1946
[10]
Brookes SD, Hoare CAR, and Roscoe AW A theory of communicating sequential processes J ACM 1984 31 3 560-599
[11]
Beringer D, Kuno H, Lemon M (2001) Using WSCL in a UDDI Registry 1.0, UDDI Working draft best practices document. http://xml.coverpages.org/HP-UDDI-wscl-5-16-01.pdf
[12]
Bravetti M, Lanese I, Zavattaro G (2009) Contract-driven implementation of choreographies. In: Proceedings of trustworthy global computing, lecture notes in computer science, vol. 5474. Springer, pp 1–18
[13]
Bugliesi M, Macedonio D, Pino L, Rossi S (2009) Compliance preorders for web services. In: Proceedings of WS-FM, lecture notes in computer science, vol. 6194. Springer, pp 76–91
[14]
Boreale M, Sangiorgi D (1998) Bisimulation in name-passing calculi without matching. In: Proceedings of logic in computer science, 1998. thirteenth annual IEEE Symposium, pp 165–175
[15]
Bravetti M, Zavattaro G (2007) Towards a unifying theory for choreography conformance and contract compliance. In Proceedings of SC 2007, LNCS, vol 4829. Springer, pp 34–50
[16]
Bravetti M and Zavattaro G A foundational theory of contracts for multi-party service composition Fundam Inform 2008 89 4 451-478
[17]
Bravetti M, Zavattaro G (2009) Contract-based discovery and composition of web services. In: Proceedings of SFM’09, lecture notes in computer science, vol 5569. Springer, pp 261–295
[18]
Bravetti M and Zavattaro G A theory of contracts for strong service compliance Math Struct Comput Sci 2009 19 601-638
[19]
Carpineti S, Castagna G, Laneve C, Padovani L (2006) A formal account of contracts for web services. In: Proceedings of WS-FM, 3rd international workshop on web services and formal methods, in LNCS, vol 4184. Springer, pp 148–162
[20]
Christensen E, Curbera F, Meredith G, Weerawarana S (2001) Web services description language (WSDL) 1.1. http://www.w3.org/TR/2001/NOTE-wsdl-20010315
[21]
Castagna G, Gesbert N, and Padovani L A theory of contracts for web services ACM Trans Program Lang Syst 2009 31 5 19
[22]
Carbone M, Honda K, Yoshida N (2007) Structured communication-centered programming for web services. In: Proceedings of 16th European symposium on programming, (ESOP’07), LNCS 4421. Springer, pp 2–17
[23]
Carpineti S, Laneve C, and Padovani L PiDuce: A project for experimenting web services technologies Sci Comput Program 2009 74 10 777-811
[24]
Di Cosmo R (1995) Isomorphisms of types: from Lambda calculus to information retrieval and language desig. Birkhauser, Basel. ISBN-0-8176-3763-X
[25]
Castagna G, Padovani L (2009) Contracts for mobile processes. In: Proceedings of the 20th international conference on concurrency theory (CONCUR’09), of LNCS, vol 5710. Springer, pp 211–228
[26]
Cleaveland R, Parrow J, and Steffen B The concurrency workbench: a semantics-based tool for the verification of concurrent systems ACM Trans Program Lang Syst 1993 15 1 36-72
[27]
Chaki S, Rajamani SK, and Rehof J Types as models: model checking message-passing programs SIGPLAN Not 2002 37 1 45-57
[28]
De Nicola R and Hennessy M Testing equivalences for processes Theor Comput Sci 1984 34 83-133
[29]
De Nicola R, Hennessy M (1987) CCS without τ’s. In: Proceedings of TAPSOFT’87/CAAP’87, LNCS 249. Springer, pp 138–152
[30]
Fournet C and Laneve C Bisimulations in the join-calculus Theor Comput Sci 2001 266 1–2 569-603
[31]
Gay S and Hole M Subtyping for session types in the π-calculus Acta Informatica 2005 42 2–3 191-225
[32]
Hennessy M (1988) Algebraic theory of processes: foundation of computing. MIT Press
[33]
Honda K (1993) Types for dyadic interaction. In: Proceedings of CONCUR’93, LNCS 715. Springer, pp 509–523
[34]
Hosoya H and Pierce BC XDuce: a statically typed XML processing language ACM Trans Internet Tech 2003 3 2 117-148
[35]
Honda K, Vasconcelos VT, Kubo M (1998) Language primitives and type disciplines for structured communication-based programming. In: Proceedings of ESOP’98, LNCS 1381. Springer, New York, pp 122–138
[36]
Honda K, Yoshida N, Carbone M (2008) Multiparty asynchronous session types. In: Proceedings of POPL 2008. ACM, pp 273–284
[37]
Igarashi A, Kobayashi N (2001) A generic type system for the pi-calculus. In: Proceedings of POPL 2001, ACM, pp 128–141
[38]
Kavantzas N, Burdett D, Ritzinger G, Fletcher T, Lafon Y, Barreto C (2005) Web services choreography description language 1.0. http://www.w3.org/TR/2005/CR-ws-cdl-10-20051109/
[39]
Laneve C, Padovani L (2007) The must preorder revisited: an algebraic theory for web services contracts. In: Proceedings of CONCUR’07, LNCS 4703. Springer, pp 212–225
[40]
Laneve C, Padovani L (2008) The pairing of contracts and session types. In: Proceedings of concurrency, graphs and models, lecture notes in computer science, vol. 5065. Springer, New York, pp 681–700
[41]
Laneve C, Padovani L (2013) An algebraic theory for web service contracts. In: Proceedings of 10th international conference on integrated formal methods, LNCS, vol. 7940. Springer, New York, pp 301–315
[42]
Milner R (1982) A calculus of communicating systems. Springer
[43]
Milner R (1989) Communication and concurrency. Prentice Hall, Upper Saddle River, NJ
[44]
Nielson HR, Nielson F (1994) Higher-order concurrent programs with finite communication topology (extended abstract). In: Proceedings of POPL’94. ACM Press, New York, pp 84–97
[45]
Ouyang C, Verbeek E, van der Aalst WMP, Breutel S, Dumas M, ter Hofstede AHM (2007) Formal semantics and analysis of control flow in ws-bpel. Sci Comput Program 67(2–3):162–198
[46]
Padovani L (2008) Contract-directed synthesis of simple orchestrators. In: Proceedings of the 19th international conference on concurrency theory (CONCUR’08), LNCS, vol 5201. Springer, New York, pp 131–146
[47]
Padovani L (2009) Contract-based discovery and adaptation of web services, LNCS, vol 5569. Springer, New York, pp 213–260
[48]
Padovani L Contract-based discovery of web services modulo simple orchestrators Theor Comput Sci 2010 411 3328-3347
[49]
Padovani L (2013) Fair subtyping for open session types. In: Proceedings of 40th international colloquium on automata, languages, and programming, part II, LNCS, vol 7966. Springer, New York, pp 373–384
[50]
Padovani L (2014) Fair subtyping for multi-party session types. Math Struct Comput Sci, pp 1–41
[51]
Pitts AM, Stark IDB (1993) Observable properties of higher order functions that dynamically create local names, or what’s new? In: Proceedings of 18th international symposium on mathematical foundations of computer science, lecture notes in computer science, vol 711. Springer, New York, pp 122–141
[52]
Rittri M Retrieving library functions by unifying types modulo linear isomorphism In: Proceedings of RAIRO theoretical informatics and applications 1993 27 6 523-540

Cited By

View all
  • (2020)Controller synthesis of service contracts with variabilityScience of Computer Programming10.1016/j.scico.2019.102344187:COnline publication date: 15-Feb-2020
  • (2019)Bridging the Gap Between Supervisory Control and Coordination of Services: Synthesis of Orchestrations and ChoreographiesCoordination Models and Languages10.1007/978-3-030-22397-7_8(129-147)Online publication date: 17-Jun-2019
  • (2018)Modelling and analysis with featured modal contract automataProceedings of the 22nd International Systems and Software Product Line Conference - Volume 210.1145/3236405.3236408(11-16)Online publication date: 10-Sep-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Aspects of Computing
Formal Aspects of Computing  Volume 27, Issue 4
Jul 2015
139 pages
ISSN:0934-5043
EISSN:1433-299X
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 July 2015
Accepted: 27 February 2015
Revision received: 30 January 2015
Received: 12 November 2013
Published in FAC Volume 27, Issue 4

Author Tags

  1. Web services
  2. BPEL
  3. Contracts
  4. Compliance
  5. Must-testing
  6. Subcontract
  7. Dual contract
  8. Choreography

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)7
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Controller synthesis of service contracts with variabilityScience of Computer Programming10.1016/j.scico.2019.102344187:COnline publication date: 15-Feb-2020
  • (2019)Bridging the Gap Between Supervisory Control and Coordination of Services: Synthesis of Orchestrations and ChoreographiesCoordination Models and Languages10.1007/978-3-030-22397-7_8(129-147)Online publication date: 17-Jun-2019
  • (2018)Modelling and analysis with featured modal contract automataProceedings of the 22nd International Systems and Software Product Line Conference - Volume 210.1145/3236405.3236408(11-16)Online publication date: 10-Sep-2018
  • (2015)Compliance in Behavioural ContractsEssays Dedicated to Pierpaolo Degano on Programming Languages with Applications to Biology and Security - Volume 946510.5555/2963891.2963900(103-121)Online publication date: 1-Aug-2015

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media