The Interaction Flow Modeling Language (IFML) is now one step closer to standardization by Object Management Group (OMG). On February 18 the revised version of the IFML specification has been submitted to OMG by a consortium lead by WebRatio and comprising also Fujitsu, Model Driven Solutions, Softeam, and Thales.
The new submission has improved a lot with respect to the previous version. It now includes:
- the MOF metamodel of IFML
- the XMI exchange format
- the UML profile specification for IFML
- the Diagram Definition and Diagram Interchange specifications for IFML
- a set of examples of IFML models, including: an online email management system inspired by Gmail and an online bookstore site with cart and checkout management
- examples of combined usage of IFML and UML modeling
- a set of exemplary mappings of IFML to specific platforms, such as Java Swing, .net WPF (Windows Presentation Framework), and HTML5
IFML in a nutshell
An IFML diagram consists of one or more top-level view containers, representing UI windows or Web pages. A view container can contain view components, which denote the publication of content or interface elements for data entry (e.g., input forms). A view component can have input and output parameters. A view container and a view component can be associated with events, to denote that they support the user’s interaction. Events can trigger navigation flows and data flows.
To get the flavor of the new IFML notation, I’m sharing here a very simple example.
The corresponding IFML model is shown below: a container called Artists includes two ViewComponents, a list and a detail about artists. The navigation flow that goes from the event denoting the selection of an item of the Artist Index view component to the Artist view component (showing the selection details), has a parameter binding that associates an output parameter of the Artists Index view component with an input parameter of the Artist view component.