|
ABSTRACT
Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client with a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interaction between compatible clients and services. The technical device that underlies the theory is the filter, which is an explicit coercion preventing some possible behaviors of services and, in doing so, make services compatible with different usage scenarios. We show that filters can be seen as proofs of a sound and complete subcontracting deduction system which simultaneously refines and extends Hennessy's classical axiomatization of the must testing preorder. The relation is decidable, and the decision algorithm is obtained via a cut-elimination process that proves the coherence of subcontracting as a logical system. Despite the richness of the technical development, the resulting approach is based on simple ideas and basic intuitions. Remarkably, its application is mostly independent of the language used to program the services or the clients. We outline the practical aspects of our theory by studying two different concrete syntaxes for contracts and applying each of them to Web services languages. We also explore implementation issues of filters and discuss the perspectives of future research this work opens.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alves, A., Arkin, A., Askary, S., Barreto, C., et al. 2007. Web Services Business Process Execution Language Version 2.0. OASIS Standard, http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html.
|
 |
2
|
|
| |
3
|
Banerji, A., Bartolini, C., Beringer, D., Chopella, V., et al. 2002. Web services conversation language (wscl) 1.0. W3C Note, http://www.w3.org/TR/2002/NOTE-wscl10-20020314.
|
| |
4
|
Bellwood, T., Capell, S., Clement, L., Colgrave, J., et al. 2005. UDDI Version 3.0.2. OASIS Standard, http://uddi.org/pubs/uddi-v3.0.2-20041019.htm.
|
| |
5
|
Berardi, D., Calvanese, D., De Giacomo, G., Lenzerini, M., and Mecella, M. 2003. Automatic composition of e-services that export their behavior. In Proceedings of the 1st International Conference on Service Oriented Computing (ICSOC), Lecture Notes in Computer Science, vol. 2910, Springer, 43--58.
|
| |
6
|
Bernardi, G., Bugliesi, M., Macedonio, D., and Rossi, S. 2008. A theory of adaptable contract-based service composition. In Proceedings of Workshop on Global Computing Models and Technologies (GlobalComp'08). IEEE Computer Society Press.
|
| |
7
|
Bravetti, M. and Zavattaro, G. 2007. Towards a unifying theory for choreography conformance and contract compliance. In Proceedings of the 6th International Symposium on Software Composition. Springer.
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
Carbone, M., Honda, K., and Yoshida, N. 2007b. Structured communication-centred programming for Web services. In Proceedings of the 16th European Symposium on Programming (ESOP'07). Lecture Notes in Computer Science, vol. 4421. Springer.
|
| |
12
|
|
| |
13
|
Carpineti, S., Castagna, G., Laneve, C., and Padovani, L. 2006. A formal account of contracts for Web Services. In Proceedings of the 3rd International Workshop on Web Services and Formal Methods. Lecture Notes in Computer Science, vol. 4184. Springer.
|
| |
14
|
Castagna, G., Dezani-Ciancaglini, M., Giachino, E., and Padovani, L. 2008. General session types. Tech. rep. id.: hal-00334435, CNRS - PPS, University Paris 7. http://hal.archives-ouvertes.fr/hal-00334435.
|
 |
15
|
|
 |
16
|
|
 |
17
|
|
| |
18
|
|
| |
19
|
Chinnici, R., Haas, H., Lewis, A.-A., Moreau, J.-J., Orchard, D., and Weerawarana, S. 2007a. Web services description language (wsdl) version 2.0 Part 2: Adjuncts. W3C Recommendation, http://www.w3.org/TR/wsdl20-adjuncts/.
|
| |
20
|
Chinnici, R., Moreau, J.-J., Ryman, A., and Weerawarana, S. 2007b. Web services description language (wsdl) version 2.0 Part 1: Core language. W3C Recommendation, http://www.w3.org/TR/wsdl20/.
|
| |
21
|
Courcelle, B. 1983. Fundamental properties of infinite trees. Theor. Comput. Sci. 25, 95--169.
|
| |
22
|
De Giacomo, G. and Sardiña, S. 2007. Automatic synthesis of new behaviors from a library of available behaviors. In Proceedings of the International Joint Conference on Artificial Intelligence. 1866--1871.
|
| |
23
|
De Nicola, R. and Hennessy, M. 1984. Testing equivalences for processes. Theor. Comput. Sci. 34, 83--133.
|
| |
24
|
|
| |
25
|
|
| |
26
|
J. Derrick , H. Bowman , E. A. Boiten , M. W. A. Steen, Comparing LOTOS and Z refinement relations, IFIP TC6/ 6.1 international conference on formal description techniques IX/protocol specification, testing and verification XVI on Formal description techniques IX : theory, application and tools: theory, application and tools, p.501-516, January 1996, Kaiserslautern, Germany
|
| |
27
|
|
| |
28
|
Fallside, D. C. and Walmsley, P. 2004. XML Schema part 0: Primer second edition. W3C Recommendation, http://www.w3.org/TR/xmlschema-0/.
|
 |
29
|
|
| |
30
|
|
| |
31
|
Fournet, C., Hoare, C. A. R., Rajamani, S. K., and Rehof, J. 2004. Stuck-free conformance. In Proceedings of the International Conference on Computer-aided Verification (CAV'04). Lecture Notes in Computer Science, vol. 3114. Springer.
|
 |
32
|
Alain Frisch , Giuseppe Castagna , Véronique Benzaken, Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types, Journal of the ACM (JACM), v.55 n.4, p.1-64, September 2008
[doi> 10.1145/1391289.1391293]
|
| |
33
|
|
 |
34
|
|
| |
35
|
|
| |
36
|
|
| |
37
|
|
 |
38
|
Richard Hull , Michael Benedikt , Vassilis Christophides , Jianwen Su, E-services: a look behind the curtain, Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, p.1-14, June 09-11, 2003, San Diego, California
[doi> 10.1145/773153.773154]
|
| |
39
|
Laneve, C. and Padovani, L. 2006. Smooth orchestrators. In Proceedings of the Internatiomal Conference on Foundations of Software Science and Computation Structures, L. Aceto and A. Ingólfsdóttir, Eds. Lecture Notes in Computer Science, vol. 3921. Springer, 32--46.
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
|
| |
44
|
|
| |
45
|
Rittri, M. 1993. Retrieving library functions by unifying types modulo linear isomorphism. RAIRO Theor. Informat. Appl. 27, 6, 523--540.
|
| |
46
|
|
| |
47
|
|
| |
48
|
Traverso, P. and Pistore, M. 2004. Automated composition of semantic Web services into executable processes. In Proceedings of the International Semantic Web Conference. 380--394.
|
|