Generating User Interfaces by means of Declarative Meta Programming - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Generating User Interfaces by means of Declarative Meta Programming

Description:

Different UI's for 1 application, on different devices ... Facts representing hooks in application code. Rules expressing how to combine both parts ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 9
Provided by: blabla9
Category:

less

Transcript and Presenter's Notes

Title: Generating User Interfaces by means of Declarative Meta Programming


1
Generating User Interfaces by means of
Declarative Meta Programming
  • Goderis Sofie
  • Programming Technology Lab
  • Vrije Universiteit Brussel

2
Outline
  • Important issues for User Interfaces
  • DMP as a solution
  • SOUL
  • Generating UI with SOUL
  • Conclusion

3
User Interfaces Important issues
  • Decoupling UI and Application
  • Different UIs for 1 application, on different
    devices
  • Creation on a higher level (device in-dependable)
  • Transformation towards lower level (device
    dependable)

gt UI Generation
4
Declarative Meta Programming
  • Writing declarative programs dealing with other
    programs
  • Generating UI
  • Facts representing user interface specification
  • Facts representing hooks in application code
  • Rules expressing how to combine both parts
  • Different layers

5
SOUL
  • Prolog alike programming language
  • Logic facts data, knowledge
  • Rules reasoning about these facts
  • Meta layer on top of Smalltalk
  • Smalltalk term Smalltalk objects as SOUL
    constants
  • Quoted term unevaluated strings, possibly
    annotated with logic variables

6
Generating with SOUL
  • Higher level specification
  • Fact question(q, The actual question?)
  • Rule for HTML
  • Rule generateHTML(?something, ?code)
    if question(?something, ?text), equals(?code,
  • lthtmlgtltbodygt lth1gt Question lt/h1gt ltu1gt
    ?text lt/u1gt lt/bodygt lt/html? )

7
  • Rule for Smalltalk pop-up
  • Rule generateSmt(?something, ?code)
    if question(?something, ?text), equals(?code,
  • PopUpMenu confirm ?text)
  • Generating
  • generateHTML(q, ?htmlcode)
  • generateSmt(q, ?smtcode)

8
Conclusion
  • Position Use of DMP for generating UIs
  • Lots of future work
Write a Comment
User Comments (0)
About PowerShow.com