Skip to main content

Formalizing RESTful Services and Web-OS Middleware

  • Conference paper
  • First Online:
Web Services and Formal Methods (WS-FM 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8379))

Included in the following conference series:

Abstract

Web Operating Systems can be seen as an extension of traditional Operating Systems where the addresses used to manage files and execute programs (via the basic load/execution mechanism) are extended from local filesystem path-names to URLs. A first consequence is that, similarly as in traditional web technologies, executing a program at a given URL, can be done in two modalities: either the execution is performed client-side at the invoking machine (and relative URL addressing in the executed program set to refer to the invoked URL) or it is performed server-side at the machine addressed by the invoked URL (as, e.g., for a web service). Moreover in this context, user identification for access to programs and files and workflow-based composition of service programs is naturally based on token/session-like mechanisms. We propose a middleware based on client-server protocols and on a set primitives, for managing files/resources and executing programs (in the form of client-side/server-side components/services) in Web Operating Systems, based on (an extension of) the REST architecture. We formally define the semantics of such middleware by first introducing a process algebra for standard REST and then extending it to the whole middleware.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For denotational convenience, in this paper we use backslashes in URLs instead of slashes, because we use slashes to represent replacements.

  2. 2.

    Notice that, in RESTful Web Services, it is not mandatory for services to manage several resources: the pattern “\(\backslash pathname \backslash name\)” (or just “\(\backslash name\)”), not including “\(*\)”, can alternatively be used, which matches just a single resource.

  3. 3.

    We use \(fr(E)\) to denote free names included in \(E\).

  4. 4.

    This is analogous to the mechanism for determining the servlet to be executed in a Tomcat server.

  5. 5.

    We assume that \(\varepsilon \) is returned (the smallest element in the prefix relation) if we have an emptyset.

  6. 6.

    Client sessions are therefore not shared between components or between different execution of operations in the same component, differently from what happens, e.g., in a browser.

References

  1. Boreale, M., Bruni, R., Caires, L., De Nicola, R., Lanese, I., Loreti, M., Martins, F., Montanari, U., Ravara, A., Sangiorgi, D., Vasconcelos, V., Zavattaro, G.: \(\sf {SCC}\): a service centered calculus. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 38–57. Springer, Heidelberg (2006)

    Google Scholar 

  2. Boreale, M., Bruni, R., De Nicola, R., Loreti, M.: Sessions and pipelines for structured service programming. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 19–38. Springer, Heidelberg (2008)

    Google Scholar 

  3. Bravetti, M.: File managing and program execution in web operating systems. CoRR abs/1005.5045 (2010)

    Google Scholar 

  4. Google Chromium OS Project. http://www.chromium.org/chromium-os

  5. Cruz-Filipe, L., Lanese, I., Martins, F., Ravara, A., Vasconcelos, V.T.: The stream-based service-centered calculus: a foundation for service-oriented programming. Formal Aspects Comput. (2013)

    Google Scholar 

  6. Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. Thesis, University of California, Irvine (2000) (Chapter 5 Representational State Transfer (REST))

    Google Scholar 

  7. Hernández, A.G., Moreno García, M.N.: A formal definition of RESTful semantic web services. In: First International Workshop on RESTful Design, WS-REST 2010, pp. 39–45. ACM (2010)

    Google Scholar 

  8. Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 33–47. Springer, Heidelberg (2007)

    Google Scholar 

  9. Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press, New York (1999)

    Google Scholar 

  10. Riely, J., Hennessy, M.: A typed language for distributed mobile processes (extended abstract). In: POPL 1998, pp. 378–390 (1998)

    Google Scholar 

  11. World Wide Web Consortium. SOAP Protocol Version 1.2. http://www.w3.org/TR/soap/

  12. Vieira, H.T., Caires, L., Seco, J.C.: The conversation calculus: a model of service-oriented computation. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 269–283. Springer, Heidelberg (2008)

    Google Scholar 

  13. Web Services Business Process Execution Language Version 2.0 OASIS Standard. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf

  14. Wu, X., Zhang, Y., Zhu, H., Zhao, Y., Sun, Z., Liu, P.: Formal modeling and analysis of the rest architecture using csp. In: ter Beek, M.H., Lohmann, N. (eds.) WS-FM 2012. LNCS, vol. 7843, pp. 87–102. Springer, Heidelberg (2013)

    Google Scholar 

  15. Zuzak, I., Budiselic, I., Delac, G.: Formal modeling of RESTful systems using finite-state machines. In: Auer, S., Díaz, O., Papadopoulos, G.A. (eds.) ICWE 2011. LNCS, vol. 6757, pp. 346–360. Springer, Heidelberg (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mario Bravetti .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Science and Engineering Faculty

About this paper

Cite this paper

Bravetti, M. (2014). Formalizing RESTful Services and Web-OS Middleware. In: Tuosto, E., Ouyang, C. (eds) Web Services and Formal Methods. WS-FM 2013. Lecture Notes in Computer Science(), vol 8379. Springer, Cham. https://doi.org/10.1007/978-3-319-08260-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-08260-8_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-08259-2

  • Online ISBN: 978-3-319-08260-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics