Chapter

Web Engineering

Volume 6757 of the series Lecture Notes in Computer Science pp 346-360

Formal Modeling of RESTful Systems Using Finite-State Machines

  • Ivan ZuzakAffiliated withSchool of Electrical Engineering and Computing, University of Zagreb
  • , Ivan BudiselicAffiliated withSchool of Electrical Engineering and Computing, University of Zagreb
  • , Goran DelacAffiliated withSchool of Electrical Engineering and Computing, University of Zagreb

* Final gross prices may vary according to local VAT.

Get Access

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