A Model-Driven Approach for Multi-experience Development Platforms

Modern User Interfaces (UIs) are becoming complex software artifacts themselves, through integration of AI-enhanced software components that enable even more natural interactions, including the possibility to use Natural Language Processing (NLP) via chatbots or voicebots (aka., Conversational User Interfaces or CUIs).

Some times, several types of UIs are combined as part of the same application (e.g. a chatbot in a web page), what it is known as Multiexperience User Interface. These multiexperience UIs may be built together by using a Multiexperience Development Platform (MXDP).

“Multiexperience development involves ensuring a consistent user experience across web, mobile, wearable, conversational and immersive touchpoints”. [Gartner]

A typical scenario of multiexperience user interaction could unroll as follows (see image below too). Suppose that a customer on a Sunday morning wants to buy a new technical product (a cell phone or a home theater system). He first interacts with his home assistant (like Alexa or Google assistant) to ask it to find the best nearby tech store open on Sunday. With this information in mind, he looks at the store web site on his PC and, being satisfied with the kind of store, he asks the web site chatbot to find the type of products he is looking for. After browsing the various alternatives, he finds one item he likes, and sets the place and the product as preferences on his mobile phone. He reads the details of the product on the phone while walking to his car. When he reaches the car, he transfers the information about the place to the car navigation system and drives there. Finally, in the stores he looks around, tries various items, reads the reviews about them on a dedicated mobile app, and finally picks up the product and pays for it.

This kind of dynamic and seamless interaction demands a variety of complex design and implementation mechanisms to be put in place. Clearly, also very critical integration, evolution, and maintenance challenges need to be faced for these CUIs. Developers need to handle the coordination of the cognitive services to build multiexperience UIs, integrate them with external services, and worry about extensibility, scalability, and maintenance.

We believe a model-driven approach for MXDP could be an important first step towards facilitating the specification of rich UIs able to coordinate and collaborate to provide the best experience for end-users. Indeed, most non-trivial systems adhere to some kind of model-based philosophy, where software design models (including GUI models) are transformed into the production code the system executes at run-time. This transformation can be (semi)automated in some cases.

Our recent research tackles the application of model-driven techniques to the development of software applications embedding a multiexperience UI.

The research has been published in our recent paper Towards a Model-Driven Approach for Multiexperience AI-based User Interfaces, co-authored by Elena PlanasGwendal DanielMarco Brambilla and Jordi Cabot, recently published in the International Journal on Software and Systems Modeling (SoSyM) available online here (open access).

The paper contribution is twofold:

  • we raise the abstraction level used in the definition of this new kind of conversational and smart interfaces.
  • we show how these CUI models can be used in conjunction with more “traditional” GUI models to combine the benefits of all these different types of interfaces in a multiexperience development project.

In practice, we propose a new Domain Specific Language (DSL), that generalizes the one defined by the Xatkit model to cover all types of CUIs, and we show how this seamlessly integrates with appropriate extensions of the IFML model to design comprehensive multi-experience interfaces.

IFML model integrating traditional navigation of a web interface and a chatbot component.

You can refer to the full paper here for covering the details. The paper reference is:

Planas, E., Daniel, G., Brambilla, M., Cabot, J. Towards a model-driven approach for multiexperience AI-based user interfaces. Software and System Modeling (SoSyM) 20, 997–1009 (2021). https://doi.org/10.1007/s10270-021-00904-y

(open access, CC-BY license)

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

OMG Standards At Work in the Industrial Internet of Things (IoT) – summary of the day and materials

Today September 24, 2015, a special event took place in Cambridge, MA: the OMG Standards At Work in the Industrial Internet of Things (IoT).

I have been asked to give a speech on the role of user interaction modelling within complex IoT system in industry: Internet of Things and Internet of People: The Role of User Interaction in the IIoT vision.

The full slide deck is available here:

 

Here is my take on the topic: User interaction plays a crucial role in every system. This is true for IoT too. Sensors, actuators and intelligent things connected together can cooperate and exchange information, but their ultimate goal is to provide value to people. Such value can be perceived only through appropriate user interfaces, which visualise information (through dashboard, reports, or infographics), let user navigate the information, and also interact with the devices, by setting properties or regulating their behavior. That’s why it’s important that in the IIoT development context we consider also user interaction. In my presentation I introduced IFML, the Interaction Flow Modeling Language, the OMG standard that focuses on user interfaces and their integration with information systems, data sources, sensors and actuators. The presentation reports on some success stories from the industry, where IFML has been successfully applied. Large scale examples include consumer-oriented user interfaces, backend systems, data analysis dashboards, and interactions for command and control. Adopters include GE, Acer Computer, banks, utilities and military.

