Towards a Process Calculus for Rest: Current State of the Art

  • 1 Institute of Computing Science, Poznań University of Technology, Poznań, Poland


SOA is a popular paradigm for building distributed systems that has gained a great recognition over past years. There are two main approaches to implementing SOA: SOAP-based and RESTful Web services. In order to address problems of modeling and verification of Web services, several process calculi have been proposed for SOAP-based Web services but none for the RESTful Web services based systems. This article is a comparative survey on existing process calculi for SOA systems, also the existing attempts to formalize REST systems are discussed. The aim of the article is to see how process calculi for SOAP-based systems deal with different aspects of their modeling domain, and whether their approaches can be used to model RESTful and ROA systems. Finally, basing on the survey, requirements for a new process calculus specific for REST are defined.

If the inline PDF is not rendering correctly, you can download the PDF file here.

  • [1] van der Aalst, W.: Service mining: Using process mining to discover, check, and improve service behavior. IEEE Transactions on Services Computing 99(PrePrints), 1 (2012)

  • [2] van der Aalst, W.M., Ter Hofstede, A.H., Kiepuszewski, B., Barros, A.P.: Work- flow patterns. Distributed and parallel databases 14(1), 5-51 (2003)

  • [3] Baretto, C., Bullard, V.: Web Services Business Process Execution Lan- guage Version 2.0. (2007)

  • [4] Bergstra, J.A.: Handbook of Process Algebra. Elsevier Science Inc., New York, NY, USA (2001)

  • [5] Bettini, L., De Nicola, R., Loreti, M.: Implementing session centered calculi. In: Proceedings of the 10th International Conference on Coordination Models and Languages. pp. 17-32. COORDINATION’08, Springer-Verlag, Berlin, Heidelberg (2008),

  • [6] Boreale, M., Bruni, R., Caires, L., De Nicola, R., Lanese, I., Loreti, M., Martins, F., Montanari, U., Ravara, A., Sangiorgi, D., et al.: SCC: a service centered calculus. In: Web services and formal methods, pp. 38-57. Springer (2006)

  • [7] Boreale, M., Bruni, R., De Nicola, R., Loreti, M.: Sessions and pipelines for structured service programming. In: Formal Methods for Open Object-Based Distributed Systems, pp. 19-38. Springer (2008)

  • [8] Bravetti, M., Gilmore, S., Guidi, C., Tribastone, M.: Replicating web services for scalability. In: Trustworthy Global Computing, pp. 204-221. Springer (2008)

  • [9] Brzeziński, J., Danilecki, A., Flotyński, J., Kobusińska, A., Stroiński, A.: ROsWeL Workflow Language: A Declarative, Resource-oriented Approach. New Generation Computing 30(2-3), 141-164 (2012)

  • [10] Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Towards a formal framework for choreography. In: In Proc. of 3rd International Workshop on Dis- tributed and Mobile Collaboration (DMC 2005). IEEE Computer. pp. 107-112. Society Press (2005)

  • [11] Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Choreography and orchestration conformance for system design. In: Coordination Models and Lan- guages. pp. 63-81. Springer (2006)

  • [12] Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Choreography and orchestration conformance for system design. In: Coordination Models and Lan- guages. pp. 63-81. Springer (2006)

  • [13] Caires, L., Vieira, H.T.: SLMC: a tool for model checking concurrent systems against dynamical spatial logic specifications. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 485-491. Springer (2012)

  • [14] Dustdar, S., Gombotz, R., Baina, K.: Web Services Interaction Mining. Tech. Rep. TUV-1841-2004-16, Technical University of Vienna, Information Systems Institute, Distributed Systems Group (2004)

  • [15] Dwornikowski, D., Stroiński, A., Brzeziński, J.: Conformance Checking of Com- municating Resource Systems with RAs Calculus. In: Services Computing (SCC), 2015 IEEE International Conference on. pp. 759-764. IEEE (2015)

  • [16] Emerson, E.A., Clarke, E.M.: Characterizing correctness properties of parallel programs using fixpoints. Springer (1980)

  • [17] Fielding, R., J., R.: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content (2014)

  • [18] Fielding, R.T.: Architectural Styles and the Design of Network-based Software Architectures. Ph.D. thesis, University of California, Irvine (2000)

  • [19] Fokkink, W.: Introduction to Process Algebra. Springer (2000)

  • [20] Gelernter, D.: Generative communication in Linda. ACM Transactions on Pro- gramming Languages and Systems (TOPLAS) 7(1), 80-112 (1985)

  • [21] Guidi, C., Lucchi, R.: Mobility mechanisms in service oriented computing. In: In: Proc. of 8th International Conference on on Formal Methods for Open Ob- jectBased Distributed Systems. pp. 233-250. Springer (2006)

  • [22] Guidi, C., Lucchi, R., Gorrieri, R., Busi, N., Zavattaro, G.: SOCK: a calculus for service oriented computing. In: Service-Oriented Computing-ICSOC 2006, pp. 327-338. Springer (2006)

  • [23] Hadley, M.J.: Web application description language (wadl). Tech. rep., Sun Mi- crosystems,Inc., Mountain View, CA, USA (2006)

  • [24] He, H.: Implementing REST Web Services: Best Practices and Guidelines. (2004)

  • [25] Hernández, A.G., García, M.N.M.: A formal definition of RESTful semantic web services. In: Proceedings of the First International Workshop on RESTful Design. pp. 39-45. ACM (2010)

  • [26] JOLIE: homepage. (2013)

  • [27] JOpera - process support for Web Services. (2013)

  • [28] Juric B., M.: A Hands-on Introduction to BPEL (2006), oracle 2006

  • [29] Kitchin, D., Quark, A., Cook, W., Misra, J.: The Orc programming language. In: Formal Techniques for Distributed Systems, pp. 1-25. Springer (2009)

  • [30] Klein, U., Namjoshi, K.S.: Formalization and Automated Verification of RESTful Behavior. In: Computer Aided Verification. pp. 541-556. Springer (2011)

  • [31] Kopecký, J., Gomadam, K., Vitvar, T.: hrests: An html microformat for de- scribing restful web services. In: Proceedings of the 2008 IEEE/WIC/ACM In- ternational Conference on Web Intelligence and Intelligent Agent Technology - Volume 01. pp. 619-625. WI-IAT ’08, IEEE Computer Society, Washington, DC, USA (2008),

  • [32] Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web servuces (full version). Tech. rep., Univ. Firenze (2006)

  • [33] Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web ser- vices. In: Programming Languages and Systems, pp. 33-47. Springer (2007)

  • [34] Lathem, J., Gomadam, K., Sheth, A.P.: Sa-rest and (s)mashups: Adding se- mantics to restful services. In: Proceedings of the International Conference on Semantic Computing. pp. 469-476. ICSC ’07, IEEE Computer Society, Washing- ton, DC, USA (2007)

  • [35] Pautasso, C., Zimmermann, O., Leymann, F.: Restful web services vs. big’web services: making the right architectural decision. In: Proceedings of the 17th international conference on World Wide Web. pp. 805-814. ACM (2008)

  • [36] Plotkin, G.: A structural approach to operational semantics (1981)

  • [37] Pnueli, A.: The temporal logic of programs. In: Foundations of Computer Sci- ence, 1977., 18th Annual Symposium on. pp. 46-57. IEEE (1977)

  • [38] Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly Media (2007)

  • [39] Sangiorgi, D.: Introduction to Bisimulation and Coinduction. Cambridge Uni- versity Press, New York, NY, USA (2011)

  • [40] Sheth, A.P., Gomadam, K., Lathem, J.: Sa-rest: Semantically interoperable and easier-to-use services and mashups. IEEE Internet Computing 11(6), 91-94 (Nov 2007),

  • [41] Stroiński, A., Dwornikowski, D., Brzeziński, J.: Resource Mining: Applying Pro- cess Mining to Resource-Oriented Systems. In: Business Information Systems, pp. 217-228. Springer International Publishing (2014)

  • [42] Stroiński, A., Dwornikowski, D., Brzeziński, J.: RESTful Web Service Min- ing: simple algorithm supporting resource-oriented systems. In: Web Services (ICWS), 2014 IEEE International Conference on. pp. 694-695. IEEE (2014)

  • [43] Van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisim- ulation semantics. Journal of the ACM (JACM) 43(3), 555-600 (1996)

  • [44] Vieira, H.T., Caires, L., Seco, J.C.: The Conversation Ccalculus: A model of Service Oriented Computation. Tech. Rep. TR-DI/FCT/UNL 6/07, Universidade Nova de Lisboa (2007)

  • [45] Vieira, H.T., Caires, L., Seco, J.C.: The conversation calculus: A model of service-oriented computation. In: Programming Languages and Systems, pp. 269-283. Springer (2008)

  • [46] Wu, X., Zhang, Y., Zhu, H., Zhao, Y., Sun, Z., Liu, P.: Formal Modeling and Analysis of the REST Architecture Using CSP. In: Web Services and Formal Methods, pp. 87-102. Springer (2013)


Journal + Issues