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