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

Reston
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).

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:

//instagram.com/p/gjQdSbiGAq/embed///instagram.com/p/gd3_rRiGNS/embed/

  • about Thessaloniki:

   https://vine.co/v/hFB5gItqzpM/embed/simple//platform.vine.co/static/scripts/embed.js
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).

An unexpected journey, and not Bilbo’s one

In my life, I’ve always been craving for travels, visiting places, experiencing arts and seeing new things.
I never appreciated those kinds of holidays where you just sit and do nothing, I liked doing trips and sightseeing, I liked coming back from holidays more tired than then I left.

Still, we know life is always full of surprises. When I spent a few months in Cisco, CA, I was thinking that could be my first and last abroad experience. But then, I discovered our work puts us on the road all the time.

I ended up feeling like sort of a missionary of model-driven solutions, software methods, and so on.
I know locations of all shops and business in most of the airport terminals of Europe, US and more.
Airports are kind of second home, and I’m hopping from plane to plane every time.

So, the journey was unexpected (poor Bilbo Baggins!) and it’s also likely to be lifelong.
Luckily enough, I’m not at the point of George Clooney in Up in the air (and I’m not George Clooney either, despite living some 10 km from his villa). [aside: I suggest you see that movie anyway]

But a question raises here anyway:
is this journey leading somewhere?

I’m not talking about my traveling only anymore here: I’m wondering about the model-driven journey at large, for the entire field.

This existential question is something we all should wonder about. Are we just wandering or do we see a trend or direction that MDE is taking toward success and adoption?

From my side, looking back to my last 10 years of MDE experience, I’d like to say that I actually see some advancement to happen.
MDE is more recognized today, big companies are adopting more and more model-driven or at least model-based practices, business and IT are converging on communication based on models.

My last trip brought me to L’Aquila, the wonderful small Italian city that has been known world-wide for the major earthquake that did so much damage three years ago. That has been a special trip actually: great place, mountains, food, and people, and also the unique experience of walking amid ancient breached buildings, deserted streets in the ghost downtown, military patrolled “red zone”, and people that strive to go back to normal life.

I had the opportunity of presenting “our MDE success story” on WebML and WebRatio at the University of L’Aquila, where great people are pushing the rebirth of the research, teaching and city life at large. That made me think to this journey and condense my thoughts in a presentation you can see below (and on Slideshare). The interesting thing here is that, besides some lesson learnt, you can find some factual, quantitative data there!

The presentation is also partially reporting on a paper that has been recently accepted in a Special issue on MDE Success Stories edited by Richard Paige, Alfonso Pierantonio, and Davide Di Ruscio on Elsevier’s Science of Computer Programming Journal. But I’ll be back with more details on this later.

What I would like to ask now is: Do you see that MDE is getting somewhere? Or are we stuck in the Dead Marshes?

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).

Automated Function Point (AFP) adopted as a standard by OMG

Automated Function Point analysis

I think we are all familiar with the Function Point concept, used for evaluation of the size of a software application in terms of functional features. We are all well aware of the limits of this unit of measure, to the point that it is considered rather obsolete in the software engineering community: subjectivity is the main flaw that people tend to highlight for FP analysis, despite some existing standard, mainly from ISO, tried to solve the issue. FP are currently used in industry and public administrations for issuing calls and describing complexity, but usually it is adopted only in paperworks, not by software designers and developers.
A few research activity have recently tried to bind function point analysis to model-driven engineering practices, at the purpose of automating the counting of FP starting from software models (for instance, you can look at the paper “Automating function point analysis with model driven development” presented at CASCON’06), but that remained a purely theoretical exercise, even if it was actually implemented in the WebRatio tool suite at the time.

That’s why I have been surprised when I got the news that OMG recently adopted a new standard related to Function Point analysis.
The new standard is called Automated Function Point (AFP). The initiative was led by the Consortium for IT Software Quality (CISQ) and by David Herron, coauthor of Function Point Analysis and leader of the international team that developed the standard
The Automated Function Point (AFP) was voted as an OMG specification in January 2013 through an RFC process (request for comments).
AFP provides a standard for automating the popular Function Point measure according to the counting guidelines of the International Function Point User Group.
Richard Soley commented the news as follows:

“Function-point counting has been around for ages. But function-point estimation has always been just that—estimation. […] With the new OMG Automated Function Point specification, function-point counts aren’t estimations; they’re counts—consistent from count to count, and person to person. Even more importantly, the standard is detailed enough to be automatable, i.e., it can be carried out by a program.” 

 If the standard will keep his promise, I think it can bring back the concept of function point to a level that makes it usable from actual software engineers. However, I think we will need something more than that for revitalizing the usage of FP in technical activities. In a sense, I think that trust in FP analysis has been probably irremediably lost in the software engineering community.
Do you agree / disagree with my viewpoint?

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).

Presentation at Code Generation 2012: User Interaction Modeling: current status of the standardization process

Together with Emanuele Molteni, I will give a speech at Code Generation 2012 on: 
User Interaction Modeling: current status of the standardization process, from the requirements to the language.

In this presentation we will go through our 15-years experience of user interaction modeling for the Web, based on WebML and WebRatio, and we will delve into the challenge of making our own domain-specific language (DSL) a standard. We will present the ongoing activities at OMG towards the standardization of a Interaction Flow Modeling Language (IFML): we will discuss the requirements and the scope of the sought standard, and we will propose a solution based on our 15-year experience in Web interaction design. We will be inspired by our WebML language, but we will also explain how to go beyond that, so as to cover mobile, multi-touch, collaborative applications, independently from the implementation platform.
We will also show how a dedicated interaction modeling tool like WebRatio can ease the development through a plethora of facilities supporting the developer, including: visual debugging, quick prototyping, multi-platform and cloud deployment, and so on.

I look forward to the exciting days in Cambridge and to the feedback we will get from the public.
If you have suggestions or proposals on the topics you wish us to cover during the speech, feel free to let us know!

If you want to know more about the IFML standardization at OMG, you can visit these posts on IFML. The presentation given on IFML at CG 2012 is available on Slideshare and visible here (see below).

WebRatio is a proud sponsor of the event. See you in Cambridge then!

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 RFP issued at OMG

WebRatio Cubes roaming San Francisco
while I was engaged in the approval of the
IFML RFP in Santa Clara, CA.

After 9 months of participation to the OMG meetings, intensive interactions with stakeholders, and interesting feedback from big vendors and users (including IBM, Microsoft, Thales, NoMagic, SoftTeam, and others), OMG issued the official request for proposal (RFP) for IFML (Interaction Flow Modeling Language), a domain-specific modeling language for describing model-driven specification of user interaction. The RFP has been proposed for issuance by the ADTF (Analysis and Design Task Force), and then approved by the AB (Architecture Board) during the last technical meeting in Santa Clara, CA.

The IFML RFP will be the framework where we propose our contribution to OMG standardization based on the extensive 10-year experience on WebML and WebRatio.

If you want more details, you can go and find the requirements directly on the official RFP document, which is publicly available on OMG servers at the url:
http://www.omg.org/cgi-bin/doc?ad/11-12-06

Or, if you want more personal insights, you can read my complete post on the WebRatio blog.

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