Mobile app development – Extensions for IFML modelling language, tool and code generator presented at MobiWIS

Front-end design of mobile applications is a complex and multidisciplinary task, where many perspectives intersect and the user experience must be perfectly tailored to the application objectives. However, development of mobile user interactions is still largely a manual task, which yields to high risks of errors, inconsistencies and inefficiencies.

The contribution of the AutoMobile research project (lead by WebRatio) is a model-driven approach to mobile application development based on the IFML standard by the OMG.

We recently wrote a paper on the subject, which got accepted at the MobiWIS 2014 conference, in Barcelona. In this paper we propose a model-driven approach to mobile application development based on the IFML standard. We propose an extension of the Interaction Flow Modeling Language tailored to mobile applications and we describe our implementation experience that comprises the development of automatic code generators for cross-platform mobile applications based on HTML5, CSS and JavaScript optimized for the Apache Cordova framework.

We show the approach at work on a popular mobile application, we report on the application of the approach on an industrial application development project and we provide a productivity comparison with traditional approaches.

Eric Umuhoza, affiliated with Politecnico di Milano and Ecole des Mines de Nantes, presented the paper at MobiWIS 2014 regarding the research conducted in the AutoMobile project, lead by WebRatio.

Here are the slides of the presentation:


and here is the link to the paper published by Springer:

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Fifteen Years of Industrial Model-Driven Development in Software Front-ends. Find WebRatio and IFML on the Novatica Journal (in Spanish!)

Novatica, the official journal of the Spanish association of Computer Science Technicians (ATI), just published a monographic issue on “Adopción industrial de la ingeniería del software dirigida por models” (industrial adoption of model-driven software engineering practices).

Together with a set of interesting experiences mainly in the Spanish market, the issue also features an article about WebML, WebRatio and IFML, written by Stefano Butti and myself, and graciously translated to Spanish by Matteo Silva and the WebRatio team in Latin America.

The paper discusses the history behind the standard IFML, recently adopted by the Object Management Group. We show how our initial proposal called WebML has been an incubator for research and industrial exploitation on conceptual modeling, exploiting existing experiences in the field and continuously addressing new challenges concerning abstractions, methods, tools, and technologies. We summarize the essence of the approach and we show the supporting modelling tool WebRatio at work.

This journal issue is a valuable resource, especially for Spanish-speaking people, as you will be able to find a comprehensive coverage of the model-driven market in Spain, and more in general some interesting industrial experiences with model-driven approaches (all written in Spanish!).

For your convenience, you can find the English and Spanish preprint versions of the articles here, in the form of WebRatio white papers, courtesy of WebRatio and Novatica.

Here below you can find the original front page of our article as published in Novatica:

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

IFML – Interaction Flow Modeling Language 1.0 – My tutorial on UI and UX modeling & design at ICWE 2014

This year, ICWE – International Conference on Web Engineering, took place in Toulouse, France.

Given the upcoming adoption by the OMG – Object Management Group of IFML, I decided to give a tutorial on it there. IFML, the Interaction Flow Modeling Language (IFML) is designed for expressing content, user interaction and control behaviour of the front-end of software applications, as well as the binding to the persistence and business logic layers. IFML is the missing piece for modeling the front end of software applications and perfectly complements other modeling dimensions in broad system modeling projects. Therefore, IFML works best when integrated with other modeling languages in the MDA suite, such as UML and BPMN. This tutorial illustrates the basic concepts of IFML, presents the design best practices and integration with other modelling languages, and discusses some industrial experiences (also featuring quantitative measures of productivity) achieved by the companion tool WebRatio. At the end of the tutorial, attendees will get a general knowledge about IFML (they will be able to design simple models and to derive models from existing interfaces), will be able to associate front-end design with system modelling at large, will see the associated MDE tool WebRatio at work, and will get a glimpse of real-life industrial applications developed for large enterprises. This will let them appreciate the advantages of a model-driven development approach at work within large-scale industrial project.

Here are the slides of my tutorial:

And here are some pictures taken by some attendees:


To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

IFML 1.0: Interaction Flow Modeling Language approved by the OMG

After three years of work, IFML 1.0 is finally approved by the OMG!
The Interaction Flow Modeling Language was actually adopted one year ago, in March 2013, as Beta specification by the Object Management Group (OMG). Since then, the IFML Finalization Task Force worked hard to bring the specification to perfection.

