A finite-state machine approach for modeling and analyzing restful systems

  • Authors:
  • Ivan Zuzak;Ivan Budiselic;Goran Delac

  • Affiliations:
  • School of Electrical Engineering and Computing, University of Zagreb, Zagreb, Croatia;School of Electrical Engineering and Computing, University of Zagreb, Zagreb, Croatia;School of Electrical Engineering and Computing, University of Zagreb, Zagreb, Croatia

  • Venue:
  • Journal of Web Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Representational State Transfer (REST), as an architectural style for distributed hyper-media systems, enables scalable operation of the World Wide Web and is the foundation for its future evolution. However, although described over 10 years ago, no formal model for representing RESTful systems exists that is comprehensive in following REST principles, intuitive to Web engineers and researchers alike, and offers practical development guidelines. The lack of such formal models has hindered understanding of both the REST architectural style and the Web architecture, consequently limiting Web engineering advancement. In this paper we present a generic model of RESTful systems based on a finite-state machine formalism. We show that the model enables intuitive formalization of REST design principles, including uniform interface, stateless client-server operation, and code-on-demand execution. Furthermore, we describe the model's mapping to a system-level view of operation and apply the model to an example Web application and several real-word Web applications. Finally, we explore the practical challenges and benefits of using the model in the field of Web engineering, ranging from better understanding of REST to designing frameworks for RESTful system development.