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

Code Generation conference is back!

Code Generation, the premiere venue for model-driven addicted, is back in Cambridge for 2014!
If you are in the field of software modeling, software languages, design and development tools, model interpretation, executability and (of course) code generation, you should definitely attend the event.
The conference is a great mix of presentations, workshops and hands-on sessions.

We also gave our own presentation at Code Generation 2012 on WebRatio and IFML.
Here is the video of our presentation published on InfoQ.

This year the conference features a tutorial on Adaptive Embedded Development with Stephen Mellor, plus keynote speeches by Juha-Pekka Tolvanen (CEO of MetaCase) and by  Johan den Haan (CTO of Mendix).

You can find more on the official conference web site:  http://codegeneration.net/cg2014/

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

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:

//www.youtube-nocookie.com/v/5u6AVYclWao?version=3&hl=en_US

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.

https://vine.co/v/hdlgzQwOz95/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).

Communicating Business Process and Software Models: Quality, Understandability, and Maintainability

For the first time, this year we organized a workshop on Communicating Business Process and Software Models: Quality, Understandability, and Maintainability (CPSM 2013). [see official web site]

Hajo Reijers giving his keynote talk at CPSM workshop
Hajo Reijers giving his keynote talk at CPSM workshop

It was held on September 23rd, 2013 at the Technical University of Eindhoven, the Netherlands in conjunction with the 29th IEEE International Conference on Software Maintenance.

The motivation of the workshop stands in the fact that, in recent years, models have become a paramount means for communication. This gained more attention in research on process modeling and software modeling. Both communities discuss issues on models, modeling languages, and their use and perception, such as model understandability, complexity of modeling
languages, actual usage of language features, cognitive aspects, human perception and subjective perspectives on models, and related topics. These aspects are extremely important for the adaption of modeling languages both for process design and software development. Furthermore, models are becoming more and more important as a communication tool across disciplines and enterprise roles. In particular understandability and readability of models is a key success factor for comprehensive modeling of enterprise practices and IT systems. This entails the possibility of modeling different perspectives of the enterprise, and yet grant coherency and integration between the models. The CPSM 2013 workshop was held as a multi-disciplinary forum for researchers and practitioners actively working on quality, usability and maintainability of software and process models. The goal of the CPSM workshop was to bring together researchers and practitioners in the area of Business Process (re)design and software maintenance, to discuss about and exchange ideas on quality, understandability and maintainability of business process models, of software models, and of the relationships between business process models, software models, and system implementation.

CPSM workshop attendees suring one discussion session
CPSM workshop attendees suring one discussion session

The event was a success, it gathered more than 15 attendees between software engineers, BPM practitioners and academics, and was a great occasion for discussion.

The organization of the event was by Irene Vanderfeesten, Dirk Fahland (both from Eindhoven University of Technology) and myself.
Some pictures of the event are reported here, while others are available on the workshop site, together with the slides of the keynotes and additional materials.

If you are interested in the event and in contributing to organizing or hosting its future editions, feel free to get in touch.

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