Chaire philanthropique de recherche en gestion des produits et projets logiciels
À propos de la chaire
Les organisations qui développent des logiciels et les font évoluer doivent répondre à des clients de plus en plus exigeants sur un marché mondial concurrentiel. C’est d’autant plus vrai avec le déploiement des nouvelles technologies comme l’intelligence artificielle et les ordinateurs quantiques. Toutefois, la gestion des produits et des projets logiciels demeure un défi pour la plupart des organisations, tant dans le secteur public que privé, avec souvent des dépassements considérables de budget, des retards importants, des niveaux de qualité loin d’être maîtrisés et des fonctions non livrées.
Nombre de solutions - outils, modèles et techniques de gestion - ont été proposées dans les dernières décennies. Mais quelle est leur robustesse et quelles connaissances sont disponibles pour les adapter au domaine spécifique du logiciel? La mission de cette chaire de recherche est de développer les connaissances nécessaires pour aider les organisations des secteurs publics et privés à relever ces défis.
La recherche
En matière de recherche et développement, les objectifs de la chaire sont les suivants :
- Identifier, évaluer et synthétiser les caractéristiques spécifiques et innovatrices des produits et projets logiciels permettant leur suivi par les gestionnaires.
- Utiliser les meilleures pratiques génériques en gestion du génie et en gestion de projets pour les adapter à la gestion des produits et des projets logiciels.
- Innover dans le domaine des mesures du logiciel pour soutenir la gestion des produits et projets logiciels dans les domaines des technologies émergentes.
- Adapter au logiciel les approches contractuelles de partage des risques et de la gestion de la sous-traitance dans le domaine des logiciels.
- Développer les compétences du personnel hautement qualifié en gestion de produits et en gestion de projets logiciels.
Nos projets de recherche
Projet UBUBI : logiciel libre d'aide à la simulation d'alternatives de l'empreinte énergétique du cycle de vie des matériaux disponibles lors de la conception pour le domaine de la construction.
Ce projet CRD vise à développer un outil pour soutenir les concepteurs de bâtiments économes en énergie, en intégrant l'évaluation du cycle de vie des matériaux (ÉCV) lors de la modélisation BIM, similaire à Tally, mais en logiciel libre.
L'équipe de recherche souhaite proposer une approche d'évaluation innovante qui étend le calcul de l'énergie globale des composants de construction traditionnelle et du matériel énergétique.
Nous recensons actuellement les besoins de chacun des intervenants pour développer un document d’exigences logicielles de haut niveau. Consultez notre article sur le sujet.
Partenaires
- Groupe de recherche en intégration et développement durable en environnement bâti (GRIDD)
- Centre international de référence sur le cycle de vie des produits, procédés et services (CIRAIG) – Polytechnique Montréal
- Mouvement Desjardins
- Pomerleau
- Giga
- Cecobois
- Conseil canadien du bois
- Université Laval
- Hydro-Québec
Défi
Développer un composant en logiciel libre qui s'intègre au logiciel BIM Revit afin d'offrir une interface et des fonctionnalités, et permettre l'utilisation d'une base de données énergétiques sur les matériaux, qui rendrait possible l'évaluation des alternatives, du cycle de vie énergétique incluant ses impacts, ainsi que de divers matériaux disponibles lors de conceptions architecturales.
Nous utilisons un processus agile de génie logiciel nécessitant la création d'un prototype, d’un document de vision et d’un document SRS afin de préciser les exigences fonctionnelles et de données de chaque intervenant.
Exemples du prototype du composant ÉCV servant à préciser les exigences des partenaires du projet :
Technologies utilisées :
- Linux
- Spark
- Play Framework
- Scala
- MySQL
- Git
Étudiants et étudiantes :
- M. Dupuis
- F. Saab
- P. Pigeon
Un logiciel d'analyse syntaxique qui extrait le ratio decidendi d'un cas de cour.
Description du projet
Plusieurs centaines de dossiers judiciaires existent pour les mêmes codes civils. Il arrive que ces cas se ressemblent beaucoup et se concluent par des décisions très semblables. Souvent, les avocats doivent parcourir des centaines de cas de cour similaires afin d’en faire ressortir l’information pertinente qui les aidera durant leur évaluation. Notre projet sert à automatiser cette tâche en analysant les cas afin de pouvoir identifier les détails les plus pertinents (ratio) qui expliquent le raisonnement derrière la décision d’un ou d’une juge.
Défi
Développer une application simple qui permet d'extraire les décisions sommaires d'un jugement.
Ce que nous faisons
Nous effectuons l'extraction et la segmentation du texte brut, l'analyse à l'aide d'expressions régulières, la génération d'entités logiques et de phrases clés, et l'entraînement de réseaux neuronaux.
Étudiant :
- M. Dupuis
Technologies utilisées :
- AWS Lamda et autres services
Ce projet est effectué sur Amazon Web Services.
Le domaine des processus d'affaires est en constante évolution. Depuis 2021, on observe une croissance de la popularité de l'automatisation des processus robotisés (RPA). Ces technologies permettent de concevoir des robots qui imitent le comportement d'un utilisateur d'application directement sur l'interface usager. Ainsi, il est possible de remplacer un humain qui effectue des tâches répétitives d'entrée de données.
Interopérabilité BPM et logiciels RPA
Ce projet de R&D vise à interconnecter les logiciels de BPM, c'est-à-dire les logiciels qui représentent les processus d'affaires graphiquement, afin de les interconnecter à des gestionnaires de documentation (GED) et à des outils de RPA disponibles commercialement.
L'apprentissage des règles de fonctionnement de ces outils permet aux étudiants et aux étudiantes de maîtriser le domaine du BPM tel qu'il est utilisé en entreprise et d'identifier les possibilités d'interopérabilité qui permettent des améliorations de la productivité dans l'entreprise.
Multiperspectives BPM
Nos travaux de recherche et de consultation dans les entreprises américaines nous ont permis d'identifier des lacunes en termes de notation BPNM lors de son implantation en entreprise. Les gestionnaires créaient d'autres représentations (Visio, par exemple), tandis que les informaticiens, informaticiennes, ingénieurs et ingénieures préféraient utiliser la représentation BPMN. Ces observations nous ont amené à développer les projets de R&D suivants, qui sont en cours :
- BPM+ : Extension de la notation BPNM pour la simplifier de manière à ce que l'équipe de gestion autant que les informaticiens et informaticiennes puisse partager les mêmes cartographies des processus.
Nous avons constaté que les contrôles, insérés dans les processus d'entreprises, sont difficiles à retrouver et qu'il est, par la suite, complexe d'en évaluer la conformité. Ce projet vise à résoudre ce problème à l'aide une interface innovante de présentation interactive multiperspectives des contrôles :
- Travaux du Dr Carlos Monsalve :
La validation formelle du niveau 2 de la notation BPM+, à l'aide du modèle BWW, a permis d'identifier des incohérences, des ajouts nécessaires et de formaliser les règles de transformation de notations graphiques des processus.
- Travaux du Dr Ahmad Alomari :
Extensions du niveau 3 (c.-à-d. le niveau opérationnel des processus). Le niveau 3 actuel de BPM+ renferme une seule représentation graphique adaptée à la documentation de procédures et de contrôle. Ahmad Alomari travaille actuellement à la définition d'autres représentations graphiques qui seraient plus adaptées à des métiers spécifiques, pour un expert en sécurité par exemple. Lire un article du Dr Alomari.
Internet des objets (IdO) pour la prédiction des défauts de pièces manufacturées à grande échelle
Ce projet vise à développer un prototype logiciel pour soutenir les gestionnaires de la qualité de l'industrie 4.0, en utilisant les données des machines à mesurer tridimensionnelles (dimensions mesurées/palpées) collectées sur les pièces fabriquées et en utilisant un algorithme d'intelligence artificielle pour classifier les motifs des cartes de contrôles de chaque pièce contenant les intervalles des exigences de qualité des clients.
Ce que nous faisons
Nous étudions les données des outils pour mesurer et contrôler la qualité des produits manufacturés. Les fabricants et les gestionnaires de production ont besoin d'une liaison entre leurs machines à mesurer tridimensionnelles (CMM) et un système de maîtrise statistique des procédés (SPC, ou statistical process control) pour contrôler et prédire la qualité de la production. La CMM est un équipement de mesure de coordonnées qui aide les entreprises à augmenter l'assurance de la qualité et leur capacité d'inspection. Il s'agit d'une technologie de mesure 3D portable utilisée pour permettre une flexibilité et une efficacité considérablement supérieures dans l'exécution des contrôles de qualité directement sur le plancher de production.
Les objectifs sont les suivants :
- Éliminer toutes les restrictions liées à l'infrastructure informatique et aux coûts de mise en œuvre grâce à l'utilisation d'une plateforme de collecte IdO infonuagique sécurisée;
- Offrir une vue d'ensemble de la performance de l'usine à l'aide de rapports pièce par pièce, ainsi que des ratios globaux de toutes les pièces manufacturées;
- Utiliser l'historique des mesures, dans la base de données qui accumule toutes les données des CMM, et les graphiques de tendance des cartes de contrôles générés par le système afin de prédire la tendance de certaines variables et caractéristiques et anticiper les non-conformités et les hors contrôle;
- Permettre de configurer les paramètres spéciaux des clients et les contrôler pendant la production;
Identifier et même prédire les fonctionnalités non conformes et hors contrôle en temps réel.
Consulter des rapports : travaux préliminaires d'étudiants, module de suivi des non-conformités et essais effectués sur Azure.
Un projet de PFE est en cours pour expérimenter la plateforme ThingWorks.
Défis
- Obtenir les données historiques fiables ainsi que des devis détaillés de la qualité attendue des clients.
- Prédire avec peu de données provenant de la CMM qui sont saisies après la fabrication des pièces.
- Identifier l'algorithme d'apprentissage machine adapté à ce cas particulier.
Étudiants et étudiantes :
- I. Gagnon
- P. Gbehounou
- N. Lebrun
- H. Zenasni
- J. Congote
- I. B. Takupo Chendjou
- N. Hamroun
- N. Cloutier
- P.-O. Faucher
- C. Rochon
- P. R. Tessier
Technologies utilisées :
- ThingWorks
- JavaScript
- Azure
Ce projet est effectué sur Microsoft Azure.
La plus grande partie des budgets TI est généralement dépensée en maintenance logicielle. Malheureusement, peu de gestionnaires se soucient de ce domaine peu reluisant pour leur rayonnement. Depuis 1995, les recherches que nous effectuons visent à mieux faire connaître les pratiques exemplaires de la maintenance et de l'évolution des logiciels.
Prenez connaissance de l'étude « Évolution de la maturité du processus de maintenance du logiciel dans une organisation en mode projet ».
Consultez nos publications pour en savoir plus.
Évaluez votre modèle organisationnel de maintenance logicielle
Cette problématique de maintenance vise à évaluer les forces et les faiblesses du modèle organisationnel (développeurs et mainteneurs ensemble, développeurs et mainteneurs séparés ou impartition) et à préciser les avantages et inconvénients de chaque approche. Une fois l'approche revue, il est temps de préciser les processus et outils utiles pour chaque modèle.
Consultez des exemples de rapports :
- Étude du modèle de l'organisation de la maintenance
- Modèle organisationnel de maintenance de SOFTOMA
Évaluez la qualité de votre logiciel et établissez une stratégie de réusinage
Comme nous le savons, la maintenance dégrade la qualité du logiciel si elle est effectuée sans stratégie précise. Cette problématique liée à la maintenance vise à évaluer la qualité de vos logiciels, à l'aide d'outils, afin d'en tirer des conclusions qui orientent les maintenances futures et le redressement progressif de la qualité d'un logiciel.
Consultez des exemples de rapports :
- Analyse de la maintenabilité d'un projet
- Analyse de la maintenabilité d'un logiciel à l'aide d'un logiciel d'évaluation de la qualité
- Analyse de la maintenabilité d'un projet
- Projet de session
Votre entente de service
Une entente de service est un outil important pour une saine gestion des services de maintenance. Dans quel état est votre portefeuille de logiciels maintenus et pris en charge? La révision et la mise en place d'une entente de service peuvent être une solution très efficace pour justifier et mieux gérer les budgets de la clientèle d'une manière proactive.
Consultez des exemples de rapports :
- L'entente de niveau de services : étude de l'entente d'une organisation et propositions d'amélioration
- Software Maintenance in a Service Level Agreement: Controlling the Customers Expectations
Mesurez la productivité de la maintenance
Vous désirez mesurer la productivité de votre équipe de maintenance? C'est possible. Pour y arriver, il faut connaître les préalables, mesurer, se comparer à l'interne et, finalement, se comparer à d'autres organisations similaires. C'est grâce à ce processus d'étalonnage que vous pourrez aussi mettre en place un processus d'estimation professionnel.
Logiciel d'aide à l'évaluation de la maturité des processus de maintenance
Ce logiciel vise à faire évoluer le logiciel d'aide à l'évaluation de la maturité des processus de maintenance (le S3MAssess). L'évaluation de la maturité des processus de maintenance permet d'identifier les forces et faiblesses et ainsi établir un plan d'amélioration, dont vous pouvez trouver un exemple ici.
Système expert en maintenance logicielle
Ce logiciel vise à aider les parties prenantes du domaine de la maintenance logicielle en proposant des solutions aux différentes questions qu'elles se posent (le S3MDSS). Ainsi, elles peuvent être guidées vers des solutions potentielles concernant leurs logiciels patrimoniaux (rapport détaillé sur le S3MDSS).
Assurer la conformité SOX de la maintenance logicielle
Quelles sont les pratiques à mettre en place pour s'assurer que les activités de maintenance logicielle répondent aux exigences de la loi Sarbanes-Oxley (loi C-198 au Canada)?
Consultez des exemples :
Projets COSMIC
Avec l'avènement du développement de logiciels à grande échelle, il est devenu nécessaire de mieux planifier, surveiller et contrôler la gestion du développement de logiciels, y compris dans les nouveaux paradigmes de développement de logiciels.
L'organisation COSMIC a lancé cinq groupes de travail pour relever les défis actuels de l'industrie en matière de gestion et mesure de logiciels :
- Dimensionnement de logiciels quantiques
- Dimensionnement de logiciels d'intelligence artificielle
- Dimensionnement des exigences non fonctionnelles
- Dimensionnement pour DevOps
- Simulateur éducatif pour l'estimation de logiciels
Les groupes de travail COSMIC sont dirigés par des expertes et experts internationaux dans les domaines suivants :
- Dr Hassan Soubra : Logiciels quantiques
- Dr Sylvie Trudel : Portefeuille DevOps
- Dr Ali Idri : Logiciels d'intelligence artificielle
- Dr Thomas Fehlmann : Dette technique et exigences non fonctionnelles
La participation d'experts de plusieurs pays est jugée cruciale pour parvenir à un consensus global. La disponibilité et la reconnaissance internationale de normes de mesure normalisées pour le dimensionnement de logiciels dans des contextes technologiques émergents présentent un intérêt pratique pour les organisations, petites et grandes, à l'échelle mondiale.
Pour soutenir les responsables de son groupe de travail, le groupe COSMIC, en collaboration avec l'ÉTS et le programme MITACS Élévation, a fait appel à l'expertise de :
- Dr Tuna Hacaloglu (chercheuse postdoctorale)
- Sion Israel (doctorant)
- Ling Guo (doctorante)
Exploitation des livrables
Les résultats de ce projet seront largement diffusés par des publications scientifiques et par le groupe COSMIC via des contributions aux normes, des activités de formation, des modifications de leurs programmes de certification professionnelle et des concours de pointe pour les étudiants et étudiantes. Ces livrables peuvent être intégrés à nos cours de génie logiciel et de gestion de projets informatiques.
Impacts et résultats à long terme
La disponibilité et la reconnaissance internationale de telles normes de mesure standard pour le dimensionnement dans les contextes de logiciels quantiques, d'intelligence artificielle, de portefeuille DevOps et de dette technique et d'exigences non fonctionnelles et de simulateur pédagogique pour l'estimation de logiciels présentent un intérêt pratique pour les entreprises de logiciels et leurs bases de clients, tant pour les petites que pour les grandes organisations au niveau international.
Projet no 1 : eHospital - Logiciel intégré de gestion hospitalière
Aide à la traduction et à la personnalisation d'une application de gestion hospitalière pour l'implantation du premier hôpital universitaire complètement informatisé à Conakry, en Guinée : l'Hôpital national Donka.
Technologies utilisées :
- .Net
Projet no 2 : ePACS : Adaptation pour un hôpital universitaire africain
Les hôpitaux universitaires ont des responsabilités de recherche et d'enseignement supplémentaires qui peuvent potentiellement affecter les fonctionnalités requises d'un système PACS associé aux processus de diagnostic et d'imagerie. Ce projet de recherche appliquée vise à adapter un logiciel libre PACS pour l'utiliser lors de la formation des jeunes médecins internes spécialisés en imagerie médicale.
Nous utilisons le logiciel du Département de physique médicale de l'Hôpital universitaire de Liège, en Belgique, pour fournir un service PACS qui a les avantages de ne pas coûter cher. Nous l'adaptons pour offrir un environnement d'enseignement et d'essai pour les internes en radiologie à l'hôpital Donka.
Étudiants et étudiantes :
- Hamidreza Ghaderi
Technologies utilisées :
- Windows Server
- DICOM
- JSON
- DCMTK
- dcm4che
- pydicom
- dwv
- Weasis
Projet no 3 : Collecteur de données, des interactions SMS et GIS, suivis de patients et visualisateur/tableau de bord pour Donka
Défi
Déployer le logiciel libre pour faire le suivi des maladies infectieuses en Guinée (Hôpital national Donka).
Ce que nous avons fait
DHIS2 est déployé dans plus de 45 pays. Voir une démonstration ici. Ce projet vise l'intégration de DHIS2 avec le logiciel eHospital à l'aide de Mirth Connect.
Technologies utilisées :
- Docker
- DHIS2
- Mirth Connect
Projet no 4 : QnGene : Format génétique pour HPC
Projet d'extension du format Adam pour y inclure le génotypage, les données cliniques et effectuer des analyses génétiques pour la médecine personnalisée, à grande échelle, à l'aide d'apprentissage machine.
Défi
L'analyse de données massives provenant d'études cliniques est effectuée actuellement par des bio-informaticiens à l'aide de pipelines de scripts (souvent écrits en langage Python) qui sont exécutés sur une technologie de bases de données relationnelles. Cette approche est de plus en plus problématique à cause de la très grande quantité de données génétiques à traiter. Le AMPLab de l'Université de Californie à Berkeley a publié le format Adam qui permet de tirer avantage de technologies du domaine des mégadonnées (Big Data) pour accélérer ce processus (voir l'article ici). Notre défi est de permettre au chercheur ou à la chercheuse d'effectuer eux-mêmes l'extension du format des données pour y ajouter des données cliniques, pharmaceutiques, environnementales et démographiques afin d'exécuter des modèles prédictifs pour le domaine de la médecine personnalisée à l'aide d'algorithmes d'apprentissage machine à grande échelle. (voir l'article ici).
Ce que nous avons fait
Ce projet débute avec la rencontre de l'équipe du AMPLab à Berkeley pour un transfert des connaissances concernant le projet Adam. Au début du projet, nous avons ajusté le format Adam pour accepter les données génétiques d'essais cliniques, par exemple Advance et CDK Gene (consultez le rapport de Simon Grondin). Nous avons développé les scripts pour l'ajustement dynamique du schéma de données, par le chercheur ainsi que le chargement rapide/efficace de très grandes quantités de données à petits frais (toutes ces données sont localisées, voir l'article de Fodil Belghait et visionnez cette vidéo pour plus de détails).
Nous avons travaillé à la validation/expérimentation de la version 1.0 de cette plateforme de médecine de précision à l'aide d'une étude de cas impliquant l'utilisation de trois algorithmes d'apprentissage machine qui avaient pour objectif d'identifier les facteurs qui pourraient permettre la découverte d'un score prédictif pour le diabète type 2.
Merci au Dr Pavel Hamet et à son équipe de bio-informaticiens pour leur appui tout au long de ce projet de recherche appliquée. Le nouveau pipeline HPC de ADAM est fondé sur les meilleures pratiques du GATK. Ce projet ne comporte aucun financement institutionnel ou gouvernemental. Nous avons expérimenté à grande échelle avec le Dr Michael Phillips.
Étudiants et étudiantes :
- Fodil Belgait
- Béatriz Kanzki
Technologies utilisées :
- Python
- ADAM
- Hbase
- Spark
- Parquet
- Avro
- H2o
- genomeBrowser
- IGV
- VarSeq.
Merci à Amazon web services pour le temps machine gratuit.
Projet no 5 : GenomeViewer – Somatic Vizualizer
Projet de conception d'un visualiseur de requêtes (dépassant les capacités des logiciels libres existants (LocusZoom et GWAS pipeline) utilisant un SNP en mode interactif. Cet outil permet l'exploration en temps réel, par les chercheurs, des données publiques. Consultez cet article présenté à la conférence ACM Digital Health de Londres.
Défi
Les chercheurs et chercheuses du domaine de la santé désirent interagir avec les données génétiques, mais les volumes grandissants de données posent problème. En ce moment, ils font des requêtes aux bio-informaticiens qui doivent concevoir, à l'aide du langage SQL, des requêtes qui sont exécutées sur des bases de données relationnelles (en arrière-plan) pour chaque cas. Ce processus n'est pas efficace. Il serait bien d'avoir accès à un logiciel de visualisation qui intègre toutes les données disponibles lors de l'activité de découverte et qui permettrait aux chercheurs d'interagir facilement avec ces grandes quantités de données hétérogènes privées et publiques, par exemple: COSMIC, ENSEMBL, UCSC, Cancer Gene Census, Tumorscape, OMIM, cBioCancer, Mitelman, gnomAD and ExAc.
Ce que nous avons fait
Nous avons conçu et développé un prototype de logiciel de visualisation génétique nommé GenomeViewer. Pour ce faire, nous avons analysé le processus et les logiciels utilisés pour effectuer des requêtes génétiques au laboratoire du Dr Pavel Hamet. La cible de la quatrième version du prototype vise à facilement comparer les données d'un patient ou d’une patiente avec les données de 1000 Genome publiquement disponibles. À sa version finale, GenomeViewer permettra aux chercheurs et chercheuses en cancérologie de visualiser complètement et rapidement les mutations somatiques et de les comparer à plusieurs bases de données publiques.
Beatriz a produit un prototype jetable, la première version nommée GOAT, qui a fait l’objet de plusieurs étapes de réingénierie par la suite. La deuxième version du prototype a été produite par Cédric Urvoy (lire son rapport), puis la troisième par Victor Dupuy (lire son rapport), afin d'établir une architecture logicielle interne maintenable (voir publication de GOAT). Ce prototype a été renommé GenomeViewer et la cible fonctionnelle a été ajustée vers la visualisation de mutations somatiques. L'amélioration du prototype a été effectuée par une équipe d'étudiants au cours d’un projet de fin d'études afin de remplacer la présentation graphique limitée par l'utilisation de la technologie de Bokeh Server par AmCharts et remplacer la technologie actuelle de BD SQL par du NoSQL-Spark afin d'augmenter significativement la vitesse d'exécution des requêtes. La plus récente version du prototype, la quatrième, comporte seulement les données des 1000 génomes et s'exécute maintenant sur une grappe AWS. Elle permet le chargement de fichiers .vcf. La performance d'exécution du chargement des données est passée d'une durée de 6 heures à une durée de 30 minutes. De plus, les requêtes interactives au back-end sont passées de 3 minutes à 5 secondes grâce à l'utilisation du format Adam de Berkeley sur AWS-EMR. Consultez son mémoire de maîtrise ici.
Étudiants et étudiantes :
- Beatriz Kanzki
- Max St-Onge
- Raphaël Papillon
- David Guay
- Émile Filteau-Tessier
- Cédric Urvoy
- Victor Dupuy
Technologies utilisées :
- Smacss
- Sass
- React (Facebook)
- Reflux
- React-JSX
- Griddle
- Django
- MySql
- Python
- Biopython
- AmCharts
- Numpy
- Pandas
- Blaze
- Flask
- Matplotlib
- Adam
- AWS-EMR (Spark)
Merci à Amazon web services pour l'accès gratuit à ses instances dans ce projet.
Projet no 6 : PACIQ - Logiciel de suivi de l'amélioration continue de la qualité pour les établissements de santé au Québec
Création d'un prototype logiciel de suivi de l'évaluation des critères de la qualité en fonction des normes applicables d'Agrément Canada, de Planetree, du BOMA BEST et du Réseau québécois des établissements promoteurs de santé qui régissent les établissements de santé au Québec.
Défi
Aujourd'hui, il est difficile d'obtenir l'information précise, de la part de tous les intervenants en santé à l'intérieur d'un établissement, concernant le niveau de conformité, et ce, selon plusieurs dimensions de la qualité. De plus, les éléments sur lesquels l'établissement doit être conforme se répètent souvent, d'une norme à une autre, causant ainsi beaucoup de duplications lors de la saisie, l'analyse et la génération de rapports de préparation à l'exercice de conformité. Conçue avec l'aide de l'ancien directeur adjoint de la Direction de la qualité au CHU Sainte-Justine, cette présentation recense les besoins qui ont été exprimés.
Ce que nous avons fait
Nous avons fait l'analyse des processus et logiciels utilisés (Excel) et modélisé une nouvelle base de données centralisée à l'aide de la technologie .Net. Par la suite, à l'aide d'une approche de développement itérative, ou agile, nous avons planifié la mise en place d'un prototype Web accompagné de tableaux de bord (BI) pour appuyer les décisions des intervenants. Nous suivons un processus de génie logiciel enseigné à l'ÉTS :
- conception et approbation d’un document de vision décrivant les exigences fonctionnelles et non fonctionnelles;
- rédaction et approbation d’un plan de projet;
- rédaction d’un SRS (spécifications logicielles), d’un module d'intelligence d'affaires et mise en place d’un environnement de développement suivi d'une architecture technologique et du développement d’un prototype du logiciel.
Étudiants et étudiantes :
- M. Y. Tariq
- U. Ghomsi
- N. Brousseau
- R. Chebli
- G. Gbelai
- D. Boukadi
- Elmoul
Technologies utilisées :
- .Net 4
- IIS7
- Sql Server 2008 R2
- SQL
- MDX
- XML
- SSIS
- SSAS
- SSRS
Projet no 7 : CorlabNow
Un tableau de bord, en temps réel, pour la surveillance des traitements des tests sanguins pour assurer la qualité du laboratoire de l'Hôpital général juif de Montréal. Ce logiciel permet d'afficher, en temps réel, l'état de l'attente du traitement des analyses sanguines, c’est-à-dire les niveaux de services, en temps réel.
Les échantillons collectés sont acheminés au Service de médecine diagnostique. Par la suite, une commande est saisie pour l'analyse. Le panier d'éprouvettes rempli est acheminé à la station de traitement. L'éprouvette est étiquetée, puis elle est traitée par l'équipement diagnostique.
Défi
Les erreurs humaines et matérielles qui surviennent parfois au cours du processus entraînent un travail supplémentaire par le ou la technologue MPA. Il n'y a aucun indicateur de la performance ni moyen précis de savoir s'il y a accumulation de retard, s'il est nécessaire d'ajouter du personnel pour répondre aux niveaux de services requis. De plus, certains tests doivent impérativement passer en priorité (par exemple, le test de Troponine : atteinte cardiaque à l'urgence).
Ce que nous avons fait
Conception d'une plateforme de saisie de l'information, en temps réel, et présentation des indicateurs (KPI) permettant d'anticiper les accumulations de tests avant de prendre du retard, d'avoir une idée claire du volume de travail et de permettre d'effectuer des analyses sur les données historiques et ainsi permettre une planification précise du comportement du laboratoire.
(Consultez la présentation au salon du BI)
Voir le tableau de bord opéré en temps réel.
Étudiants et étudiantes :
- D. Lauzon
- C. Vallières
- P. Herrera
- A. Boussif
- A. Zakharov
- D. Olano
- M.-A. Tardif
- P.-E. Viau
- M. Ouellet
- P.-A. St-Jean
Technologies utilisées (logiciels libres seulement) :
- HighCharts
- WebSockets
- Socket.io
- Node.js
- VirtualBox
- Ubuntu
Projet no 8 : App Mobile - FixMyShoulder/FixMyKnee
J'ai souffert de plusieurs problèmes d'épaule. George Demirakos, un physiothérapeute réputé de Montréal, m'a traité. Il publie maintenant des livres spécialisés en physiothérapie.
Ce projet vise le développement d'une application mobile (IOS) pour le physiothérapeute George Demirakos.
Défi
Réaliser une application mobile déployée sur le App Store qui offre des contenus gratuits et payants en lien avec les livres publiés par George Demirakos pour la physiothérapie de l'épaule et du genou.
Ce que nous avons fait
Nous avons expérimenté plusieurs technologies. Un premier cadriciel a été développé, CMS, permettant la mise à jour des données pour deux applications (Android et IOS) en simultané. Ensuite, deux prototypes d'application mobile identiques ont été développés, c’est-à-dire une pour IOS et une pour Android.
- Julie Vincent : première itération (Android et plateforme Web); voir le rapport.
- Mathieu Crochet : deuxième itération (Android et plateforme CMS); voir le rapport.
- Les travaux les plus récents concernent le réaménagement de l'application sur Ionic pour IOS par Quentin Muret.
Étudiants et étudiantes :
- Q. Muret
- J. Vincent
- M. Crochet
- M. Awada
- S. Kadi
- M. Khalil
- M. Mammar
- T. Warnant
Technologies utilisées :
- Ionic
- Cordova
- Angular
- JavaScript
- Android
Projet no 1 : Modèle de performance pour les services de transferts de fonds, à petits frais, avec confiance sur la chaîne de blocs (blockchain)
Création d'un modèle d'échange d'argent pour les pays en développement, pour lequel les intervenants n'ont pas à se déplacer vers un bureau de transfert, et qui permet d’instaurer un sentiment de confiance totale à l’égard du service. Un sondage a été effectué à Kinshasa, au Congo, pour connaître les craintes des utilisateurs concernant l'utilisation d’une application mobile de services de transfert d'argent fondée sur la chaîne de blocs.
Objectif
Le processus de paiement sur la chaîne de blocs souffre d'une difficulté de montée en charge. De plus, au cours des périodes de forte affluence, les transactions ralentissent et le coût devient prohibitif pour les transferts de petits montants. Une solution à ce problème de transfert d'argent, à très petits frais, serait envisageable grâce au modèle DLT Business Model, proposé par le professeur Kaiwen Zhang de l'ÉTS. Ce projet vise à concevoir une preuve de concept d'un service mobile expérimental de transfert de fonds à l'aide de la technologie Blockchain.
Défi
S'assurer que le transfert est rapide, fiable et peu coûteux. S'assurer aussi de mettre en place un mécanisme confirmant que le dépôt est effectué, soit directement aux fournisseurs identifiés par la personne utilisatrice, soit directement à la personne utilisatrice. Le système doit être fiable et rapide pour gagner la confiance des personnes qui l’utilisent.
Ce que nous avons fait
Une première version du prototype logiciel permettra de faire des essais au cours desquels la personne expéditrice fait parvenir un montant à un ou une bénéficiaire sans condition. Dans ce scénario, l'expéditeur reçoit un accusé de réception lorsque le bénéficiaire récupère l'argent.
Un deuxième essai prévoit qu'une personne expéditrice envoie un montant à un tiers. Ce montant est destiné à un ou une bénéficiaire, mais nécessite l'accord du tiers avant que le montant soit versé.
Un troisième essai permettra à la personne expéditrice d'envoyer un budget au bénéficiaire. Dans ce budget, l'expéditeur pourra préciser à quel fournisseur de services actuellement fournis au tiers ces montants sont assignés ou réservés. Ainsi, le tiers pourra obtenir des services de ces fournisseurs jusqu'à ce que le budget soit épuisé (par exemple, pour des frais de scolarité).
Finalement, le dernier test prévu validera la fonction de réallocation du budget.
Étudiants et étudiantes :
- T. Maketa
- I. Sion
Technologies utilisées :
- Ethereum
- Solidity
- Metamask
- Ganache Truffle Suite
- Python
- Django
- Web3.py
- REST
- HTML
- CSS
- Postgre
- MySQL
Projet no 2 : Automates boursiers (négociation haute fréquence)
Création d'un orchestrateur d'extracteurs sémantiques permettant d'obtenir automatiquement des informations utiles lors de la prise de décision des automates boursiers. Les différents extracteurs, qui sont interchangeables et interconnectables, génèrent tous un signal d'achat, de vente ou d'attente et sont accompagnés d’un indicateur de contexte.
Objectif
Les entreprises de courtage ainsi que les investisseurs s'intéressent de plus en plus aux automates boursiers. Ils désirent ajouter des informations, tirées de toutes sortes de sources sur le Web, pour améliorer leurs décisions de placement. Pour ce faire, il est difficile pour eux d'obtenir, de synthétiser et d'automatiser, en temps réel, l'obtention de toute cette information.
Nous développons des collecteurs normalisés pour l'extraction automatique d'informations provenant de sites Web spécialisés (par ex., MarketWatch, Bloomberg, Reuters), de messages d'experts influents (par ex., @PaulScolardi, @Burns277, @OptionsHawk), de bases de données spécialisées (par ex., NasTraq, Taq, OptionsMetrics) et d'algorithmes d'analyses techniques.
Voir notre article dans le Québec Science.
Défi
Expérimenter diverses techniques d'obtention des données sur les pages Web, ainsi que des interfaces variées avec les différents formats et types d'API de manière à obtenir l'information en temps réel. Expérimenter avec l'impact potentiel de l'information sur une commande d'achat ou de vente.
Ce que nous avons fait
Nous utilisons un processus de développement agile permettant de courtes itérations pour les expérimentations. Voici quelques rapports intermédiaires d'analyse de sentiments pour le domaine de la finance, de signaux pour automates de trading et d'enrichissement des signaux.
En ce moment, notre objectif est de développer un composant estimateur de la tendance du marché. Plusieurs techniques d'intelligence artificielle ont été expérimentées dans le passé (consultez ces articles pour en savoir plus : 1, 2 et 3). Ce composant doit collecter les informations du marché à l'aide de son API et prédire la tendance pour les prochaines 2 à 5 minutes.
Étudiants et étudiantes :
- T. Maketa
- B. Lebois
- D. Méthot
- S. Santerre
- C. Simon
- N. Hubert
Technologies utilisées :
- Anno4J
- Alibaba
- Marmotta
- Camel
- Hadoop
- Java/Python
- pyAlgoTrade
- RabbitMQ
- SPARQL
- RDF/XML
- Interactive Broker
- JASON
- ElasticSearch/Kibana
Projet no 3 : Moteur de statistiques
Ce projet a été proposé par Revelate, une jeune entreprise montréalaise spécialisée en mégadonnées (Big Data) dans le domaine financier. Les clients typiques de Revelate sont des bourses, des places de marché alternatives (ATS) et des groupes de trading dans les institutions financières. La plateforme peut également être utilisée par des services de conformité ainsi que des régulateurs.
Défi
Travaux sur des quantités massives de données boursières. Le premier objectif consiste à optimiser, mettre à l'échelle et à généraliser, à l'aide de la technologie Scala/Spark, un prototype logiciel qui crée des statistiques boursières telles que les courbes d'écart de prix. Le second objectif est de valider les résultats obtenus et de s'assurer qu'il est facilement possible d'ajouter de nouveaux estimateurs dans l'architecture proposée. À terme, une utilisatrice ou un utilisateur pourront fournir eux-mêmes leurs formules et le moteur de statistiques pourra lancer cette formule et leur présenter les résultats automatiquement. Finalement, le troisième objectif de ce projet est de créer un module d'analyse post-exécution en ajoutant les statistiques pertinentes liées à l'exécution (c’est-à-dire les volumes, spreads et volatilité réalisés, glissements, profils d'exécution, etc.) au moteur de statistiques.
Ce que nous avons fait
Un parseur a été implanté dans une première version du prototype de génération de formules statistiques, à l'aide de « scala.util.parser.combinator », qui crée une grammaire mathématique et permet d'exprimer syntaxiquement les éléments des formules statistiques. Il sera donc possible d'utiliser ce parseur, à l'aide d'une interface utilisateur, pour qu'une personne utilisatrice construise ou adapte une formule elle-même.
Dans la seconde itération, nous avons développé le code Scala et les RDDs pour effectuer quatre formules (Volume, VWAP, VWAS et GK) et nous les avons expérimentées, à grande échelle, sur une grappe Amazon. Finalement, lors de la troisième itération, nous avons généré du code Latex, à partir de chaînes de caractères Java (qui contiennent une formule), et nous la représentons graphiquement de manière à ce que les personnes utilisatrices puissent les valider visuellement.
Étudiants :
- Philippe Grenier-Vallée
- Luiz Fernando Santos Pereira
Technologies utilisées :
- Spark 2.0
- Scala
- Java
- Scala Parser Combinators
- JLatexmath
- JSON
- AWS EMR
- Maven
- BitBucket
Ce projet est effectué sur Amazon web services.
Projets de recherche en analyse des réseaux sociaux/sites wiki et de logiciel libre. L'enrichissement des données corporatives, à l'aide de celles qui sont disponibles sur le Web, est un domaine de recherche appliquée qui peut améliorer grandement les décisions d'entreprises et donner un avantage stratégique considérable. Les techniques d'analyse de contenu de sites Web, de documents, de vidéos et de wikis nécessitent l'utilisation d'infrastructures de mégadonnées (Big Data) et la maîtrise de techniques du domaine du linked-data.
Voici nos projets en cours :
Analyse de texte d'un wiki (projet en science ouverte)
Le processus de publication d'article est long, coûteux et, souvent, les résultats sont privés. Le mouvement « données ouvertes », ou open data, récemment appuyé par l'Union européenne, vise à libéraliser ce processus. Le projet vise à permettre l'évolution d'un article existant en ouvrant son contenu aux commentaires et aux modifications par la communauté d'intérêt, ce qui déboucherait sur une œuvre collective.
Défi
Offrir une plateforme permettant aux intervenants de discuter et d’effectuer des changements à un article déjà publié. Plusieurs défis se posent :
- Qui va participer et proposer des changements.
- Comment gérer et accepter des propositions de changements.
- Comment faire la différence entre des contributions mineures et majeures.
- Comment reconnaître la contribution des auteurs ou autrices et identifier les personnes contributrices les plus influentes ou sérieuses.
Ce que nous avons fait
L'équipe du GRISOU a proposé un wiki, une adaptation de MediaWiki, adapté à cette situation. Il sera mis à l’épreuve par l'IEEE Computer Society, lors d'un essai portant sur quatre articles déjà publiés dans la revue IEEE Software.
L'objectif de cette expérience est de voir comment expérimenter et relever les défis posés par cette nouvelle approche de publication collaborative. À la suite de cet essai, une publication spéciale de ce magazine fera état des résultats obtenus au cours de l’expérimentation.
Amélioration de la précision des requêtes
Défi
Ce projet vise l'amélioration de la précision des requêtes en ajoutant des techniques avancées de recherche de documents. Google est le leader mondial du domaine avec son brevet de Machine Translation for Query Expansion et ses techniques de snippets et de Statistical Machine Translation. L’objectif : poursuivre le bon travail effectué par M'hammed Oulaidi qui consistait à insérer un thésaurus multilingue, à l'aide de Ginco, pour améliorer la qualité des requêtes.
Technologies utilisées :
Conversion vers les logiciels libres
Défi
Le passage au logiciel libre : pas si facile que ça, mais c'est possible. L'entreprise devrait-elle renouveler ses licences Microsoft ou adopter Linux et ses logiciels de bureautique OpenOffice? Quelle est la faisabilité et quels sont les coûts de migration autres que les seuls coûts des licences? Les projets de recherche en logiciel libre visent à trouver le meilleur logiciel correspondant aux besoins et à en étudier le projet de conversion. Consultez cet article pour avoir une vue d'ensemble de la problématique.
Guides de conversion vers le libre : projet d'identification et de choix d'un logiciel libre de remplacement, de l'analyse d'impact pour la migration à la réalisation d'un guide d'aide à la conversion.
Notre équipe
Étudiants et étudiantes membres de l'équipe
- Michel Dubois, doctorant
- Mathieu Dupuis, doctorant
- Iannick Gagnon, doctorant
- Ling Guo, doctorante
- Tuna Hacaloglu, chercheuse postdoctorale
- Thomas Maketa, chercheur postdoctoral
- Sion Israel Sion, doctorant
La recherche à l'ÉTS
L’ÉTS offre un environnement idéal pour penser et créer ce qui pourrait changer le monde de demain.