Download PDFOpen PDF in browser

QWeS2T for Type-Safe Web Programming

17 pagesPublished: May 15, 2012

Abstract

Web applications (webapps) are very popular because they are easy to prototype and they can make use of other webapps, supplied by third parties, as building blocks. Yet, writing correct webapps is complex because developers are required to reason about distributed computation and to write code using heterogeneous languages, often not originally designed with distributed computing in mind. Testing is the common way to catch bugs as current technologies provide limited support. There are doubts this can scale up to meet the expectations of more sophisticated web applications. In this paper, we propose an abstraction that provides simple primitives to manage the two main forms of distributed computation found on the web: remote procedure calls (code executed on a server on behalf of a client) and mobile code (server code executed on a client). We embody this abstraction in a type-safe language with localized static typechecking that we call QWeSST and for which we have implemented a working prototype. We use it to express interaction patterns commonly found on the Web as well more sophisticated forms that are beyond current web technologies.

Keyphrases: Type Safe Language, web programming

In: Berndt Müller (editor). LAM'10. 3rd International Workshop on Logics, Agents, and Mobility, vol 7, pages 96--112

Links:
BibTeX entry
@inproceedings{LAM'10:QWeS2T_for_Type_Safe_Web,
  author    = {Thierry Sans and Iliano Cervesato},
  title     = {QWeS2T for Type-Safe Web Programming},
  booktitle = {LAM'10. 3rd International Workshop on Logics, Agents, and Mobility},
  editor    = {Berndt M\textbackslash{}"uller},
  series    = {EPiC Series in Computing},
  volume    = {7},
  pages     = {96--112},
  year      = {2012},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/Fz},
  doi       = {10.29007/gjh5}}
Download PDFOpen PDF in browser