• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 92
  • 79
  • 47
  • 1
  • Tagged with
  • 235
  • 235
  • 164
  • 161
  • 159
  • 158
  • 149
  • 108
  • 42
  • 36
  • 35
  • 31
  • 31
  • 30
  • 29
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

Une architecture pour l'évaluation qualitative de l'impact de la programmation orientée aspect

Guyomarc'h, Jean-Yves January 2006 (has links)
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal.
22

Proposition d'une méthode basée sur la création et l'utilisation d'artéfacts afin de résoudre des problèmes dans les cours d'introduction à la programmation

Bélisle, Pierre January 2006 (has links) (PDF)
Nous pouvons voir le développement d'un logiciel selon deux perspectives. La première concerne le développement, par un programmeur ou une petite équipe de programmeurs, d'un petit logiciel, avec un utilisateur et un seul ordinateur. C'est ce qu'on appelle de la programmation à petite échelle (programming in the small). Ce genre de développement s'enseigne dans les cours de programmation en informatique (computer science). La deuxième perspective consiste à faire de la programmation à grande échelle avec plusieurs équipes de programmeurs, plusieurs fonctionnalités, plusieurs utilisateurs et même, parfois, plusieurs ordinateurs et serveurs. C'est ce qu'on appelle le génie logiciel (software engineering), qui s'enseigne dans des baccalauréats en génie logiciel. Même si beaucoup de progrès a été fait en génie logiciel, il reste qu'il existe encore des lacunes dans l'enseignement de cette discipline. Les difficultés se situent, entre autres, dans les cours d'introduction à la programmation. Il y a plusieurs façons d'enseigner le développement de logiciels. Cependant, peu importe celle qui est employée, la transition entre la programmation à petite échelle et la programmation à grande échelle n'est pas facile. Nous désirons donc créer une méthode qui favorise la résolution de problèmes, tout en facilitant la transition ultérieure vers les grands projets. Nous croyons également que la transition serait plus facile si ladite méthode de développement utilisait des principes de génie logiciel déjà utilisés et reconnus. C'est pourquoi nous avons tenu compte d'un corpus de connaissances en génie logiciel (Abran et aL, 2001) dans la construction de la méthode.
23

Analyse de l'évolution des concepts de cohésion et de couplage : 1979-2008

