Abstract
We develop the static and dynamic semantics of PiDuce, a process calculus with XML values, schemas, and pattern matching. PiDuce values include channel names, therefore the structure of values may not reveal anything about their schemas. This is problematic in the pattern matching algorithm because it requires to verify whether a schema of a channel is a subschema of a pattern. Such a verification has exponential cost, in general. In order to reduce the computational complexity of the pattern matching, channel schemas are constrained to occur in tail positions of sequences and to be labelled-determined.
Aspects of this investigation conducted at the University of Bologna were supported in part by a Microsoft initiative in concurrent computing and web services.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abiteboul, S., Benjelloun, O., Manolescu, I., Milo, T., Weber, R.: Active XML: Peer-to-peer data and Web services integration. In: VLDP 2002: Proceedings of the Twenty-Eighth International Conference on Very Large Data Bases, Hong Kong SAR, China, pp. 1087–1090. Morgan Kaufmann, San Francisco (2002)
Acciai, L., Boreale, M.: XPi: a typed process calculus for XML messaging. In: Steffen, M., Zavattaro, G. (eds.) FMOODS 2005. LNCS, vol. 3535, pp. 47–66. Springer, Heidelberg (2005)
Amadio, R.M., Cardelli, L.: Subtyping recursive types. ACM Transactions on Programming Languages and Systems 15(4), 575–631 (1993)
Andrews, T., et al.: Business Process Execution Language for Web Services. Version 1.1. Specification, BEA Systems, IBM Corp., Microsoft Corp., SAP AG, Siebel Systems (2003)
Benzaken, V., Castagna, G., Frisch, A.: CDuce: an XML-centric general-purpose language. In: Proceedings of the 8th ACM SIGPLAN International Conference on Functional Programming (ICFP 2003), pp. 51–63. ACM Press, New York (2003)
Bhargavan, K., Fournet, C., Gordon, A., Pucella, R.: Tulafale: A security tool for web services. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2003. LNCS, vol. 3188, pp. 197–222. Springer, Heidelberg (2004)
Bruni, R., Laneve, C., Montanari, U.: Orchestrating transactions in join calculus. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 321–337. Springer, Heidelberg (2002)
Carpineti, S., Laneve, C.: A rude contract language for web services. Extended Abstract (2005), at, http://www.cs.unibo.it/BoPi
Carpineti, S., Laneve, C., Milazzo, P.: BoPi: a distributed machine for experimenting web services technologies. In: 5th International Conference on Application of Concurrency to System Design (ACSD 2005), pp. 202–212. IEEE Computer Society Press, Los Alamitos (2005)
Castagna, G., Nicola, R.D., Varacca, D.: Semantic subtyping for the π-calculus. In: 20th IEEE Symposium on Logic in Computer Science (LICS 2005). IEEE Computer Society Press, Los Alamitos (2005)
Gardner, P., Maffeis, S.: Modelling dynamic web data. In: Lausen, G., Suciu, D. (eds.) DBPL 2003. LNCS, vol. 2921, pp. 130–146. Springer, Heidelberg (2004)
Hosoya, H., Pierce, B.C.: XDuce: A statically typed XML processing language. ACM Transactions on Internet Technology (TOIT) 3(2), 117–148 (2003)
Hosoya, H., Vouillon, J., Pierce, B.C.: Regular expression types for XML. In: Proceedings of the International Conference on Functional Programming (ICFP), pp. 11–22. ACM Press, New York (2000)
Kavantzas, N., Olsson, G., Mischkinsky, J., Chapman, M.: Web Services Choreography Description Languages. Oracle Corporation (2003)
Laneve, C., Zavattaro, G.: Foundations of web transactions. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 282–298. Springer, Heidelberg (2005)
Leymann, F.: Web Services Flow Language (wsfl 1.0). Technical report, IBM Software Group (2001)
Lugiez, D., Jacquemard, F., Comon, H., Tommasi, M., Dauchet, M., Gilleron, R., Tison, S.: Tree automata techniques and applications (2002)
Milner, R.: Functions as processes. Journal of Mathematical Structures in Computer Science 2(2), 119–141 (1992)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, part I/II. Journal of Information and Computation 100, 1–77 (1992)
Pierce, B.C., Sangiorgi, D.: Typing and subtyping for mobile processes. Mathematical Structures in Computer Science 6(5) (1996)
Turner, D.N.: The Polymorphic Pi-Calculus: Theory and Implementation. PhD thesis, University of Edinburgh, ECS-LFCS-96-345 (1996)
Woodgate, S., Mohr, S., Loesgen, B.: Microsoft BizTalk Server 2004 Unleashed. Sams (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brown, A.L., Laneve, C., Meredith, L.G. (2005). PiDuce: A Process Calculus with Native XML Datatypes. In: Bravetti, M., Kloul, L., Zavattaro, G. (eds) Formal Techniques for Computer Systems and Business Processes. EPEW WS-FM 2005 2005. Lecture Notes in Computer Science, vol 3670. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11549970_3
Download citation
DOI: https://doi.org/10.1007/11549970_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28701-8
Online ISBN: 978-3-540-31903-0
eBook Packages: Computer ScienceComputer Science (R0)