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 www.ifml.org 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).

Introducing the Interaction Flow Modeling Language (IFML)

Yesterday, I gave my first webinar on IFML.

As you may already know, IFML stands for Interaction Flow Modeling Language and is the new OMG standard designed for expressing the user interaction and control behaviour of the front-end of software applications. The Interaction Flow Modeling Language has been adopted as a standard by OMG in March 2013 and is now being disseminated to the public.

Here is the slidedeck used for the webinar, I think it provides a good overview on the new standard language. As usual, the slides are also available for download (through SlideShare).
Stay tuned for the recorded audio/video of the webinar, I will post it soon.

The full video recording of the webinar is now available on YouTube too. See it here:
 

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

OMG IFML webinars in English, Spanish and Italian

For your information, we will give a webinar dedicated to the new OMG standard IFML (a modeling language for defining the User Interaction of software applications, born as evolution and extension of WebML) and its practical use within model-driven approaches that go down to the generation of industrial applications upon web, mobile and proprietary platforms, as supported by WebRatio.  The webinar will also introduce the new open source design tool for IFML developed by WebRatio.

The Webinar will be given in three languages: English, Spanish and Italian.
The schedule of the three versions of the webinar is as follows:

Friday May 31, 2013
– at 15 CET (in English)
– at 16 COT (in Spanish)

Friday June 7, 2013 
– at 15 CET (in Italian)

You can register to the webinar here:

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

At full throttle towards IFML with WebRatio

IFML (Interaction Flow Modeling Language) - OMG (Object Management Group) - WebRatio logos

With its updated site and recent blog post from its CEO Stefano Butti, WebRatio is allowing its customers to move at full throttle towards the new OMG standard IFML, the Interaction Flow Modeling Language.

In particular, WebRatio is now granting the availability of both an opensource IFML editor with proof of concept implementation of integrated fUML and Alf runtime support and of the industrial-strength implementation supporting end-to-end development, from model definition to code generation and deployment (the WebRatio application platform). These are great facilities for future IFML developers and contributors.

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

IFML is now adopted and published by OMG, Wikipedia, and YouTube

Along with the continuing consolidation process of the Interaction Flow Modeling Language (IFML) within OMG, we are now starting our effort of documenting and disseminating IFML.

The three most recent resources I wish to point at are:

  • Official publishing of IFML in the OMG specification catalog
  • A new Wikipedia page on the language
  • A new demonstration video on the ongoing implementation effort of an opensource IFML editor

OMG Publishing 

OMG has now officially published IFML in its list of specifications:

and the official specs are now reachable through the official URL of the standard at:

IFML on Wikipedia 

The Wikipedia page regarding IFML is now online at:

The page summarizes the focus and content of the language, as well as the benefits that developers can gain by adopting it.

Demo video

The demonstration video of the new IFML editor that we are developing is available on YouTube.
This implementation consists of an opensource IFML editor based on Eclipse, EMF/GMF and the Graphiti API. At the moment the tool is under development, but it will be released as opensource Eclipse Project as soon as it reaches a reasonable level of completeness. The tool also includes the mappings from the IFML abstract concepts to the platform- specific concepts of Java Swing, Microsoft WPF, and HTML, as described in the IFML specification.

The modeling of the IFML diagrams for the UI part can be complemented with (ex- ecutable) UML diagrams according to fUML specifications combined with Alf scripts for the backend business logic.

A sneak preview of the tool and generation features is reported in the video, also shown below:

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

Interaction Flow Modeling Language (IFML) adopted as a standard by OMG

It’s with great pleasure and also some pride that I’m announcing that the Interaction Flow Modeling Language (IFML) has been adopted as a standard by OMG during the technical meeting held in Reston, VA this week.

This is an important result we have been pursuing for more than two years now (and ultimately have its roots in the work started almost 15 years ago).

Indeed, IFML has been promoted by WebRatio, a spinoff company of Politecnico  di Milano university, born during a European cooperative research project in a period of time (1999-2001) when the Web was changing the way in which software was implemented. The company produces a tool (called WebRatio itself) for model-driven development of enterprise Web applications, based on the WebML modeling language. And IFML comes out right from there.

