Video of the Interview with Richard Soley (OMG) on IFML and user interaction modelling

Here is a short clip of the interview regarding the Interaction Flow Modeling Language (IFML) recorded in March 2015, in occasion of the release of IFML 1.0.
In the interview we discuss with Richard Soley about the relevance of user interaction modelling, the way it can be integrated with broader modelling projects, and the impact it has on overall design effort of software systems. Emanuele Molteni also discusses some success stories in the application of IFML in large-scale industrial projects in the US, by means of the WebRatio tool.

https://www.youtube-nocookie.com/embed/ZT1Z0zOrOc4
To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Keynote speech on User Interaction Modeling at Modelsward 2015 in Angers

On February 10, 2015 I gave a keynote at Modelsward in Angers, France.

The speech focuses on the modeling of software UIs through graphical domain-specific languages and in particular shows the new standard adopted by OMG called IFML (Interaction Flow Modeling Language) at work. My presentation illustrates the basic concepts of IFML, presents the design best practices and integration with other modelling languages, and discusses some large-scale industrial experiences (also featuring quantitative measures of productivity) achieved through IFML and associated full code generation techniques.

The full video of my presentation (1 hour long, if you can endure it!) is available on Vimeo thanks to the Insticc service. See it here too:

The IFML book – OMG’s Interaction Flow Modeling Language explained

After almost one year of work, the result of our efforts finally came to light in late December 2014. Since it was almost Christmas time, we decided to wait 2014 for the launch. But now, here we are.
OMG Press and Morgan Kauffman published our book:

Interaction Flow Modeling Language:
Model-Driven UI Engineering of Web and Mobile Apps with IFML
Additionally, I can announce officially we will have a launch event at the next OMG meeting in Reston, VA, USA, in March 2015.
The book introduces the reader to the novel OMG standard Interaction Flow Modeling Language (IFML). Authors Marco Brambilla and Piero Fraternali are also authors of the IFML standard and wrote this book to explain the main concepts of the language. They effectively illustrate how IFML can be applied in practice to the specification and implementation of complex web and mobile applications, featuring rich interfaces, both browser based and native, client side components and widgets, and connections to data sources, business logic and services.
The book provides you with unique insight into the benefits of engineering web and mobile applications with an agile model driven approach. Concepts are explained through intuitive examples, drawn from real-world applications. The authors accompany you in the voyage from visual specifications of requirements to design and code production. The book distills more than twenty years of practice and provides a mix of methodological principles and concrete and immediately applicable techniques. Dr. Richard M. Soley, chairman of the OMG, wrote the foreword of the book.

You can buy the book in paperback (on Amazon or any other bookstore) or electronic format (Kindle on Amazon; PDF e-book on Elsevier store).

If you are looking for some basic introduction to model-driven engineering, you can check out this book: Model-Driven Software Engineering in Practice (by Brambilla, Cabot and Wimmer).

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

Bran Selic, Mark Van Den Brand and Marco Brambilla: Panel on State of Modeling.

Within the Modelsward conference held at ESEO in Angers, France, the warm up session has been delegated to a panel on the state of modelling, where panelists Bran Selic, Mark Van Den Brand and myself discussed about their vision on modelling.

Plenty of good points came up both from the panelists and the audience.

The main message from Bran Selic was:

  • Non-functional modelling is wrong, both in terminology and semantic senses
  • the so called “ities” are more than 50, and still each of them needs to be covered with different techniques and tools
  • The term implies a second-order importance, and a negative definition which are bad by themselves
  • Furthermore, you cannot cover them separately wrt functional requirements, because it’s not true you can cover them through aspect-oriented or separation of concern. For instance, you cannot put in “reliability” to a system after you have covered the functional aspects only
  • So, best to call them “qualities” of the system. Even in ancient Greece, quality was undistinguishable from the thing itself

On the other side, Mark Van Den Brand was pointing to:

  •  the risk for software engineers to become obsolete, because every domain expert is going to build his own tools and languages by himself
  • the software engineers then should become more interdisciplinary, while not delve into becoming domain experts of some sort.
My provocative message at the panel was that:
  • Modeling is dead! In the sense we cannot expect
  • We should move to Un-Modeling Practices, that is: remove modelling as a tool for everybody, using modelling tools as experts, and let people enjoy only the little bit they deserve, without forcing MDD frameworks, which are usually not easily accepted
  • Modeling should be used under the hood and each actor should be shown the proper tool (including programmers, who are not easily buying the model-driven approaches at all)
  • This will not be possible until language and tool designers will be software engineers only (just think at the terrible modelling tools we are able to build).
  • Here is the slides I used for my pitch:
I think all this poses extremely complex challenges to the modelling and software engineering community. It’s up to us to keep up with these challenges, or become obsolete (aka. remain a very small niche in the software development world).

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

Advanced Software Engineering past exam solutions

Here you find a couple of past exams.

Exam of 02-09-2013: a modeling language for defining user interfaces of mobile applications.

Description: advanced-software-eng-exam-2013-09-02

Exam of 17-09-2013: language for high level models of computer hardware architectures.

Description: advanced-software-eng-exam-2013-09-17

The Cloud meets Model-Driven Engineering

Cloud computing is enormously promising in terms of providing scalable and elastic infrastructure for software applications, as well as innovative business opportunities.

However, its complexity (both in terms of understanding and adoption) is often underestimated.
That’s why Model-Driven Engineering (MDE), whose focus is to elevate conceptual models to first class artefacts of the software development process, can come at hand also for addressing software issues on the cloud.
MDE is enormously promising in terms of automating tedious or error prone parts of systems engineering. There is a huge potential in identifying synergies between MDE and cloud computing; this is the focus of the workshop CloudMDE 2014. This year, the MODELS conference will host the second edition of the workshop, in Valencia (Spain), on September 30, 2014.
Here are a couple of excerpts from the workshop call.

Model Driven Engineering (MDE) features powerful tools, including for constructing models and managing them (e.g., via transformation, code generation, merging), though numerous challenges and difficulties arrive in adopting and deploying the tools. MDE principles, practices and tools are also becoming more widely used in industrial scenarios. Many of these scenarios are traditional IT development (e.g., focusing on code generation), and emphasis on novel or evolving deployment platforms has yet to be seen.

Cloud computing is a computational model in which applications, data, and IT resources are provided as services to users over the Internet. Cloud computing exploits distributed computers to proxvide on-demand resources and services over a network (usually the Internet) with the scale and reliability of a data centre. There are different types of clouds; organizations can provide hardware for clouds internally (internal clouds), or a third party can provide it externally (hosted clouds). A cloud might be restricted to a single organization or group (private clouds), available to the general public over the Internet (public clouds), or shared by multiple groups or organizations (hybrid clouds).

Let’s put them together! A nice example of this is the brand new cloud implementation of WebRatio.

All the papers presented at the workshop are available online as CEUR-WS proceedings at:

http://ceur-ws.org/Vol-1242/

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

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