DESK - Dynamic web documents by Example using Semantic Knowledge
The dynamic generation of web pages has become commonplace for even the simplest WWW applications today. Since the mid-90’s a significant progress has been achieved in the development of systems and tools that simplify the automatic generation of pages, in exchange for affordable limitations on the expressive power provided to developers. With these tools the developer inputs structured knowledge and multimedia resources in a very simple format, and the system takes care of the generation of HTML code on the fly at runtime. In general, such tools generate the code according to a fixed page design that the developer cannot modify.
On the other hand, maintaining knowledge-based web applications is not an easy task for unskilled users due to the complexity and abstraction needed for knowledge modelling inside of this kind of systems. Most of these applications take care automatically of the final web page creation, but it is up to the developers to maintain and process changes that affect the structure and appearance of the application. For this reason, easy-to-use authoring tools are needed to provide developers with an easy paradigm to change contents and final presentation, as well as to provide the user with a specific language for modelling the final design.
To aim at filling these gaps, we have created DESK (Dynamic web documents by Example using Semantic Knowledge), an interactive authoring tool that allows the customization of dynamic page generation procedures with no a-priori tool-specific skill requirements from authors. Our approach consists of combining Programming By Example (PBE) techniques with an ontology-based representation of knowledge displayed in web pages. DESK acts as a client-side complement of a dynamic web page generation system, PEGASUS, which generates HTML pages from a formally structured domain model and an abstract presentation model. Authorized users can modify the internal presentation model by editing the generated HTML pages with DESK in a WYSIWYG environment. DESK keeps track of all user actions and exploits the explicitly represented domain semantics to enhance the power of PBE techniques.
With DESK the user can modify the design of dynamic web documents by editing the HTML code generated by PEGASUS, instead of using the PEGASUS modelling language to edit the abstract internal models. DESK identifies domain values, model fragments, and presentation constructs in the HTML code, from which it infers meaningful transformations on the models. The user only knows about the HTML code and needs not be aware of the underlying models.
DESK has a client-side and a server-side. The client-side looks like a conventional HTML edition tool, where the designer edits web pages. The editor monitors the user and generates a monitoring model that is sent to the DESK server-side. The server-side processes the monitoring model, infers changes to the PEGASUS models, and generates a report that is sent to the user for feedback.
DESK records all basic editing actions (insert text, change
text style, etc.). For each user action, DESK attempts to find out the
syntactic context by applying low level heuristics (HL),
packing the context information and user's actions into constructors
primitives to make up the monitoring model, as shown bellow.

Low level heuristics determine the syntactic context of user actions, which will be used by the server-side. Low level heuristic are grouped into the following modules:

The above figure shows the back-end architecture of DESK. The client-side sends the monitoring model to the DESK server-side, where inference takes place.
The server-side builds a semantic context for applying changes to the PEGASUS models using high level heuristics (HH). High level heuristics find the semantic context in terms of the domain model. High level heuristics are grouped into the following modules:
DESK is being implemented in JavaTM JDK 1.4, using XML/DOM and JavaServer PagesTM.
DESK is part of the Encitec
and Arcadia project, funded by the Spanish government.
Publications