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

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