Équipe de Modélisation et de Simulation Logiciel à l'UdeM

Justification de recherche

Pour mieux comprendre le monde complexe dans lequel nous vivons, les scientifiques construisent des modèles de la réalité que l'on observe. Les ingénieurs, quant à eux, utilisent ces modèles de systèmes physiques afin de résoudre le problème dans un contexte réel et pratique. Un modèle est une simplification de la « chose réelle » qu'il représente (dénommée système), tout en n'exposant que les propriétés du système qui sont pertinentes à l'intention ou l'étude du modélisateur. Le modèle est ce qu'on appelle une abstraction du système. Étant donné que les technologies informatiques d'aujourd'hui nous permettent d'être plus efficace en temps, espace et ressource, les logiciels sont utilisés de façon ubiquitaire dans les solutions aux problèmes du monde réel physique. Dans les pratiques courantes, un programmeur implémente une solution en utilisant un langage de programmation qui est exécuté virtuellement. Beaucoup d'efforts sont ensuite consacrés à la validation du programme dans des conditions réelles. Le problème de cette pratique est le décalage entre le domaine du problème et le domaine de la solution. Ceci requiert un énorme effort cognitif de la part du programmeur pour établir la correspondance entre les concepts et le comportement du système réel et le monde de la programmation—et vice-versa. C'est incontestablement l'habileté la plus difficile à acquérir en informatique et, en particulier, en génie logiciel qui s'attarde surtout sur les processus et les techniques pour relier l'abstraction entre le domaine du problème et de solution.

L'Ingénierie Dirigée par Modèles (IDM) est une approche de développement logiciel qui promeut la modélisation des systèmes à des niveaux d'abstraction plus élevés, en utilisant les formalismes les plus appropriés, afin de réduire la complexité accidentelle imposée par la plupart des outils et technologies utilisés dans un domaine donné. L'IDM est une technique prometteuse qui propose de choisir l'espace de solution le plus approprié, donc pas nécessairement le code source, et de résoudre un problème du monde réel physique. Cela signifie que les solutions peuvent être exprimées en utilisant les concepts, notations et comportements qui s'accordent le mieux avec le domaine original du système réel modélisé, plutôt qu'à du code. On pourrait même permettre aux experts du domaine de construire eux-mêmes leurs modèles : c'est ce qu'on appelle la modélisation dédiée au domaine. Un expert du domaine est une personne qui veut comprendre ou utiliser un système d'une manière plus simple avec une certaine intention, tel qu'un ingénieur électrique, un biologiste, un enseignant, un joueur, un client, etc. Très souvent, ces experts créent déjà des abstractions d'un système complexe sous forme de modèles qu'ils étudient ou utilisent. Concevoir des modèles dédiés au domaine requiert des langages de modélisation appropriés. Comme nos travaux de recherche ne restreignent à aucun domaine en particulier, nous développons des outils de modélisation génériques qui permettent à un modélisateur d'un domaine de créer et manipuler ses modèles : c'est l'objectif d'AToMPM, notre outil de modélisation à paradigmes multiples.

Le but ultime d'un modèle est souvent dissimulé dans sa sémantique. Un modèle n'est utile que si un certain comportement en émerge. Nous exprimons donc le comportement de modèles et les relations exécutables entre modèles à l'aide de transformations. La conception, l'implémentation et la génération de transformations de modèles sont des sujets de recherche cruciaux dans notre équipe. Les transformations de modèles servent à synthétiser, traduire, évoluer, analyser et exécuter les modèles. Pour accomplir ces tâches, le langage de transformation de modèle doit être adapté au domaine desx modèles à transformer.

