Towards Reasoning for Web Applications: An Operational Semantics for Hop
The authors propose a small-step operational semantics to support reasoning about web applications written in the multi-tier language HOP. The semantics covers both server side and client side computations, as well as their interactions, and includes creation of web services, distributed client-server communications, concurrent evaluation of service requests at server side, elaboration of HTML documents, DOM operations, evaluation of script nodes in HTML documents and actions from HTML pages at client side. The web is built atop a heterogeneous set of technologies. Traditional web development environments rely on different languages for implementing specific parts of the applications.