Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns

This is the summary of a joint contribution with Eric Umuhoza to ICEIS 2017 on Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns.
Internet of Things technologies and applications are evolving and continuously gaining traction in all fields and environments, including homes, cities, services, industry and commercial enterprises. However, still many problems need to be addressed.
For instance, the IoT vision is mainly focused on the technological and infrastructure aspect, and on the management and analysis of the huge amount of generated data, while so far the development of front-end and user interfaces for IoT has not played a relevant role in research.
On the contrary, we believe that user interfaces in the IoT ecosystem they can play a key role in the acceptance of solutions by final adopters.
In this paper we present a model-driven approach to the design of IoT interfaces, by defining a specific visual design language and design patterns for IoT applications, and we show them at work. The language we propose is defined as an extension of the OMG standard language called IFML.

The slides of this talk are available online on Slideshare as usual:

No, MDE is not Engineering!

Following up on my previous post on the actual “Engineering” contribution of Model Driven Engineering, here is the final result of the 2-day poll posted on twitter:

While this is definitely not a statistically significant benchmark, I think it’s a significant insight on the field and on how ourselves (MDE practitioners and researchers) see the field.
Basically, there is absolutely no agreement and common understanding!!

On the question on whether MDE is a sound engineering discipline, one third of responders said yes, one third said no, and one third is not sure. Perfectly even distribution!

In summary, if you don’t count uncertainty, here is what we collected:

No, MDE is NOT Engineering!

Anyone wants to comment on this?

You can also go through the discussion between Lionel Briand, Paola Inverardi and Manfred Broy on MDE maturity in my previous post about the panel at ModelsWard 2016.

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

ECMFA: 12th European Conference on Modelling Foundations and Applications

This year I’m involved in the program committee of the Foundations track of ECMFA.
ECMFA 2016 is the 12th European Conference on Modelling Foundations and Applications and is co-located with STAF 2016, on 4-8 July, 2016, in Vienna, Austria. Here are some core excerpts from the call for papers, which could be of interest for software modelling practitioners.

The ECMFA conference series is dedicated to advancing the state of knowledge and fostering the industrial application of Model-Based Engineering (MBE, an approach to the design, analysis and development of software and systems based on high-level models and computer-based automation). Its focus is on engaging the key figures of research and industry in a dialog which will result in stronger and more effective practical application of MBE, hence producing more reliable software based on state-of-the-art research results.

The official conference web site is available at: http://ecmfa2016.itu.dk/