Chami, Widad January 2008 (has links) (PDF)
Depuis leur apparition, la cohésion et le couplage (C&C) ont fait couler beaucoup d'encre, et ce en raison du rôle qui leur a été attribué dans la détermination des traits de plus qu'un attribut de la qualité du logiciel. Cette détermination a pris plusieurs aspects modelés selon les besoins et les réalisations de chaque étape d'évolution par lesquels ils sont passés. Ces aspects ont contribué grandement au retrait d'une large ambigüité qui a couvert le couple C&C comme tout autre concept mesurable de la qualité logicielle. En revanche, ils ont pris part à l'exacerbation du nombre de questions de recherche ---quelques unes vagues et d'autres précises, à propos de ce qui a formé une preuve évidente de la difficulté d'utilisation de ces deux concepts. Depuis toujours la source du problème de cette difficulté est connue: définitions informelles, et la solution est unique et unanime: définition de mesures objectives et normalisées. Mais, les visions, qui diffèrent à cause des multiples chemins possibles à prendre et des divers moyens envisageables, rendent en quelque sorte la réalisation de cette solution difficile. Dans notre étude nous avons analysé l'histoire de ces deux concepts en prenant comme point de départ le livre Structured Design de Yourdon et Constantine (1979). Nous avons ensuite suivi à la trace les changements de ces concepts tout au long des trois dernières décennies, en analysant une vingtaine d'articles marquants. Avec cette étude, nous avons découvert, qu'avec leurs visions différentes, les chercheurs sont arrivés à résoudre certains sous-problèmes (qui découlent du problème principal qui s'est avéré très complexe), tout en découvrant d'autres sous-problèmes qui ont besoin d'être solutionnés, pour que le tout permette un éclaircissement et une précision qui accordent une utilisation efficace du couple C&C, dans la production d'applications d'envergure où l'on applique les principes du génie logiciel (GL). Le résultat de notre étude peut être résumé par le «non» que nous avons donné comme réponse à notre question de recherche principale «Est-ce que les concepts de cohésion et de couplage ont des définitions assez précises pour pouvoir être employés de manière efficace dans le GL ?». ______________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : Cohésion, Complexité, Couplage, Modularisation, Métrique, Qualité.
24

Sur l'arithmétique des polyominos

Tall, Amadou Makhtar 01 1900 (has links) (PDF)
Ce mémoire de maîtrise se consacre à l’étude des figures discrètes, un sujet à l’intersection de la combinatoire des mots et la géométrie digitale. Décrite simplement, une figure discrète est un assemblage fini de pixels joints côté par côté. Toute figure discrète se décompose en composantes connexes appelées polyominos, un objet très connu en combinatoire et en théorie des jeux. Dans sa thèse, en 2008, Provençal propose quelques problèmes ouverts sur les polyominos et introduit ainsi le concept de polyominos premiers et composés. Jusqu’à maintenant, on en sait très peu sur cette notion de primalité. En effet, à notre connaissance, le seul document qui y fait référence est un article publié en 2012 par Blondin Massé, Garon et Labbé dans lequel les auteurs résolvent une conjecture de Provençal en s’appuyant sur la notion de polyominos premiers et composés. Dans ce mémoire, nous explorons plus en détails ce sujet. En plus de fournir une définition et un cadre plus formel, nous proposons un algorithme polynomial (par rapport au périmètre du polyomino) permettant de décomposer celui-ci en un produit de polyominos premiers. Nous discutons également des implications potentielles de ces idées en cryptographie.
25

Safety analysis using a Smart Safety Helmet embedded with IMU and EEG sensors applied in industrial facility

Li, Ping 08 1900 (has links) (PDF)
Some mental states, such as fatigue, or sleepiness, are known to increase the potential of accidents in industry, and thus could decrease productivity, even increase cost for healthcare. The highest rate of industrial accidents is usually found among shift workers due to fatigue or extended work hours. When using machine tool or interacting with robotic system, the risk of injury increases due to disturbance, lapse in concentration, vigilance decline, and neglect of the risk during prolonged use. Usually, to guarantee safety of worker, the conventional means is to stop the machine when human presence is detected in the safeguarding area of machine tool or robot workspace. The popular human detection technologies exploit laser scanner, camera (or motion tracker), infrared sensor, open-door sensor, static pressure sensitive floor as described in CSA Z434 standard. Of course, in the field of robotic, human and robot are not allowed to work together in the same workspace. However, new industrial needs lead research to develop flexible and reactive chain production for enabling small quantity production or fast modification in product characteristics. Consequently, more efficient human-machine or human-robot collaboration under a safety condition could improve this flexibility. Our research project aims at detecting and analyzing human safety in industry in order to protect workers. Comparing to the conventional human protection methods, our research exploits Artificial Intelligence approach to track and monitor human head motion and mental state using an instrumented safety helmet, labelled as Smart Safety Helmet (SSH) in the following. The contribution of this thesis consists in the design of data fusion algorithm for the recognition of head motion and mental state, which can be used to analyze the potential risky states of workers. A Smart Safety Helmet embedded with Inertial Measurement Unit (IMU) and EEG sensors will be used to detect and decode the human’s mental state and intention. The acquired information will be used to estimate the accident risk level in order to stop machine and then prevent accident or injury. In human-robot interaction (HRI) paradigm, the human’s intention could be used to predict the worker trajectory in order to control the robot moving trajectory and then to avoid fatal collision. Certains états mentaux, comme la fatigue ou la somnolence, sont connus pour augmenter le potentiel d'accidents dans l'industrie, et pourrait donc réduire la productivité, même augmenter les coûts des soins de santé. Le taux le plus élevé d'accidents au travail est habituellement trouvé parmi les travailleurs en rotation (travail posté) dues à la fatigue ou les heures de travail prolongées. Lors de l'utilisation d’une machine-outil ou lors d’une interaction avec un système robotique, le risque de lésion peut augmenter dû à une perturbation, un manque de concentration, une baisse de vigilance et la négligence du travailleur face au risque présent lors d'une utilisation prolongée (accoutumance au risque). Habituellement, pour garantir la sécurité des travailleurs, des moyens classiques sont l'arrêt complet de la machine lorsque la présence humaine est détectée dans une zone non sécuritaire, par exemple dans l’espace de travail d’un robot. Les technologies industrielles communes de détection humaine exploitent le scanner au laser, la caméra (par la capture de mouvement), le capteur infrarouge, l’interrupteur de porte ouverte, le tapis de capture de la pression statique ; tous ces capteurs sont décrits dans la norme CSA Z434. Jusqu’à tout récemment, dans le domaine de la robotique industrielle, les humains et les robots n’étaient pas autorisés à travailler ensemble dans le même espace. Toutefois, des besoins industriels émergents ont dirigé les recherches pour développer une production flexible et réactive pour favoriser la production de petites quantités ou modifier rapidement des caractéristiques du produit. Par conséquent, une collaboration plus efficace entre l'humain et le robot ou, de manière plus générale entre l'humain et la machine, sous des contraintes de sécurité, pourrait améliorer cette flexibilité et cette réactivité. Notre projet de recherche vise à détecter et à analyser la sécurité humaine dans l'industrie afin de protéger les travailleurs. En comparant les méthodes classiques de protection humaine, notre approche exploite l'intelligence artificielle pour identifier les mouvements de la tête et identifier l'état mental en utilisant un casque de sécurité instrumenté, nommé le Smart Safety Helmet (SSH) dans ce qui suit. La contribution de ce mémoire réside dans la conception de la fusion des données provenant de la reconnaissance de mouvement de la tête et de l'état mental, qui peut être utilisée pour analyser le potentiel de risque encouru par un travailleur. Dans le SSH, une unité de mesure inertielle (IMU) et capteurs EEG ont été intégrés. Ces deux capteurs seront utilisés pour détecter l'état mental de l’humain et décoder son intention. Les informations recueillies seront utilisées pour estimer le risque d'accidents afin d'arrêter la machine et d'empêcher un accident. Dans le paradigme de l’interaction humain-robot, l'intention de l'humain pourrait être utilisée modifier le comportement du robot (réduire sa rigidité ou modifier sa trajectoire).
26

Système de surveillance du statut nutritionnel des plants de tomates utilisant la vision numérique proche infrarouge

Soucy, Adams 05 1900 (has links) (PDF)
La culture en serre offre une production annuelle contrôlée et optimale, favorisant l’amélioration de la capacité des récoltes dans les régions nordiques. Selon une étude du groupe AGÉCO, près de 21% des producteurs en serre interrogés désireraient apporter des modifications à leurs installations afin de les rendre plus performantes. Cela touche principalement les serres ayant une superficie inférieure à 2000 m2. Dans le cadre de ce projet, les travaux de recherche portent sur les systèmes hydroponiques commerciaux et résidentiels en circuit fluidique fermé. L’un des principaux problèmes dans ce type de système est la distribution et le maintien de la solution nutritive. Il a été démontré qu’il était possible de maintenir la concentration en nutriments entre des limites acceptables à l’aide d’une régulation. Cependant, le système compensé reste vulnérable à des défaillances du système de maintien de la solution nutritive. Ainsi, l’objectif du projet est de développer un dispositif à faible coût et non invasif permettant détecter des anomalies de la concentration de la solution nutritive dans un système fluidique fermé. Une technique de surveillance est mise sur pied afin de détecter une modification de la concentration de la solution nutritive sur la production de la tomate d’Alaska. Le matériel utilisé pour ce dispositif provient de la fondation Raspberry Pi. Il est composé d’ordinateurs monocartes et de caméras sans filtre infrarouge. Le paramètre mesuré était la fluorescence de la chlorophylle lorsque le plant était soumis à une excitation lumineuse de longueur d’onde de 470 nm. Le dispositif élaboré permet de mesurer une différence significative entre diverses concentrations en nutriments soit 0, 400, 800, 1200 et 1600ppm. Par la suite, un classificateur à base de logique floue a été utilisé afin de tirer un indice de statut nutritionnel du plant. Ce dernier varie entre 0 et 2. La valeur cible recherchée est de 1, soit 1200ppm. Les valeurs inférieures à 1 indiquent une situation de sous-nutrition et les valeurs supérieures à 1, une situation de surnutrition.
27

Ingénierie des applications Web : réduire la complexité sans diminuer le contrôle / Web applications engineering : reduce the complexity without loosing control

Richard-Foy, Julien 09 December 2014 (has links)
L'automatisation de certaines tâches et traitements d'information grâce aux outils numériques permet de réaliser des économies considérables sur nos activités. Le Web est une plateforme propice à la mise en place de tels outils : ceux-ci sont hébergés par des serveurs, qui centralisent les informations et coordonnent les utilisateurs, et ces derniers accèdent aux outils depuis leurs terminaux clients (ordinateur, téléphone, tablette, etc.) en utilisant un navigateur Web, sans étape d'installation. La réalisation de ces applications Web présente des difficultés pour les développeurs. La principale difficulté vient de la distance entre les postes client et serveur. D'une part, la distance physique (ou distance matérielle ) entre les machines nécessite qu'une connexion réseau soit toujours établie entre elles pour que l'application fonctionne correctement. Cela pose plusieurs problèmes : comment gérer les problèmes de latence lors des échanges d'information ? Comment assurer une qualité de service même lorsque la connexion réseau est interrompue ? Comment choisir quelle part de l'application s'exécute sur le client et quelle part s'exécute sur le serveur ? Comment éviter aux développeurs d'avoir à résoudre ces problèmes sans pour autant masquer la nature distribuée des applications Web et au risque de perdre les avantages de ces architectures ? D'autre part, l'environnement d'exécution est différent entre les clients et serveurs, produisant une distance logicielle. En effet, côté client, le programme s'exécute dans un navigateur Web dont l'interface de programmation (API) permet de réagir aux actions de l'utilisateur et de mettre à jour le document affiché. De l'autre côté, c'est un serveur Web qui traite les requêtes des clients selon le protocole HTTP. Certains aspects d'une application Web peuvent être communs aux parties client et serveur, par exemple la construction de morceaux de pages Web, la validation de données saisies dans les formulaires, la navigation ou même certains calculs métier. Cependant, comme les API des environnements client et serveur sont différentes, comment mutualiser ces aspects tout en bénéficiant des mêmes performances d'exécution qu'en utilisant les API natives ? De même, comment conserver la possibilité de tirer parti des spécificités de chaque environnement ? Les travaux de cette thèse ont pour but de raccourcir cette distance, tant logicielle que matérielle, tout en préservant la capacité à tirer parti de cette distance, c'est-à-dire en donnant autant de contrôle aux développeurs. / Thanks to information technologies, some tasks or information process can be automated, thus saving a significant amount of money. The web platform brings numerous of such digital tools. These are hosted on web servers that centralize information and coordinate users, which can use the tools from several kinds of devices (desktop computer, laptop, smartphone, etc.), by using a web browser, without installing anything. Nevertheless, developing such web applications is challenging. The difficulty mainly comes from the distance between client and server devices. First, the physical distance between these machines requires them to be networked. This raises several issues. How to manage latency ? How to provide a good quality of service even when the network is down ? How to choose on which side (client or server) to execute a computation ? How to free developers from addressing these problems without yet hiding the distributed nature of web application so that they can still benefit from their advantages ? Second, the execution environment is different between clients and servers. Indeed, on client-side the program is executed within a web browser whose API provides means of reacting to user actions and of updating the page. On server-side, the program is executed on a web server that processes HTTP requests. Some aspects of web applications can be shared between client and server sides (e.g. content display, form validation, navigation, or even some business computations). However, the APIs and environments are different between clients and servers, so how to share the same code while keeping the same execution performance as with native APIs ? How to keep the opportunity to leverage the specificities of a given platform ? This work aims at shortening this distance while keeping the opportunity to leverage it, that is while giving developers as much expressive power.
28

Facilités de typage pour l'ingénierie des langages

Guy, Clément 10 December 2013 (has links) (PDF)
Le nombre et la complexité toujours croissants des préoccupations prises en compte dans les systèmes logiciels complexes (e.g., sécurité, IHM, scalabilité, préoccupations du domaine d'application) poussent les concepteurs de tels systèmes à séparer ces préoccupations afin de les traiter de manière indépendante. L'ingénierie dirigée par les modèles (IDM) prône la séparation des préoccupations au sein de langages de modélisation dédiés. Les langages de modélisation dédiés permettent de capitaliser le savoir et le savoir-faire associés à une préoccupation au travers des constructions du langage et des outils associés. Cependant la définition et l'outillage d'un langage dédié demande un effort de développement important pour un public par définition réduit. Nous proposons dans cette thèse une relation liant les modèles et une interface de modèle permettant de faciliter la mise en place de facilités de typage pour la définition et l'outillage d'un langage dédié. Cette interface expose les éléments de modèle et les transformations de modèles associés à un langage de modélisation dédié. Nous représentons une telle interface par un type de modèles supportant des relations de sous-typage et d'héritage. Dans ce but nous définissons : une relation de typage entre les modèles et les langages de modélisation dédiés permettant de considérer les modèles comme des entités de première classe ; des relations de sous-typage entre langages de modélisation dédiés permettant la réutilisation de la syntaxe abstraite et des transformations de modèles.
29

Méthodologie pour la dérivation comportementale de produits dans une ligne de produit logicielle

Istoan, Paul 21 February 2013 (has links) (PDF)
Méthodologie pour la dérivation comportementale de produits dans une ligne de produit logicielle
30

NOMADE : Un noyau d'environnement pour la programmation globale

Belkhatir, Nourredine 02 December 1988 (has links) (PDF)
Dans le développement et la maintenance de logiciels de grande taille, la programmation globale est l'activité la moins formalisée, la moins assistée alors que c'est l'activité prépondérante, celle qui consomme le plus de temps. Nous décrivons les principaux concepts et mécanismes de Nomade, un noyau d'environnement pour supporter le développement et la maintenance de gros logiciels. Nomade constitue une extension et une généralisation de son prédécesseur Adèle. Il fournit un modèle pour la construction, l'intégration et le contrôle des logiciels en versions multiples et de leurs équipes. Nous présentons essentiellement la base d'objets et les mécanismes de contrôle de la structure du logiciel avec la notion de partition et d'activation d'outils basée sur le concept d'événement action. La base d'objets est conçue autour d'un modèle adapté aux besoins de la programmation globale qui inclut des notions "orientées objet". La base conserve la structure du logiciel : les objets logiciels, leurs versions, leurs documents, leurs attributs, leurs relations et leurs objets dérivés. Le mécanisme d'événements actions s'inspire des mécanismes d'activations (déclencheurs, démons, exceptions) développés dans d'autres domaines. Nous montrons comment Nomade permet de maintenir les contraintes de cohérence complexes rencontrées dans la programmation globale, de définir et d'intégrer les stratégies et les outils spécifiques à un environnement de développement et de maintenance.

Page generated in 0.0705 seconds