The other speakers of the event also provided interesting use cases, examples and insights on the span of the effort and potential of IoT, especially in the industrial environment. The speeches were as follows:

  • Welcome: by Dr. Richard Soley, Chairman and Chief Executive Officer, Object Management Group (OMG) and Executive Director, Industrial Internet Consortium (IIC) —
  •  Introduction and Overview: by Andrew Watson, Vice President and Technical Director Object Management Group (OMG)
  • DDS Applications in the Industrial Internet of Things: by Dr. Stan Schneider, CEO, Real-Time Innovations, Inc.
  • DDS – Aligning OT and IT to Deliver the Potential of the Industrial Internet-of-Things (IIoT): by Steve Jennis, Sr. Vice President, Corporate Development, PrismTech
  • SysML – System Modeling Language Benefits for the Complex Systems of IIoT: by Matthew Hause, GTM Technical Specialist, Engineering Fellow, PTC, OMG UPDM Co-Chair
  • CISQ – Software Risk in the IoT Universe: by Dr. Bill Curtis, Director, Consortium for IT Software Quality (CISQ)
  • System Assurance and Related Standards: by Dr. Ben Calloni, Lockheed Martin Fellow, Lockheed Martin and Co-Chair OMG System Assurance Task Force

Find the full program of the day and materials by the other presenters here: OMG Standards for IIoT agenda.

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

OMG Industrial Internet of Things (IIoT) Standards At Work

What do SysML™, IFML™, SysA and DDS™ standards have in common, and how can they be put at work in the (Industrial) Internet of Things [IoT and IIoT] context?

Industrial Plant schema
Industrial plant with IoT sensors and data sharing
To respond to this question, I will join a special event by the Object Management Group (OMG) on September 23, 2015, from 1:30 pm – 5:30 pm at the Cambridge, MA meeting.
The event will consist of short presentations of the standards, panels and discussions of industrial cases and will allow a closer look at how OMG standards are shaping the Industrial Internet of Things around the globe. OMG is joining forces with IIC (Industrial Internet Consortium) for covering IIoT.
The Industrial Internet of Things (IIoT) is delivering improved productivity, major cost savings, and streamlined processes to professionals from all industries. OMG has been active in IIoT standardization from long before “IIoT” became an industry buzzword.
This half-day information session brings together industry experts who will share case studies of these standards at work in the Industrial Internet, and present their vision of the future within this rapidly growing field. OMG is committed in supporting IIoT efforts and its standards cover several aspects of the field, as described here.
The topics covered during the event include:

  • SysML – System Modeling Language. SysML is a dialect of the Unified Modeling Language (UML) standard, and supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.
  • IFML – Interaction Flow Modeling Language. IFML is designed for expressing the content, user interaction and control behavior of the front-end of applications, including complex systems found in the Industrial Internet of Things.
  • SysA – System Assurance and CISQ. OMG’s Systems Assurance Task Force (SysA TF) works with CISQ on standards that ensure the reliability, safety and security of IIoT systems.
  • DDS – Data Distribution Service for Real-Time Systems. OMG’s  DDS standard provides a protocol that meets the demanding scalability, performance, and Quality of Service requirements of IIoT applications spanning connected machines, enterprise systems, and mobile devices.

The event is free and anyone can join. You can register to the event here:

OMG IIoT event
You can find here the official page of the event, with the detailed program and other information.

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

Here we are: IFML 1.0 published by the OMG officially

IFML 1.0 is finally published!

The OMG released the official 1.0 version of the new standard in March 2015. It took several years of research, discussions and validation, but here we are with the standard specification. The specification document can be downloaded for free at:

http://www.omg.org/spec/IFML/

Here is Emanuele ready for the presentation given at the Object Management Group ADTF (Analysis & Design Task Force).

Emanuele Molteni presenting IFML implementation
and success stories at the OMG meeting

With perfect timing, we are also ready to go to the market with:

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

Mobile app development – Extensions for IFML modelling language, tool and code generator presented at MobiWIS

Front-end design of mobile applications is a complex and multidisciplinary task, where many perspectives intersect and the user experience must be perfectly tailored to the application objectives. However, development of mobile user interactions is still largely a manual task, which yields to high risks of errors, inconsistencies and inefficiencies.

The contribution of the AutoMobile research project (lead by WebRatio) is a model-driven approach to mobile application development based on the IFML standard by the OMG.

We recently wrote a paper on the subject, which got accepted at the MobiWIS 2014 conference, in Barcelona. In this paper we propose a model-driven approach to mobile application development based on the IFML standard. We propose an extension of the Interaction Flow Modeling Language tailored to mobile applications and we describe our implementation experience that comprises the development of automatic code generators for cross-platform mobile applications based on HTML5, CSS and JavaScript optimized for the Apache Cordova framework.

We show the approach at work on a popular mobile application, we report on the application of the approach on an industrial application development project and we provide a productivity comparison with traditional approaches.

Eric Umuhoza, affiliated with Politecnico di Milano and Ecole des Mines de Nantes, presented the paper at MobiWIS 2014 regarding the research conducted in the AutoMobile project, lead by WebRatio.

Here are the slides of the presentation:

 

and here is the link to the paper published by Springer:

http://link.springer.com/chapter/10.1007/978-3-319-10359-4_15

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