The OMG standardization process is not an easy one, but IFML went through it all the way down to adoption. Initially our initiative was seen with some skepticism and suspicion by the big guns of software design, system design and system architectures in OMG. User interaction was (and still is) seen as a side or minor issue in such development scenarios. Actually, this is probably true in design of such mega-systems, where the focus is multi system integration and evolution, with most attention (an money) going into military, embedded, and crowss-government integration.
However, I dare to say that finally IFML was regarded with respect and positive attitude by all the people that got informed about it (and actually they have been quite a lot, as I managed to keep pushing it meeting after meeting with everybody I managed to talk to.

This last month has been very hectic for IFML. We had to work at the specification document, at the implementation of the tool, at the code generation prototype and at the integration with the fUML interpreter.
And finally, we received the official review comments of the OMG Architecture Board (AB). The reviews were very positive, and I was particularly please because they were coming from UniSys and IBM board members. 

The Architecture Board of the Object Management Group discusses IFML in Reston, VA.
This week the approval process went through various steps at the OMG meeting: introduction at the AB meeting on Monday; thorough discussion at the ADTF (Analysis and Design Task Force) on Wednesday, followed by the two voting phases needed for ADTF to recommend the specification for adoption; quick presentation of the IFML submission at the AB meeting on Thursday, followed by vote for adoption; and final report to the Platform Technical Committee on Friday, where the charter for the IFML Finalization Task Force has been issued.

I must say I was surprised by the enthusiasm we raised. At the ADTF the two voting phases both collected unanimous approval, with almost no criticisms. And unanimity was reached also at the adoption vote at the Architectured Board. I dare to say IFML has been one of the fastest approvals cycles that OMG ever saw. The pre-voting comments from UniSys and IBM were literally two words each: “ship it!” and “thumbs up!” respectively. Very encouraging!

The transparency proposing the IFML Finalization Taskforce
(then extended with people from SparxSystem and 88Solutions).
But this is not the end of the path. There is actually still a long way to go. We will need to set up the Beta version of the specifciation document (which will be publicly available sometime in April), and then collect comments and notes until December 2013, and release the final Version 1.0 of the standard on March 2014.
Anyway, the most important result was achieved this week and it’s something we all at WebRatio and Politecnico should be proud about.

I’m not going to go through the technical content of the standard in this post, we will have time for that later on (if you want to get a sneak peak on the specification, you can see this post). This is instead the time for rejoicying and acknoledging the work of all the people that contributed to this result.
The list of contributors is huge. It starts with Piero Fraternali and Stefano Ceri, who started the WebML project (and the AutoWeb project before). Then it counts Aldo Bongio, Roberto Acerbis and Stefno Butti. And then all the people that for some time joined the WebML / WebRatio adventure.

IFML is the result and the aggregation of all the experiences that have been collected in academia and industry in these 15 years. And this includes all the work of the developers that implemented the WebRatio tool, the WebML analysts and designers that built so many large-scale industrial applications and made customers happy (and sometimes swear), and also thesis students, researchers and partners at Politecnico di Milano. I’m not going to name anyone here, because the list would be too long (I’ve estimated some 150 people contributing in these years).

Coming back to present, some people need to be mentioned again as direct contributors to IFML, primarily the co-submitters of the standard proposal: Model Driven Solutions (and here a big thanks goes to Ed Seidewitz), Softeam, Fujitsu, and also people at Politecnico that helped both in the writing of the proposal and in the implementation of proof of concepts, still ongoing, but also in the AtlanMod group at EMN, at Soluta.net, and others.

The final point I want to make now is that IFML is now an open specification and it’s on the lookout for implementors and users.

The WebML editor from WebRatio is already compliant with the notation of IFML, being WebML a more specific case of IFML. We are also implementing an open-source ECORE-based IFML editor, featuring proof of concept generation of Java UI, integrated with fUML interpreter for the backend business logic. And we are planning of supporting some UML tool implementor to help them cover the new IFML profile. If you are interested in implementing IFML at some level (UML profile, domain-specific graphical notation, or possibly a textual notation) and want to hav it mentioned in OMG, feel free to get in touch!

Related posts:

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

IFML on its way towards OMG standardization

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.

In the UI mockup shown here, we have a user interface with a list of artists and, upon selection of one item, the visualization of the details of the selected artist.

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.

IFML resources

If you want sneak peek on the IFML language, you can look at the presentation we gave at Code Generation 2012
If you instead want have a look at the current state of the specification, here you can find the IFML specification document we submitted. This version is still a work in progress document and will be subject to the Architecture Board of OMG. We also look forward to comments and opinions from prospect users, adopters, and tool implementors. So, you are welcome to share your ideas! 

The IFML specification document is online on the OMG.org site.

Additional information are available at ifml.org and on other posts in this blog. 

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

Code Generation 2012 – from geeky (programming) interfaces to user interfaces

Code Generation 2012 logo

For the second year, I’ve been attending the event called Code Generation, held in Cambridge, UK and organized by Software Acumen. For the second year, the event has been a quite good mix of practitioners, vendors and experienced evangelists.

During the event, Emanuele Molteni (product manager of WebRatio) and I have given a talk on User Interaction modeling problems, requirements and initiative, with special attention to the IFML (Interaction Flow Modeling Language) standardization activity within OMG. I think the problem is perceived as definitely relevant by the community, as demonstrated by the lively discussion that followed the presentation.

I would say that the main characterization of this year is really towards User Interaction modeling. A lot of sessions and speeches (including ours) addressed this problem from different perspectives, spanning from multi-platform mobile apps, to interaction modeling, to interpreted approaches for enterprise UIs, and so on. Even during our presentation, the audience admitted that they have built tens of domain specific languages (DSLs) for modeling some aspects of UIs. If you are interested in the topic, you can have a look at our presentation here:

WebRatio has been sponsoring the event, and as a sponsor also got a booth at the conference (see picture). We have been interacting with a lot of visitors ad got enthusiastic feedback.

WebRatio booth at Code Generation 2012.

The event also features several interesting sub-events, sessions and keynotes, notably:

.. and several other interesting talks. 
In summary, happy to attend and looking forward to next edition.

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

IFML.org published for reporting on Interaction Flow Modeling Language

I wish to announce that we have just open the new ifml.org web site, where you can find information on the Interaction Flow Modeling Language and updates on the status of the standardization process within OMG.

As you may remember IFML is meant to be a domain-specific modeling language for describing model-driven specification of user interactions.

The URL of the new site is:  http://www.ifml.org/ .

You can find more on this in my posts on IFML, on the WebRatio blog, and obviously on the new IFML Web site.

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