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:

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

Universal Modeling Languages vs. Meta-languages: the case of Wolfram Language

A nice discussion has been triggered by Jean Bézivin yesterday on Twitter, starting from this video that gives an introduction to the Wolfram Language:


 Wolfram Language introduces itself as a knowledge-based programming language. I think this is a very interesting and powerful approach. However, the online discussion among us modeling people focused on understanding the positioning of such an approach within the classical modeling approaches. Main questions discussed were:

  • What kind of language is it?
  • What is its relation to domain-specific languages (DSLs)?
In summary, I think we can say that Wolfram Language can be seen as a UNIVERSAL LANGUAGE (as opposed to domain-specific), because it aims at covering ontological knowledge of the universe. Interestingly enough, this also opened a side discussion on what is an ontology, in technical and philosophical sense, with Paola Bonomo, Erik Wilde and many others.
However, for being strictly universal, the language should be able to describe itself and to describe reality states in thorough way (and Jean-Jacques Dubray was disappointed about the coverage of this aspect by Wolfram). This raised the question of whether any language should be able to describe itself. I think the final conclusion was that this is not the case. For instance, DSLs typically do not span to describing themselves. And Meinte Boersma correctly pointed out that this is not the case even for most general-purpose languages. 
So probably the property of self-description is a general, independent classification dimensions of languages, as suggested by Jean Bezivin. Actually, if you think about it, actually in the metamodeling stack only the M3-level (metametamodeling) languages satisfy self-descriptivity property!
A visual summary of the Twitter discussion is reported here:

If you have any insights on the topic, feel free to share it!

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