Formal Modeling of RESTful Systems Using Finite-State Machines

  • Ivan Zuzak
  • Ivan Budiselic
  • Goran Delac
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6757)

Abstract

Representational State Transfer (REST), as an architectural style for distributed hypermedia systems, enables scalable operation of the World Wide Web (WWW) and is the foundation for its future evolution. However, although described over 10 years ago, no comprehensive formal model for representing RESTful systems exists. The lack of a formal model has hindered understanding of the REST architectural style and the WWW architecture, consequently limiting Web engineering advancement. In this paper we present a model of RESTful systems based on a finite-state machine formalism. We show that the model enables intuitive formalization of many REST’s constraints, including uniform interface, stateless client-server operation, and code-on-demand execution. We describe the model’s mapping to a system-level view of operation and apply the model to an example Web application. Finally, we outline benefits of the model, ranging from better understanding of REST to designing frameworks for RESTful system development.

Keywords

representational state transfer World Wide Web software architectural styles formal model finite-state machines hypermedia 

References

  1. 1.
    Jacobs, I., Walsh, N.: Architecture of the World Wide Web, Volume One. W3C Recommendation, WWW Consortium (2004), http://www.w3.org/TR/webarch/
  2. 2.
    Fielding, R.T., Taylor, R.N.: Principled design of the modern Web architecture. ACM Transactions on Internet Technology 2(2), 115–150 (2002)CrossRefGoogle Scholar
  3. 3.
    Dusseault, L., Snell, J.: PATCH Method for HTTP. In: Proposed Standard, Internet Engineering Task Force, IETF (2010), http://tools.ietf.org/html/rfc5789
  4. 4.
    Trifa, V., Trifa, V., Guinard, D., Bolliger, P., Wieland, S.: Design of a Web-based Distributed Location-Aware Infrastructure for Mobile Devices. In: 1st IEEE International Workshop on the Web of Things, Mannheim, Germany, pp. 714–719 (2010)Google Scholar
  5. 5.
    Alarcon, R., Wilde, E.: Linking Data from RESTful Services. In: 3rd International Workshop on Linked Data on the Web, Raleigh, North Carolina, USA (2010)Google Scholar
  6. 6.
    Fitzpatrick, B., Slatkin, B., Atkins, M.: PubSubHubbub protocol, http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.3.html
  7. 7.
    Rosenberg, F., Curbera, F., Duftler, M.J., Khalaf, R.: Composing RESTful Services and Collaborative Workflows: A Lightweight Approach. IEEE Internet Computing 12(5), 24–31 (2008)CrossRefGoogle Scholar
  8. 8.
    Pautasso, C.: RESTful Web service composition with BPEL for REST. Data & Knowledge Engineering 68(9), 851–866 (2009)CrossRefGoogle Scholar
  9. 9.
    Koch, N.: Software Engineering for Adaptive Hypermedia Systems: Reference Model, Modeling Techniques and Development Process. Ph.D. dissertation, Ludwig-Maximilians-University of Munich, Germany (2000)Google Scholar
  10. 10.
    Fernandez, F., Navon, J.: Towards a Practical Model to Facilitate Reasoning about REST Extensions and Reuse. In: 1st International Workshop on RESTful Design, Raleigh, North Carolina, pp. 31–38 (2010)Google Scholar
  11. 11.
    Rees, J.: ACTION-434: Some notes on organizing discussion on WebApps architecture. In: W3C TAG Mailing List (2010), http://lists.w3.org/Archives/Public/www-tag/2010Oct/0061.html
  12. 12.
    ISSUE-60: Web Application State Management. W3C TAG Issues List, http://www.w3.org/2001/tag/group/track/issues/60
  13. 13.
    Fielding, R.T.: ACTION-434: Some notes on organizing discussion on WebApps architecture. In: W3C TAG Mailing List (2010), http://lists.w3.org/Archives/Public/www-tag/2010Oct/0100.html
  14. 14.
    Kemp, J.: AWWW and the Web interaction model. In: W3C TAG Mailing List (2010), http://lists.w3.org/Archives/Public/www-tag/2010Jun/0034
  15. 15.
    Vinoski, S.: RESTful Web Services Development Checklist. IEEE Internet Computing 12(6), 95–96 (2008)CrossRefGoogle Scholar
  16. 16.
    Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Publishing, Reading (1979)MATHGoogle Scholar
  17. 17.
    Berners-Lee, T., Mendelsohn, N.: The Rule of Least Power W3C TAG Finding (2006), http://www.w3.org/2001/tag/doc/leastPower.html
  18. 18.
    Mehta, N.R.: Composing style-based software architectures from architectural primitives. Ph.D. dissertation, University of Southern California, California, USA (2004)Google Scholar
  19. 19.
    Hernandez, A.G., Moreno Garcia, M.N.: A Formal Definition of RESTful Semantic Web Services. In: 1st International Workshop on RESTful Design, Raleigh, North Carolina, pp. 39–45 (2010)Google Scholar
  20. 20.
    Decker, G., Luders, A., Overdick, H., Schlichting, K., Weske, M.: RESTful Petri Net Execution. In: Bruni, R., Wolf, K. (eds.) WS-FM 2008. LNCS, vol. 5387, pp. 73–87. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  21. 21.
    Alarcon, R., Wilde, E., Bellido, J.: Hypermedia-driven RESTful Service Composition. In: 6th Workshop on Engineering Service-Oriented Applications, San Francisco, California (2010)Google Scholar
  22. 22.
    Charlton, S.: Building a RESTful Hypermedia Agent, Part 1 (2010), http://www.stucharlton.com/blog/archives/2010/03/building-a-restful-hypermedia
  23. 23.
    Alalfi, M.H., Cordy, J.R., Dean, T.R.: Modeling methods for web application verification and testing: state of the art. In: Software Testing, Verification & Reliability Archive, vol. 19(4), pp. 265–296. John Wiley and Sons Ltd., Chichester (2009)Google Scholar
  24. 24.
    Stotts, P.D., Furuta, R., Cabarrus, C.R.: Hyperdocuments as Automata: Verification of Trace-Based Properties by Model Checking. ACM Transactions on Information Systems 16(1), 1–30 (1998)CrossRefGoogle Scholar
  25. 25.
    Dargham, J., Al-Nasrawi, S.: FSM Behavioral Modeling Approach for Hypermedia Web Applications: FBM-HWA Approach. In: Advanced International Conference on Telecommunications and International Conference on Internet and Web Applications and Services, Guadeloupe, French Caribbean, pp. 199–199 (2006)Google Scholar
  26. 26.
    Trybulec, M.: Labelled State Transition Systems. Formalized Mathematics 17(2), 163–171 (2009)Google Scholar
  27. 27.
    Parastatidis, S., Parastatidis, S., Webber, J., Silveira, G., Robinson, I.S.: The role of hypermedia in distributed system development. In: 1st International Workshop on RESTful Design, Raleigh, North Carolina, pp. 16–22 (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ivan Zuzak
    • 1
  • Ivan Budiselic
    • 1
  • Goran Delac
    • 1
  1. 1.School of Electrical Engineering and ComputingUniversity of ZagrebZagrebCroatia

Personalised recommendations