Modelia

Software is the infrastructure that powers our digital society. And yet, software development is in a permanent state of crisis. Modelia is a joint R&D partnership between CEA List and UOC (SOM team) that aims to improve this situation.

Modelia advocates for a radical shift in the way software is developed and maintained thanks to the integration of AI techniques in all software development tools and processes. We belive AI holds the promise of disruptive improvements in productivity and quality of software development.

In our vision, all development tasks will be conducted by a mixed team of developers and software bots. Bots will take care alone of simple and repetitive tasks saving time for humans to spend on more creative endeavors. Developers could rely on the AI components for advice and suggestions while still retaining full control of the process and the final decision.

Moreover, this collaboration will not take place at the code level. Modelia will integrate AI components at the very beginning of the development process, when the system is modeled, analyzed and simulated, to maximize its impact. As such, Modelia will be the first tool combining AI and model-based engineering and aspires to become a leader in the emerging space of Intelligent IDEs.

Research Lines

k

Smart Modeling IDEs

Better productivity thanks to an assisted modeling experience. For instance, providing syntactic and semantic autocompletion, where the IDE is able to guess the next steps in a modeling project and suggests them back to the modeler.

Ontology-based Modeling Bots

Playing the role of a virtual modeling assistant. Based on previous models on the same domain available online or on a comparison between your current model and general ontologies, the bot could suggest missing properties on the model, recommend best practices or warn that some model aspects differ from the way they are typically modeled.

Human-like Code Generators

A cognified code generator would be able to learn the style and best practices of a particular organization and mimic them in the code it outputs. By learning from good code samples, the generator would be able to imitate the company’s best practices and style and maximize its chances to be accepted as a new “developer” for the company.

Self-Morphing Collaborative Modeling Tools

Automatic learning approaches can also be used within self-morphing modeling tool, able to adapt its interface, functions, behaviour (and even the expressiveness of the language offered) to the expertise of the tool user and to the context of the modeling problem addressed.