OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES and APPLICATIONS
 
 
Program
 


Program (2mb PDF)

Explore
  Invited Speakers
  Onward!
  Panels
  Workshops
Discover
  Research Papers
  Student Research Comp.
  Posters
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
Understand
  Tutorials
  Essays
  Practitioner Reports
  Demonstrations
Create
  DesignFest
  Lightning Talks
  FlashBoF
  Instant Arts School Exp.
 
Other Events
 
Resort Map (364kb PDF)
 
Resort Map (JPG)

 

 
Basket
 

view, help

"High-Level Declarative User Interfaces"

 

 
Page
 

Printer-friendly

 
 
  > Doctoral Symposium



High-Level Declarative User Interfaces

Sofie Goderis, Vrije Universiteit Brussel

A problem when maintaining user interface logic is that it is entangled with the underlying application logic. With user interface (UI) logic we refer to visualisation and components' behaviour whereas with application logic we mean functional code, business model, etc. The fact that the UI logic is scattered throughout the application logic makes adapting the UI logic and evolving the application logic cumbersome and difficult for the programmer.

In order to solve this problem we need a high level separation between the UI and application, which helps the programmer to deal with UIs. Several techniques, like aspect-oriented and component based software engineering, have been used for handling the application concern, however few have been applied to tackle the UI concern.

In this research we distinguish between three UI concerns : visualisation, behaviour and application interactions. Visualisation is what the UI looks like and what widgets are provided. UI behaviour refers to how widgets relate to one another. The application interactions describe how the UI hooks into the application.

Increasing expressiveness and higher level UI specifications means decreasing the need for the programmer to deal with entangled code. To achieve this we need to write down the different UI concerns declaratively and generate certain parts of UI actions and interactions automatically. To validate this approach we implement a UI specification framework by means of declarative meta programming. The logic language serves to specify the UI logic and the reasoning engine to generate the UI. We do not replace current techniques for creating UIs, such as model-view-controller or builder tools, but we ameliorate them when providing the programmer with support for dealing with UIs. Specifying the UI logic declaratively provides high level expressiveness and removes the need for entangling UI and application logic.

keywords : User Interfaces Specification, Declarative Meta Programming

 
.