ContextHOP: Context-Oriented Programming for the Web 2.0

Research Context

Take a look at the following Scheme-based software development kit for web applications, HOP (go to the “Demos” tab to have a quick overview).

HOP software development environment

HOP is a new higher-order extension to the Scheme programming language especially designed to build highly interactive web applications such as web agendas, web galleries, music players, games, etc. It provides simple yet expressive means to cope with the distributed nature of such applications - where logic and GUIs normally run on different environments - preventing the programmers from having to use a bunch of different languages.

Using HOP, web applications gain significantly in simplicity. Still, there is a number of open issues that need to be further explored: One of them is support for context awareness in web applications. Context can be parameters like user preferences, the platform a web application is running on, the location of the user, and so on. The increasing demand for highly customizable services and the upraising of new and diverse mobile and embedded hardware technology makes this context-dependent adaptability a crucial property for web applications.

At the PROG lab, we actively investigate several language extensions that facilitate the modeling of dynamic context-dependent behavioral adaptations in programs. Hence our interest in this proposal to combine this effort - called Context-Oriented Programming (COP) - with HOP. We believe that the rationale behind these two approaches will converge into a simple, expressive and flexible framework for context-dependent web applications.

Research goals

The goal of this thesis proposal is two-fold:

  1. At a conceptual level we propose the student to explore the principles of HOP and COP and to figure out an appropriate combination of these two language technologies.
  2. At an implementation level we offer the student two possibilities: (a) to develop a COP framework in Scheme that works in conjunction with HOP, or (b) to develop HOP concepts of distribution in Common Lisp that work in conjunction with our implementation of COP, called ContextL.

References

 
teaching/thesis0809/proposals/contexthop.txt · Last modified: 10/04/2008 19:58 by progthesis
 

© 2003-2010 • System and Software Engineering Lab • Submit comments and bugs to our Bugzilla or to the webmaster