The Object Management Group (OMG) Architecture Board approves the new IFML 1.0 standard on March 2014 in Reston, VA
The OMG Architecture Board gathered for approval of IFML. Among others, you can see Andrew Watson (OMG), Juergen Boldt (OMG), and representatives of IBM, 88Solutions, Adaptive, Fujitsu,  PrismTech and others.

Along the path, we got valuable feedback from implementors of the standard, spanning DSL tool vendors implementing the notation, UML tool vendors implementing the UML profile, and our own developers at WebRatio implementing the commercial industry-strenght modeling tool and code generators, as well as a bunch of opensource IFML editors. We also got feedback from WebRatio customers, which contributed to improve the language notation too.

All this summed up to 77 issues formally submitted to the OMG and subsequently addressed by the task force. The specification document, as well as the machine readable files (XMIs) have been cleaned up and prepared for final publication.
As a last step, the finalized version of the standard has been presented at the ADTF and at the Architecture Board of the OMG during the March technical meeting in Reston, VA, USA.
Version 1.0 is now officially adopted by the OMG. It’s just a matter of a few weeks before the final, copyedited version of the specification will be officially available on the OMG servers.
For documentation purposes, here is a snapshot of the program
Meanwhile, you can have a look at the sneak preview of the final version of IFML. Further details are available on the official site.

As Stefano Butti, CEO of WebRatio said, IFML is one of the three biggest leaps in WebRatio history (together with the move to the US and the selection of WebRatio as Gartner Cool Vendor). Other vendors have already declared interest and/or started developing some modeling solution based on IFML. We look forward to wide adoption of this new standard, thanks also to the integration with other modeling aspects such as business modeling (with BPMN) and system modeling (with UML, SoaML, SysML, …)!

At the Reston event we also gave away the first copies ever of the very nice IFML Cheat Sheet (or Quick Reference Guide) prepared by WebRatio based on the official specification document.
The cheat sheet is available for free on the learning portal of WebRatio.

IFML CheatSheet - Quick Reference Guide and examples
The IFML cheat sheet: Quick Reference Guide and Examples (on the back side, not shown here).

Here is a small photo gallery of the event location, the WebRatio booth and the program of the AB plenary where IFML was adopted.

WebRatio boothOMG AB agenda for March 2014


To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Sneak peek at IFML 1.0 (the Interaction Flow Modeling Language) by the OMG

IFML 1.0 is almost here!

As you may know by now, the OMG standard Interaction Flow Modeling Language (IFML) is designed for expressing the content, user interaction and control behaviour of the front-end (aka view) of software applications.

And if you don’t know anything about IFML, you can just visit or have a look at this introductory presentation:

The round of refinement applied to IFML Beta 1 by the finalization task force (FTF) in OMG has been closed this week, as reported on the IFML OMG wiki.
The task force has addressed 77 issues raised by users and implementors in these months, and has compiled a new version of the IFML metamodel, UML profile, and specification document, currently labeled as Beta 2. This version is the candidate for the issuance of IFML 1.0.
Since I’ve been leading the task force efforts and I know how much improvement has been put in this new version of the language, I’m happy to share with you a preview of this new version, well before the official one will be released (tentative release date is April 2014)

A short summary of the changes is available in this presentation: Interaction Flow Modeling Language: updates on the Beta2 version – by the OMG IFML FTF.

The machine readable files are available too (metamodel, UML profile, and diagram interchange). Additional ancillary files (MagicDraw model sources, figures and so on) are available too.
Here is an example of IFML diagram you can draw with the new version. For instance, you can distinguish between throwing events (black circles) and catching events (while circles), and you have new concepts, such as «Menu».


IFML diagram example describing the UI of a mailbox, with possible actions on the messages, and event-driven on-screen notification of action results.

Related posts:

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

The Automobile project delves into the core of model-driven mobile apps

Starting October 2013, my research group at Politecnico di Milano and WebRatio have started a research project called Automobile, which aims at designing and bringing to the market innovative methodologies, software tools, and vertical applications for the cost-effective implementation of cross-platform, multi-device mobile applications, i.e. business applications that can be accessed by users on a variety of devices and operating systems, including PC, cellular / smart phones and tablets.

AutoMobile will exploit the paradigm of Model-Driven Engineering and code generation to dramatically simplify multi-device development, reducing substantially cost and development times. AutoMobile will rely on modeling languages such as IFML (Interaction Flow Modeling Languages) and on tools like WebRatio.