La simulation est un type de transformation particulier. Elle est habituellement utilisée pour prédire les états et comportements futurs du système. La Conception Dirigée par Simulation (CDS) est une approche scientifique pour calibrer et optimiser un modèle afin de s'assurer qu'il représente le système réel et résout le problème adéquatement. Dans le contexte de la CDS, le système est modélisé au niveau d'abstraction désiré grâce aux techniques de l'IDM. La simulation d'un modèle est toujours effectuée dans un environnement contrôlé, qui est lui aussi modélisé. Une fois les modèles du système et de son environnement optimisés, il est alors possible de synthétiser (i.e., générer automatiquement) des applications prêtes pour l'expert du domaine. Toutes nos applications sont automatiquement synthétisées et déployées sur des plateformes différentes comme : sur le web, les appareils mobiles ou embarqués sur des appareils hardware.

Intérêts de recherche

Environnements pour la modélisation dédiée au domaine : génération automatique, langages pour des domaines non-informatiques, environnements collaboratifs

Transformation de modèle : conception de langages de transformations dédiées au domaine, analyse et vérification, exécution et animation, débogage, efficacité

Qualité dans l'IDM : tolérance de fautes, principes et patrons de conception, gestion des exceptions

Méthodologie : adaptation de processus de développement pour l'IDM et vice-versa, études empiriques

Conception Dirigée par Simulation : simulation à événements discrets, modélisation et simulation (M&S), application de techniques M&S pour la vérification et calibration de modèles et de transformations

Application de l'IDM : synthèse sur platformes embarquées (Android, Arduino), domotique, robotique, automobile

Logiciels

AToMPM

AToMPM est un outil de modélisation que nous développons à l'Université de Montréal en collaboration avec l'Université McGill, l'Université d'Anvers et l'Université d'Alabama. AToMPM est une plateforme de recherche à partir de laquelle l'on peut générer des outils web de modélisation dédiée au domaine qui s'exécute sur le cloud. Visiter AToMPM.

ReLiS

ReLiS est un acronyme pour "Revue Littéraire Systématique". Quand un chercheur veut s'attaquer à un problème de recherche, il commence par s'intruire sur ce qui existe déjà dans la littérature scientifique (articles publiés) à propos du sujet en question. ReLiS est un outil qui permet de réduire considérablement l'effort d'analyser un corpus d'articles, qui peut varier de centaines à milliers dépendamment du sujet de recherche. ReLiS permet à l'utilisateur de suivre un processus systématique dans sa démarche et d'automatiser le plus possible la classification d'articles.

BiBler BiBler

BiBler est un outil de gestion de références scientifiques. Bien que complètement fonctionnel, cet outil a été entièrement modélisé et synthétisé en Python. Il est utilisé pour des fins pédagogiques afin de comprendre comment générer une application complète à partir de modèles UML dans un environnement agile et dirigé par les test.

TxtME

TxtME est éditeur de modélisation textuelle dédiée au domaine qui est entièrement personalisable et roule sur le web. Il offre les cararctéristiques habituelles des EDI, telles que la décoration du texte contextuelle, la complétion de texte automatique et la détection d'erreurs. Télécharger TxtME.

T-Core

T-Core est une librairie en Python qui permet de construire et d'exécuter vos propre langages de transformation de modèle dédiés au domaine. Télécharger le package T-Core.

Projets

CRSNG
Fresche Legacy
Amélioration de la modernisation d'anciennes applications
CRSNG subvention d'engagement partenarial plus
En partenariat avec Fresche Legacy
Oct 2016 - Mar 2017
CRSNG
Fresche Legacy
Automatisation de la modernisation d'anciennes applications
CRSNG subvention d'engagement partenarial
En partenariat avec Fresche Legacy
Jan 2016 - Jul 2016
CRSNG Modélisation collaborative pour des équipes multidisciplinaires
CRSNG subvention à la découverte
Mai 2015 - Avr 2020

Activitiés dans la communauté scientifique

Je suis impliqué dans l'organisation des événements suivants:

Je fais aussi partie du comité des programmes de plus de 100 conférences, symposia et ateliers. Je suis un juge de plus de 30 journaux hautement quotés.