Hop and HipHop: Multitier Web Orchestration
Rich applications merge classical computing, client-server concurrency, web-based interfaces, and the complex time- and event-based reactive programming found in embedded systems. To handle them, we extend the Hop web programming platform by HipHop, a domain-specific language dedicated to event-based process orchestration. Borrowing the synchronous reactive model of Esterel, HipHop is based on synchronous concurrency and preemption primitives that are known to be key components for the modular design of complex reactive behaviors. HipHop departs from Esterel by its ability to handle the dynamicity of Web applications, thanks to the reflexivity of Hop. Using a music player example, we show how to modularly build a non-trivial Hop application using HipHop orchestration code.
KeywordsCore Statement Input Event Music Player Synchronous Language Client Code
Unable to display preview. Download preview PDF.
- 1.Berry, G.: The foundations of Esterel. In: Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press (2000)Google Scholar
- 2.Berry, G., Nicolas, C., Serrano, M.: HipHop: A Synchronous Reactive Extension for Hop. In: Proceedings of the PLASTIC 2011 Workshop, Portland, USA (October 2011)Google Scholar
- 5.Meyerovich, L.A., Guha, A., Baskin, J., Cooper, G.H., Greenberg, M., Bromfield, A., Krishnamurthi, S.: Flapjax: a programming language for ajax applications. In: Proceeding of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2009, pp. 1–20. ACM, New York (2009)CrossRefGoogle Scholar
- 7.Potop-Butucaru, D., Edwards, S.A., Berry, G.: Compiling Esterel. Springer (2007)Google Scholar
- 9.Serrano, M., Gallesio, E., Loitsch, F.: HOP, a language for programming the Web 2.0. In: Proceedings of the First Dynamic Languages Symposium, Portland, Oregon, USA (October 2006)Google Scholar