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:

Business Process Management & Enterprise Architecture track of ACM SAC 2017

This year I’m co-organizing with Davide Rossi and a bunch of experts in Business Process Management and Enterprise Architecture a new event called BPM-EA, which aims at bringing together the broad topics of business processes, modeling, and enterprise architecture.

These disciplines are quickly evolving and intertwining with each other, and are often referred to with the broad term of business modeling.
I believe there is a strong need of exploring new paths of improvement, integration and consolidation of these disciplines.
If you are interested to participate and contribute, we seek contributions in the areas of enterprise and systems architecture and modeling, multilevel models tracing and alignment, models transformation, IT & business alignment (both in terms of modeling and goals), tackling both technical (languages, systems, patterns, tools) and social (collaboration, human-in-the-loop) issues.
The deadline for submitting a paper is September 15, 2016.
You can find the complete call and further details on the event website:
BPMEA track at SAC 2017

Feel free to share your ideas, opinions and criticisms here or as a submission to the event.

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

Modeling and data science for citizens: multicultural diversity and environmental monitoring at ICWSM

This year we decided to be present at ICWSM 2016 in Cologne, with two contributions that basically blend model driven software engineering and big data analysis, to provide value to users and citizens both in terms of high quality software and added value information provision.

We joined with two papers, respectively:
Model Driven Development of Social Media Environmental Monitoring Applications presented at the SWEEM (Workshop on the Social Web for Environmental and Ecological Monitoring) workshop.

Slides here:

and:

Studying Multicultural Diversity of Cities and Neighborhoods through Social Media Language Detection, presented at the CityLab workshop at ICWSM 2016. The focus of this work is to study cities as melting pots of people with different culture, religion, and language. Through multilingual analysis of Twitter contents shared within a city, we analyze the prevalent language in the different neighborhoods of the city and we compare the results with census data, in order to highlight any parallelisms or discrepancies between the two data sources. We show that the officially identified neighborhoods are actually representing significantly different communities and that the use of the social media as a data source helps to detect those weak signals that are not captured from traditional data. Slides here:

We now continuously look for new dataset and computational challenges. Feel free to ask or to propose ideas!

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

Ready to crowdsourcing your modeling language notation?

As model-driven engineering practitioners, we sometimes encounter weird modelling notations for the languages we use… and this is also definitely true for modelling language adopters!

We always end up wondering who could ever think about such or such terrible syntax for a language, also for very well established notations (including, for instance, some pieces of UML or BPMN). I take it for granted this is a common experience (raise your hand if not).

 This lead to the idea that also syntax definition should be a more collaborative task. Therefore, we decided to give it a try and test whether crowdsourcing techniques can be used to create and validate language constructs, in particular, its concrete syntax (i.e. notation). 
As part of our research work in this area, together with Jordi Cabot’s group, we have setup as an experiment a crowdsourcing campaign using our tool CrowdSearcher
This boils down to a very simple case: we are asking anyone on the web to look into a very small subset of  BPMN, and to participate into 3 simple tasks, including questions for selecting the best notation for some of the BPMN concepts (it won’t take more than 3 minutes). 
Please help us responding these 3 quick questions!
(and feel free to share the link with anyone else)
You can access to the campaign in the following link:
Some disclaimers:
1. we don’t care if you are the world’s expert in BPMN or if you never heard about it. We want you!
2. we ask you to register before taking the task (just click on the Register button once you enter the task), simply to make sure we only have one performance per person. All the analysis will run on anonymous data.
3. The results of the survey will be made publicly available in the following months. 
To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

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

How Mature is of Model-driven Engineering as an Engineering Discipline? – Panel with Manfred Broy, Paola Inverardi and Lionel Briand

Within ModelsWard 2016, just after the opening speech I gave on February 19 in Rome, the opening panel has been about the current maturity of model-driven engineering. I also hosted a poll on twitter on this matter (results are available in this other post).  

I’m happy the panelists raised several issues I pointed out myself in the introduction to the conference: as software modelling scientists, we are facing big challenges nowadays, as the focus of modelling is shifting, due to the fact that now software is more and more pervasive, in fields like IoT, social network and social media, personal and wearable devices, and so on.

Panel included the keynote speakers of the conference: Manfred Broy, Paola Inverardi and Lionel Briand, three well known names in the Software Engineering and Modeling community.

Manfred Broy highlighted:

  • there is a different between scientific maturity and practical maturity. Sometimes, the latter in companies is far beyond the former. 
  • a truck company in Germany has been practicing modelling for years, and now has this take on the world: whatever is not in the models, doesn’t exist
  • The current challenges are about how to model cyber-physical systems
  • The flow of model must be clarified: traceability, refinement, model integration are crucial. You must grant syntactic and semantic coherence
  • You also need a coherent infrastructure of tools and artefacts, that grants logic integration. You cannot obtain coherence of models without coherence of tools.
  • You need a lot of automation, otherwise you won’t get practical maturity. This doesn’t mean to have end-to-end, or round-trip complete model transformations, but you need to push automaton as much as possible

Lionel Briand clarified that:

  • by definition, engineering underpins deep mathematical background as a foundation and implies application of the scientific method to solving problems
  • maturity can be evaluated in terms of: how much math underpinning is foundational, how many standards and tools exist and are used, whether the scientific approach is used
  •  Tools, methods, engineers, and scale of MDE are increasing (aka. MDE is increasingly more difficult to avoid)
Paola Inverardi recalled a position by Jean Bezivin:
  • we need to split Domain Engineering (where the problem is) and Support Engineering (where the solution will be)
  • MDE is the application of modelling principles and tools to any engineering field
  • So: is actually SOFTWARE the main field of interest of model-driven engineering?
  • In the modern interpretation of life, covering from smart cities to embedded, wearable, and cyber-physical systems, is the border between the environment and the system still relevant?
  • In the future we will need to rely less and less on the “creativity” of engineers when building models, and more and more on the scientific/ quantitative/ empirical methods for building models

The debate obviously stirred around this aspects, starting from Bran Selic who asked a very simple question:

Isn’t it the case that the real problem is about the word “modeling”? In any other fields (architecture, mechanics, physics) modelling is implicit and obvious. Why not in our community? At the end, what we want to achieve is to raise abstraction and increase automation, nothing else.

Other issues have been raised too:

  • why is there so much difference in attitude towards modelling between Europe and US?
  • what’s the role of notations and standards in the success / failure of MDE? 

What’s your take on this issue?
Feel free to share your thoughts here or on Twitter, mentioning me  (@MarcoBrambi).
AND:
Respond to my poll on twitter!

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

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:

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