The other partners of the project are the Ecole des Mines de Nantes, Forward Software, and Moonsubmarine.
The official project Web site is:
The project is now entering the core part of the work: we have studied the background and related work, and we have defined the business requirements. We are now starting studying the domain-specific extension of IFML for mobile, based on the study of the capabilities of the different mobile platforms and devices, including cross-platform approaches like PhoneGap.
We look forward to sharing with you our results!
To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

IFML – the Interaction Flow Modeling Language, moves on to Beta2

After 6 months from its adoption, IFML moves on to a new, cleaned up version, named IFML Beta2.
The new version is the result of the feedback collected in these months from our partners, customers, researchers and developers, that are putting IFML at work in tools (primarily WebRatio) and at customers. This reality check phase is essential in the OMG adoption policy, as it acts as a validation for the standard.
For IFML, we collected (and addressed) 70+ issues. Although this meant a lot work, we are glad we got so much feedback.
The novelties of IFML Beta2 have been presented at OMG’s Technical Meeting in Santa Clara, CA, on December 11, 2013. They span various levels of details, starting from typo fixing, to better textual descriptions of the concepts, to solution of small mistakes in the metamodel and UML profile, up to some changes in the language concepts and notation. The latter are the most important aspects and they include:

  • Catching and Throwing events: the role of events in the model are now distinguished by two new concepts and different notations (catching events are represented by white circles, throwing events by black circles) 
  • Jump and Landing events: for letting throwing events of type Jump explicitly reference the target Landing events in the models 
  •  Menu ViewContainer: for describing interactive menus 
  • Module Definitions and Packages: for allowing defining reusable modules 
  • Generalization of the binding to the business logic and to the content model, thus letting IFML models reference also models different from UML ones 
  • Reference to BPMN: IFML modules can now explicitly refer to BPMN activities (meaning that the IFML model represents the implementation of the business activity). 
  • Context variables: variables can now be associated with the user context, for preserving the state of the application. 
  • Furthermore, the explicit list of allowed extensible concepts has been added. 

The status of the specification and the main metamodel changes are summarized in the presentation here below:

The new IFML Beta2 version will be released officially by OMG soon. The specification document will be available on the OMG site (I’ll let you know as soon as it is published).

The IFML tour – Part 2

After reporting on my recent tour presenting IFML in the US, I wish to mention my last IFML trips. I have been invited in two remarkable venues for presenting IFML:

  • at the University of Luxembourg (research group of Lionel Briand) and at the Luxembourg office for informatization of the public administration.
  • at the MUMIA COST Action meeting on standardization for NLP and search user interactions, held in Thessaloniki, Greece.

They have been both wonderful occasions for exchanging ideas on IFML, getting in touch with new people, and fostering new possible research directions.
Some images of the two places are reported below. Don’t expect fancy tourist pictures, I just took them on my way to the meeting place, or at the meeting itself.

  • about Luxembourg:


  • about Thessaloniki:
To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Videos of the Webinars on IFML and its integration with BPMN and UML

Along with the effort of disseminating IFML all around the world, I also gave some online webinars on IFML (the Interaction Flow Modeling Language). If you are interested in learning the basics of the language and on its integration with BPMN and UML, together with the enabled code generation options, you may want to watch the following recordings of the webinars.

This is the last webinar, dedicated to IFML and to its use integrated with other modeling languages in the MDA suite, such as UML and BPMN. The webinar will introduce the basics of the IFML language and will demonstrate the advantages of using it together with BPMN diagrams, UML activity diagrams, sequence diagrams, and class diagrams. The tutorial shows that IFML is the missing piece for modeling the front end of software applications and perfectly complements other modeling dimensions in broad system modeling projects:

If you like, you can listen to it also in Italian (also presented by me) or in Spanish (speaker Matteo Silva).

The webinar video, only introducing IFML and the standardization experience, is available too:


To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Mobile, Cloud, BPM through MDD for fostering the business. Presentation at SMAU 2013

Yesterday, together with Matteo Sassi from WebRatio, I gave a seminar at SMAU 2013 on applying model-driven engineering solutions to Mobile, Cloud, and BPM technologies for fostering the business.
The main message is that MDD and MDE can dramatically increase efficiency, flexibility and effectiveness of the enterprise by letting it address better the needs of the customers.
The presentation I gave is reported here below (in Italian).

Here is the setting of the presentation, with Matteo Sassi doing the demonstration of the WebRatio tool for BPMN and IFML modeling, quick prototyping and deployment on the cloud.
 To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).