{"id":46,"date":"2012-07-24T14:17:13","date_gmt":"2012-07-24T14:17:13","guid":{"rendered":"http:\/\/portfolio-pre.uqac.ca\/gabarit\/?page_id=46"},"modified":"2021-03-26T20:42:11","modified_gmt":"2021-03-27T00:42:11","slug":"recherche","status":"publish","type":"page","link":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/recherche\/","title":{"rendered":"Recherche"},"content":{"rendered":"<h2 style=\"text-align: left\"><strong>PROJETS ACTUELS DE RECHERCHE<\/strong><\/h2>\n<ul style=\"text-align: left\">\n<li>Telematics, Health care systems, e-Health<\/li>\n<li>Ubiquitous and Pervasive Computing<\/li>\n<li>Context aware Applications<\/li>\n<li>Smart Cities and Internet of Things (IoT)<\/li>\n<li>Software architectures (Design Connectors) of Distributed systems<\/li>\n<li>Separation of\u00a0concerns (pr\u00e9occupations)<\/li>\n<li>D\u00e9veloppement de logicels orient\u00e9s objet, aspect, composant, services, Microservices<\/li>\n<li>Web Technologies<\/li>\n<\/ul>\n<hr \/>\n<p>&nbsp;<\/p>\n<h2><strong>Conception d\u2019un cadre architectural pour le d\u00e9veloppement des applications contextuelles e-health (2015-2025)<\/strong><\/h2>\n<h2><strong>Conception de syst\u00e8mes intelligents avec l\u2019Internet des objets IoT\u00a0<\/strong><strong>(ville, maison, zone, environnement s\u00e9v\u00e8re, etc.) (2014-2025)<\/strong><\/h2>\n<p>&nbsp;<\/p>\n<h2 style=\"text-align: left\"><em><strong>Projet de recherche: Distribution d&#8217;objets avec vues\/aspect (2007-2016)<\/strong><\/em><\/h2>\n<p style=\"text-align: left\"><strong>Partenaires:<\/strong> Conseil de recherche en sciences naturelles et en g\u00e9nie du Canada (CRSNG) \u00b7 Compagnies : Nortel, IBM, BNR, CAE, DEC, Teleglobe, Canada. \u00b7 Universit\u00e9s: Universit\u00e9 du Qu\u00e9bec \u00e0 Montr\u00e9al (UQAM), Universit\u00e9 de Montr\u00e9al (UDM).<\/p>\n<p style=\"text-align: left\"><strong>Description:<\/strong> ce projet vise \u00e0 d\u00e9velopper une m\u00e9thode et des outils supportant le d\u00e9veloppement d\u2019applications orient\u00e9es objet telles que : \u00b7 Un objet puisse changer de comportement durant sa dur\u00e9e de vie en int\u00e9grant diff\u00e9rents aspects fonctionnels, \u00b7 Diff\u00e9rents usagers puissent percevoir et utiliser diff\u00e9rents sous-ensembles des fonctionnalit\u00e9s pr\u00e9sentement pr\u00e9sentes dans l\u2019objet, \u00b7 La localisation des objets r\u00e9els de l\u2019application soit transparente pour l\u2019usager ou pour le programmeur, et optimale, du point de vue performance.<\/p>\n<p style=\"text-align: left\"><strong>R\u00e9sum\u00e9:<\/strong> Dans un syst\u00e8me d\u2019information d\u2019entreprise, les m\u00eames entit\u00e9s jouent diff\u00e9rents r\u00f4les fonctionnels. Ces r\u00f4les sont destin\u00e9s \u00e0 diff\u00e9rents usages, diff\u00e9rents usagers, et leur implantation implique des comp\u00e9tences diff\u00e9rentes. Nous nous int\u00e9ressons au probl\u00e8me du d\u00e9veloppement, de la r\u00e9utilisation et de l\u2019entretien, et du d\u00e9ploiement s\u00e9par\u00e9s de ces r\u00f4les fonctionnels. Notre recherche est centr\u00e9e autour d\u2019une m\u00e9thodologie de d\u00e9veloppement et d\u2019un ensemble d\u2019outils logiciels qui implantent ce que nous appelons la programmation par vues, o\u00f9 une vue est une construction logicielle r\u00e9alisant un r\u00f4le fonctionnel. Dans cet article, nous nous int\u00e9ressons \u00e0 la probl\u00e9matique de la distribution de vues dans le contexte d\u2019un environnement distribu\u00e9 dans lesquels diff\u00e9rents sites utilisent diff\u00e9rentes combinaisons des fonctionnalit\u00e9s offertes par les vues.<\/p>\n<hr \/>\n<h2 style=\"text-align: left\"><em><strong>Projet de recherche IGLOO: Ing\u00e9nierie Logiciel Orient\u00e9-Objet 1994-1996 (Canada)<\/strong><\/em><\/h2>\n<p style=\"text-align: left\"><strong>Partenaires:<\/strong> Compagnies : DEC, CAE, DEC, Teleglobe et Nortel. Centre de Recherche : Centre de Recherche Informatique \u00e0 Montr\u00e9al (CRIM). Universit\u00e9s : Universit\u00e9 de Qu\u00e9bec \u00e0 Montr\u00e9al (UQAM), Universit\u00e9 de Montr\u00e9al (UDM) et Universit\u00e9 de Sherbrooke.<\/p>\n<p style=\"text-align: left\"><strong>Description:<\/strong> Participation \u00e0 la conception d&#8217;une repr\u00e9sentation de composantes logicielles pour la r\u00e9utilisation. \u00b7 Construction d&#8217;un analyseur s\u00e9mantique du langage C++ permettant d&#8217;extraire les repr\u00e9sentations de composantes \u00e0 partir de code source (Lex, Yacc, C, etc.). D\u00e9veloppement d&#8217;outils de chargement de composantes logicielles r\u00e9utilisables dans une boite \u00e0 outils pour la r\u00e9utilisation. Implantation d&#8217;un algorithme pour la construction d&#8217;une hi\u00e9rarchie s\u00e9mantique de concepts bas\u00e9e sur leurs occurrences dans une documentation textuelle en Smalltalk.<\/p>\n<hr \/>\n<h2 style=\"text-align: left\"><strong>DOMAINES D\u2019INT\u00c9R\u00caTS<\/strong><\/h2>\n<p style=\"text-align: left\">Mes int\u00e9r\u00eats de recherche portent principalement sur divers aspects suivants :\u00a0Health Care Systems, Telematics, e-Health, Ubiquitous and Pervasive Computing, Context aware Applications, Smart cities, Internet of Things, \u00a0Smart devices, Software Architecture of Distributed systems, G\u00e9nie logiciel (d\u00e9veloppement d\u00e9centralis\u00e9 des applications OO, r\u00e9utilisation, programmation orient\u00e9e-objet), des syst\u00e8mes distribu\u00e9s (d\u00e9veloppements des technologies et des outils dans le domaine de l\u2019Internet) et de s\u00e9curit\u00e9 et gestion de m\u00e9moire des applications.<\/p>\n<p style=\"text-align: left\">J\u2018ai contribu\u00e9 \u00e0 une centaine\u00a0de publications dans ces domaines. Je suis (ai \u00e9t\u00e9) particip\u00e9 dans des projets de recherche avec l&#8217;industrie portant :<\/p>\n<ol>\n<li style=\"padding-left: 30px;text-align: left\">sur le d\u00e9veloppement de framework for\u00a0health care Systems to help patients in their autonomy<\/li>\n<li style=\"padding-left: 30px;text-align: left\">sur le d\u00e9veloppement des infrastructures logcicielles pour les syst\u00e8mes de e-Health<\/li>\n<li style=\"padding-left: 30px;text-align: left\">sur le d\u00e9veloppement de nouveau paradigme Cell-Oriented Computing (COC) for Service Oriented Computing SOA<\/li>\n<li style=\"padding-left: 30px;text-align: left\">sur le d\u00e9veloppement des architectures et framework pour la gestion des catastrophes naturelles et villes intelligentes<\/li>\n<li style=\"padding-left: 30px;text-align: left\">sur le d\u00e9veloppement des connecteurs logciels pour les applications distribu\u00e9es<\/li>\n<li style=\"padding-left: 30px;text-align: left\">sur le d\u00e9veloppement des outils et des m\u00e9thodes pour faciliter la maintenance et la r\u00e9utilisation des logiciels orient\u00e9e-objet (le projet IGLOO du programme SYNERGIE axe r\u00e9utilisation).<\/li>\n<li style=\"padding-left: 30px;text-align: left\">sur le d\u00e9veloppement des applications orient\u00e9es-objet avec la programmation par vues et CORBA\/RMI : \u00abdistribution d\u2019objet avec vues\u00bb. Ceci supporte le d\u00e9veloppement des applications d\u00e9centralis\u00e9es, r\u00e9utilisables, distribuables \u00e0 travers l\u2019Internet. En r\u00e9sume, ce projet vise \u00e0 d\u00e9velopper une m\u00e9thode et des outils supportant le d\u00e9veloppement d\u2019applications orient\u00e9es objet telles que :<\/li>\n<\/ol>\n<p style=\"padding-left: 60px;text-align: left\">a- Un objet puisse changer de comportement durant sa dur\u00e9e de vie en int\u00e9grant diff\u00e9rents\u00a0aspects fonctionnels;<\/p>\n<p style=\"padding-left: 60px;text-align: left\">b- Diff\u00e9rents usagers puissent percevoir et utiliser diff\u00e9rents sous-ensembles des\u00a0fonctionnalit\u00e9s pr\u00e9sentement pr\u00e9sentes dans l\u2019objet;<\/p>\n<p style=\"padding-left: 60px;text-align: left\">c- La localisation des objets r\u00e9els de l\u2019application soit transparente pour l\u2019usager ou le\u00a0programmeur, et optimale, du point de vue performance.<\/p>\n<p style=\"text-align: left\">Nous avons mis en place les bases th\u00e9oriques d&#8217;un mod\u00e8le de d\u00e9veloppement d&#8217;applications OO en utilisant les vues [Mili et al., 01]. Sur le plan analyse, les vues d&#8217;un objet correspondent aux diff\u00e9rents r\u00f4les qu&#8217;il joue dans une application (ou un SI corporatif). Au niveau du code, les vues correspondent \u00e0 l&#8217;instanciation de patrons fonctionnels g\u00e9n\u00e9riques- appel\u00e9s points de vues- pour un objet m\u00e9tier donn\u00e9; les points de vues ressemblent \u00e0 la notion de classes g\u00e9n\u00e9riques dans les langages OO, tout en offrant plus de flexibilit\u00e9, et une s\u00e9mantique plus pr\u00e9cise [Mili et al., 99]. A date, nous avons d\u00e9velopp\u00e9 un prototype de support pour la programmation par vues pour un sous-ensemble assez restrictif du langage C++. Nous avons aussi d\u00e9velopp\u00e9 des outils pour la programmation par vues en Java. La simplicit\u00e9 de Java (par rapport \u00e0 C++) permettra de couvrir un sous-ensemble plus grand du langage Java. De plus, la distinction que fait Java entre les types (interface) et les implantations (class), d&#8217;un cot\u00e9, et les facilit\u00e9s de r\u00e9flexion, de l&#8217;autre cot\u00e9, permettent de mieux r\u00e9pondre \u00e0 la probl\u00e9matique de la classification dynamique et nous \u00e9vitons certaines contorsions auxquelles nous avons \u00e9t\u00e9 contraints pour le cas de C++.<\/p>\n<p style=\"text-align: left\">Sur le plan ex\u00e9cution, nous nous int\u00e9ressons \u00e0 la distribution sous deux volets:<\/p>\n<p style=\"padding-left: 30px;text-align: left\">1- Les vues, repr\u00e9sentant diff\u00e9rentes facettes fonctionnelles de l&#8217;objet, pourraient \u00eatre &#8220;proches de leur utilisateurs&#8221;. Il s&#8217;agit de mettre en place les m\u00e9canismes n\u00e9cessaires pour permettre la distribution des vues \u00e0 travers une plate-forme de distribution telle que CORBA. Ceci se traduira au niveau des outils de g\u00e9n\u00e9ration de code de vues, et au niveau de la transformation du code usager utilisant les vues (e.g. [Mili et al. 2001]). Nous avons d\u00e9velopp\u00e9 ces outils qui n\u00e9cessitent une validation dans la future recherche.<\/p>\n<p style=\"padding-left: 30px;text-align: left\">2- La distribution d&#8217;applications utilise diff\u00e9rents m\u00e9canismes pour maintenir l&#8217;int\u00e9grit\u00e9\/coh\u00e9sion de donn\u00e9es tout en minimisant les surco\u00fbts au niveau de la communication. L&#8217;une des techniques utilis\u00e9es est celle de la duplication d&#8217;objets entiers, m\u00eame si diff\u00e9rentes parties de l&#8217;objet sont lues\/modifi\u00e9es d&#8217;un site \u00e0 l&#8217;autre. Nous sommes en train d\u2019utiliser la notion de vues pour dupliquer, s\u00e9lectivement, diff\u00e9rentes parties d\u2019un objet dans diff\u00e9rents sites, et ainsi minimiser le surco\u00fbt d\u00fb \u00e0 la duplication de donn\u00e9es \u00e0 travers le r\u00e9seau.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PROJETS ACTUELS DE RECHERCHE Telematics, Health care systems, e-Health Ubiquitous and Pervasive Computing Context aware Applications Smart Cities and Internet of Things (IoT) Software architectures (Design Connectors) of Distributed systems Separation of\u00a0concerns (pr\u00e9occupations) D\u00e9veloppement de logicels orient\u00e9s objet, aspect, composant, services, Microservices Web Technologies &nbsp; Conception d\u2019un cadre architectural pour le d\u00e9veloppement des applications contextuelles &hellip; <a href=\"https:\/\/portfolio.uqac.ca\/hamidmcheick\/recherche\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Recherche<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":23,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"tags":[],"_links":{"self":[{"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/pages\/46"}],"collection":[{"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":14,"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/pages\/46\/revisions"}],"predecessor-version":[{"id":268,"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/pages\/46\/revisions\/268"}],"wp:attachment":[{"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/media?parent=46"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolio.uqac.ca\/hamidmcheick\/wp-json\/wp\/v2\/tags?post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}