Interaction Flow Modeling Language as a DSL
The Interaction Flow Modeling Language (IFML) is a graphical modeling formalism for designing front-end user interaction. It has been recently adopted by the OMG as a standard, and consolidates more than 10 years of experience in designing web applications.
IFML is graphical modeling language, and as such requires dedicated, graphical tooling. The goal of this project is to implement IFML as a textual, domain-specific language, so that standard tools (IDEs, version control, etc.) can be used for designing interactions. Moreover, it is expected that close integration with ordinary programming language features (statements, assignments, expressions etc.) can make IFML a more complete language. Finally, suitable abstraction mechanisms (modules, definitions etc.) are can help to improve the practice of interaction design.
In particular, important questions of this project are:
- Is there a systematic way to obtain a usable, textual DSL from a graphical modeling language such as IFML? This concerns both syntactic (e.g. grammar) as well as semantic (consistency checks).
- What changes are needed to the language to support textual modeling? For instance, additional facilities to deal with names.
- What kind of abstraction facilities are needed, or are desired in a language like IFML? Think: modules, functions, templates etc.
- A detailed assessment of the IFML meta model and how to map this to a usable textual language.
- A prototype implementation of IFML using Rascal; including a compiler to a certain UI platform (e.g., JavaFX, Swing, HTML, GWT, etc.)
- Evaluation of the prototype using an example GUI application (e.g., email client).
- A qualitative assessment of the resulting DSL and the original IFML modeling approach.
- Klint, Lämmel, Verhoef, Toward an engineering discipline for grammarware, TOSEM, 2005
- Manuel Wimmer, Gerhard Kramler, Bridging Grammarware and Modelware, Models, 2005
- Alanen, Porres, A Relation Between Context-Free Grammars and Meta Object Facility Metamodels, 2003
Contact: Tijs van der Storm