ECMFA 2016 will be co-located with ICMT, TAP, SEFM, ICGT and TTC as part of
the STAF federation of conferences, leading conferences on software
technologies (http://stafconferences.info). The joint organization of
these prominent conferences provides a unique opportunity to gather
practitioners and researchers interested in all aspects of software
technology, and allow them to interact with each other.

ECMFA has two distinct Paper Tracks: one for research papers (Track F)
dealing with the foundations for MBE, and one for industrial/applications
papers (Track A) dealing with the applications of MBE, including experience
reports on MBE tools.

Research Papers (Track F)
In this track, we are soliciting papers presenting original research on all
aspects of MBE. Typical topics of interest include, among others:

  • Foundations of (Meta)modelling
  • Domain Specific Modelling Languages and Language Workbenches
  • Model Reasoning, Testing and Validation
  • Model Transformation, Code Generation and Reverse Engineering
  • Model Execution and Simulation
  • Model Management aspects such as (Co-)Evolution, Consistency, Synchronization
  • Model-Based Engineering Environments and Tool Chains
  • Foundations of Requirements Modelling, Architecture Modelling, Platform Modelling
  • Foundations of Quality Aspects and Modelling non-functional System Properties
  • Scalability of MBE techniques
  • Collaborative Modeling

Industrial Papers (Track A)
In this track, we are soliciting papers representing views, innovations and
experiences of industrial players in applying or supporting MBE. In
particular, we are looking for papers that set requirements on the
foundations, methods, and tools for MBE. We are also seeking experience
reports or case studies on the application, successes or current
shortcomings of MBE. Quantitative results reflecting industrial experience
are particularly appreciated. All application areas of MBE are welcomed
including but not limited to any of the following:

  • MBE for Large and Complex Industrial Systems
  • MBE for Safety-Critical Systems
  • MBE for Cyber-Physical Systems
  • MBE for Software and Business Process Modelling
  • MBE Applications in Transportation, Health Care, Cloud & Mobile computing, etc. …
  • Model-Based Integration and Simulation
  • Model-Based System Analysis
  • Application of Modeling Standards
  • Comparative Studies of MBE Methods and Tools
  • Metrics for MBE Development
  • MBE Training

Research papers should be up to 16 pages long; Industrial
papers should be 12 pages long (full papers), or 2 pages long (short
papers). Short papers will be given shorter presentation slots.
The authors of selected best papers from the foundations track will be
invited to submit extended version to a special issue of the SoSyM journal
(with another review process).

Important dates for authors:

Abstract submission deadline: February 15, 2016 AoE
Papers submission deadline: March 1, 2016 AoE
Notification to authors: April 7, 2016
Camera ready versions due: April 28, 2016

The complete call for papers is available here in text and here as pdf.

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

Automatic Code Generation for Cross-platform, Multi-Device Mobile Apps. An Industrial Experience

With Aldo Bongio (WebRatio), Jordi Cabot (ICREA and UOC), Hamza Ed-douibi (EMN) and Eric Umuhoza (Politenico di Milano), we worked on a research on Automatic Code Generation for Cross-platform, Multi-Device Mobile Apps.

We presented our study at the MobileDeLi workshop, where we reported on a comparative study conducted to identify the best trade-offs between different automatic code generation strategies.
Here are the slides presented there:

We covered the following strategies by implementing them using different technologies and target platforms:

  1. PIM-to-Native Code (NC)
  2. PIM-to-PSM-to-NC
  3. PSM-to-NC.
  4. PIM-to-Cross Platform Code (CPC)
  5. PIM-to-Framework Specific Model (FSM)-to-CPC

Some additional details are available in this post by Eric on Jordi’s blog.

Our study showed that there is no approach better than others in absolute terms but provided useful guidelines (e.g. cross platform approaches are generally advisable for companies with limited resoures) that helped us to identify the best strategy for the WebRatio company in particular.

Obviously, further investigations are ongoing…

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

Webinar on WebRatio BPM Platform 8.4

I’m glad to share the video of the most recent webinar on WebRatio BPM Platform, the BPMN-based tool designed to support you in building high-end BPM Web and mobile Apps with a tailored User Experience. If you never experienced WebRatio BPM Platform, here is a summary of what you can do with it:

  •  DEVELOP WEB AND MOBILE APPS through prototypes, then change them as many times as you need. No more time wasted building mockups on paper.
  • NO VENDOR LOCK IN thanks to highly optimized generated code that is open, human readable and based on the most recent Java and JS frameworks.
  • DEFINE A CUSTOM WEB OR MOBILE FRONT END for your BPM App and create a customized user interface, giving every channel a different user experience.
  • SUPPORT YOUR USERS’ MOBILITY thanks to the mobile BPM capabilities that let you work on your BPM App on any device, desktop or mobile, and deliver a seamless user experience.
Discover more on the WebRatio site or watch the video of the webinar on YouTube:

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

The "UML Profile for ArchiMate and ArchiMate Meta-model" RFP issued by OMG

After my initial post about Archimate and UML intent to get closer, just a quick update post on the fact that the “UML Profile for ArchiMate and ArchiMate Meta-model” request for proposal (RFP) have been issued by the Object Management Group at the Long Beach technical committee meeting by the Domain TC and is now available at the URL:
http://www.omg.org/cgi-bin/doc?bmi/2014-12-03
The contact person of this RFP is J.D.Baker from NIST. The effort is lead by Fred A. Cummins, Donald R. Chapin, and Claude Baudoin.

The RFP’s work in progress page, which contains a link to the document and all relevant deadlines is located at this URL (Requires OMG access credentials):
http://www.omg.org/techprocess/meetings/schedule/ArchiMate_RFP.html.

So far, no proposals have been submitted, but Sparx Systems and HP have declared their interest and intent to submit.
The main controversy related to the RFP and subsequently to the proposals is about the role and positioning of a UML profile wrt the actual Archimate standard.

The deadline for proposals and for participating to the voting expires on May 18 (in a week!).

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

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

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

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