Declarative assembly of web applications from predefined concepts
Author(s)Perez De Rosso, Santiago(Santiago Nicolas)
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
MetadataShow full item record
This thesis presents a new approach to web application development, in which an application is constructed by configuring and composing concepts drawn from a catalog developed by experts. A concept is a self-contained, reusable unit of behavior that is motivated by a purpose defined in terms of the needs of an end-user. Each concept includes both client- and server-side functionality and exports a collection of components--graphical user interface elements, backed by application logic and database storage. To build a web application, the developer imports concepts from the catalog, tunes them to fit the needs of the application via configuration variables, and links concept components together to create pages. Components of different concepts may be executed independently or bound together declaratively with dataflows and synchronization. The instantiation, configuration, linking and binding of components is all expressed in a simple template language. The approach has been implemented in a platform called Déjà Vu. We outline and compare our approach to conventional approaches to web application development and we present results from a case study in which we used our platform to replicate a collection of applications previously built by students for a web programming course.
This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2020Cataloged from student-submitted PDF of thesis.Includes bibliographical references (pages 181-186).
DepartmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology
Electrical Engineering and Computer Science.