PiDuce: A Process Calculus with Native XML Datatypes

  • Allen L. BrownJr.
  • Cosimo Laneve
  • L. Gregory Meredith
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3670)


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.


Migration Milo 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Amadio, R.M., Cardelli, L.: Subtyping recursive types. ACM Transactions on Programming Languages and Systems 15(4), 575–631 (1993)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Carpineti, S., Laneve, C.: A rude contract language for web services. Extended Abstract (2005), at,
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Hosoya, H., Pierce, B.C.: XDuce: A statically typed XML processing language. ACM Transactions on Internet Technology (TOIT) 3(2), 117–148 (2003)CrossRefGoogle Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    Kavantzas, N., Olsson, G., Mischkinsky, J., Chapman, M.: Web Services Choreography Description Languages. Oracle Corporation (2003)Google Scholar
  15. 15.
    Laneve, C., Zavattaro, G.: Foundations of web transactions. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 282–298. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Leymann, F.: Web Services Flow Language (wsfl 1.0). Technical report, IBM Software Group (2001)Google Scholar
  17. 17.
    Lugiez, D., Jacquemard, F., Comon, H., Tommasi, M., Dauchet, M., Gilleron, R., Tison, S.: Tree automata techniques and applications (2002)Google Scholar
  18. 18.
    Milner, R.: Functions as processes. Journal of Mathematical Structures in Computer Science 2(2), 119–141 (1992)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, part I/II. Journal of Information and Computation 100, 1–77 (1992)MATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Pierce, B.C., Sangiorgi, D.: Typing and subtyping for mobile processes. Mathematical Structures in Computer Science 6(5) (1996)Google Scholar
  21. 21.
    Turner, D.N.: The Polymorphic Pi-Calculus: Theory and Implementation. PhD thesis, University of Edinburgh, ECS-LFCS-96-345 (1996)Google Scholar
  22. 22.
    Woodgate, S., Mohr, S., Loesgen, B.: Microsoft BizTalk Server 2004 Unleashed. Sams (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Allen L. BrownJr.
    • 1
  • Cosimo Laneve
    • 2
  • L. Gregory Meredith
    • 3
  1. 1.Microsoft CorporationRedmondUSA
  2. 2.Department of Computer ScienceUniversity of BolognaItaly
  3. 3.Harvard Medical School, Boston, USA and Djinnisys CorporationSeattleUSA

Personalised recommendations