11 resultados para Subroutines in Procedural Programming Languages
em Université de Montréal, Canada
Resumo:
Ce mémoire vise à recenser les avantages et les inconvénients de l'utilisation du langage de programmation fonctionnel dynamique Scheme pour le développement de jeux vidéo. Pour ce faire, la méthode utilisée est d'abord basée sur une approche plus théorique. En effet, une étude des besoins au niveau de la programmation exprimés par ce type de développement, ainsi qu'une description détaillant les fonctionnalités du langage Scheme pertinentes au développement de jeux vidéo sont données afin de bien mettre en contexte le sujet. Par la suite, une approche pratique est utilisée en effectuant le développement de deux jeux vidéo de complexités croissantes: Space Invaders et Lode Runner. Le développement de ces jeux vidéo a mené à l'extension du langage Scheme par plusieurs langages spécifiques au domaine et bibliothèques, dont notamment un système de programmation orienté objets et un système de coroutines. L'expérience acquise par le développement de ces jeux est finalement comparée à celle d'autres développeurs de jeux vidéo de l'industrie qui ont utilisé Scheme pour la création de titres commerciaux. En résumé, l'utilisation de ce langage a permis d'atteindre un haut niveau d'abstraction favorisant la modularité des jeux développés sans affecter les performances de ces derniers.
Resumo:
Ce mémoire présente une implantation de la création paresseuse de tâches desti- née à des systèmes multiprocesseurs à mémoire distribuée. Elle offre un sous-ensemble des fonctionnalités du Message-Passing Interface et permet de paralléliser certains problèmes qui se partitionnent difficilement de manière statique grâce à un système de partitionnement dynamique et de balancement de charge. Pour ce faire, il se base sur le langage Multilisp, un dialecte de Scheme orienté vers le traitement parallèle, et implante sur ce dernier une interface semblable à MPI permettant le calcul distribué multipro- cessus. Ce système offre un langage beaucoup plus riche et expressif que le C et réduit considérablement le travail nécessaire au programmeur pour pouvoir développer des programmes équivalents à ceux en MPI. Enfin, le partitionnement dynamique permet de concevoir des programmes qui seraient très complexes à réaliser sur MPI. Des tests ont été effectués sur un système local à 16 processeurs et une grappe à 16 processeurs et il offre de bonnes accélérations en comparaison à des programmes séquentiels équiva- lents ainsi que des performances acceptables par rapport à MPI. Ce mémoire démontre que l’usage des futures comme technique de partitionnement dynamique est faisable sur des multiprocesseurs à mémoire distribuée.
Resumo:
Les langages de programmation typés dynamiquement tels que JavaScript et Python repoussent la vérification de typage jusqu’au moment de l’exécution. Afin d’optimiser la performance de ces langages, les implémentations de machines virtuelles pour langages dynamiques doivent tenter d’éliminer les tests de typage dynamiques redondants. Cela se fait habituellement en utilisant une analyse d’inférence de types. Cependant, les analyses de ce genre sont souvent coûteuses et impliquent des compromis entre le temps de compilation et la précision des résultats obtenus. Ceci a conduit à la conception d’architectures de VM de plus en plus complexes. Nous proposons le versionnement paresseux de blocs de base, une technique de compilation à la volée simple qui élimine efficacement les tests de typage dynamiques redondants sur les chemins d’exécution critiques. Cette nouvelle approche génère paresseusement des versions spécialisées des blocs de base tout en propageant de l’information de typage contextualisée. Notre technique ne nécessite pas l’utilisation d’analyses de programme coûteuses, n’est pas contrainte par les limitations de précision des analyses d’inférence de types traditionnelles et évite la complexité des techniques d’optimisation spéculatives. Trois extensions sont apportées au versionnement de blocs de base afin de lui donner des capacités d’optimisation interprocédurale. Une première extension lui donne la possibilité de joindre des informations de typage aux propriétés des objets et aux variables globales. Puis, la spécialisation de points d’entrée lui permet de passer de l’information de typage des fonctions appellantes aux fonctions appellées. Finalement, la spécialisation des continuations d’appels permet de transmettre le type des valeurs de retour des fonctions appellées aux appellants sans coût dynamique. Nous démontrons empiriquement que ces extensions permettent au versionnement de blocs de base d’éliminer plus de tests de typage dynamiques que toute analyse d’inférence de typage statique.
Resumo:
Ce mémoire explore la question des conséquences de l’interprétation rawlsienne du pluralisme éthique pour la légitimité de l’autonomie individuelle comme objectif d’éducation publique. Rawls (1993, 2003) soutient que seuls des objectifs éducatifs strictement politiques peuvent guider l’élaboration des politiques publiques en matière d’éducation obligatoire et justifier une intervention étatique dans l’éducation des enfants. Or, puisque Rawls définit l’autonomie individuelle comme un idéal éthique privé, il conclut qu’elle n’est pas un objectif légitime d’éducation publique. La thèse principale qui est défendue dans le cadre de ce mémoire est que Rawls est aveugle aux implications réelles de sa propre théorie politique en matière d’éducation commune, qui, contrairement à ce qu’il soutient, exigent précisément la promotion de l’autonomie individuelle comme idéal éthique (et non politique). Cette thèse remet en question le principe de neutralité de l’État envers toutes les doctrines éthiques, y compris l’idéal d’autonomie individuelle, qui caractérise et distingue la théorie rawlsienne des versions classiques du libéralisme. La deuxième partie de cette étude considère une stratégie possible pour sauver la neutralité du libéralisme politique, qui consiste à définir le concept d’autonomie individuelle de manière procédurale et éthiquement neutre. Ce chapitre montre que, indépendamment de la plausibilité strictement conceptuelle d’une telle caractérisation de l’autonomie individuelle, elle n’est pas appropriée au projet éducatif rawlsien, parce que celui-ci demande la valorisation de la pensée critique, et comporte donc un élément éthique incontournable. Enfin, la troisième partie de cette étude explore la problématique des moyens de promotion de l’autonomie individuelle et, plus spécifiquement, de la légitimité des écoles séparées religieuses. Elle soutient, d’un côté que l’école religieuse peut avoir une importante valeur instrumentale vis-à-vis du développement de l’autonomie individuelle, mais de l’autre côté, que l’école commune est nécessaire à un certain stade de développement.
Resumo:
Il existe plusieurs théories du contrôle moteur, chacune présumant qu’une différente variable du mouvement est réglée par le cortex moteur. On trouve parmi elles la théorie du modèle interne qui a émis l’hypothèse que le cortex moteur programme la trajectoire du mouvement et l’activité électromyographique (EMG) d’une action motrice. Une autre, appelée l’hypothèse du point d’équilibre, suggère que le cortex moteur établisse et rétablisse des seuils spatiaux; les positions des segments du corps auxquelles les muscles et les réflexes commencent à s’activer. Selon ce dernier, les paramètres du mouvement sont dérivés sans pré-programmation, en fonction de la différence entre la position actuelle et la position seuil des segments du corps. Pour examiner de plus près ces deux théories, nous avons examiné l’effet d’un changement volontaire de l’angle du coude sur les influences cortico-spinales chez des sujets sains en employant la stimulation magnétique transcrânienne (TMS) par-dessus le site du cortex moteur projetant aux motoneurones des muscles du coude. L’état de cette aire du cerveau a été évalué à un angle de flexion du coude activement établi par les sujets, ainsi qu’à un angle d’extension, représentant un déplacement dans le plan horizontal de 100°. L’EMG de deux fléchisseurs du coude (le biceps et le muscle brachio-radial) et de deux extenseurs (les chefs médial et latéral du triceps) a été enregistrée. L’état d’excitabilité des motoneurones peut influer sur les amplitudes des potentiels évoqués moteurs (MEPs) élicitées par la TMS. Deux techniques ont été entreprises dans le but de réduire l’effet de cette variable. La première était une perturbation mécanique qui raccourcissait les muscles à l'étude, produisant ainsi une période de silence EMG. La TMS a été envoyée avec un retard après la perturbation qui entraînait la production du MEP pendant la période de silence. La deuxième technique avait également le but d’équilibrer l’EMG des muscles aux deux angles du coude. Des forces assistantes ont été appliquées au bras par un moteur externe afin de compenser les forces produites par les muscles lorsqu’ils étaient actifs comme agonistes d’un mouvement. Les résultats des deux séries étaient analogues. Un muscle était facilité quand il prenait le rôle d’agoniste d’un mouvement, de manière à ce que les MEPs observés dans le biceps fussent de plus grandes amplitudes quand le coude était à la position de flexion, et ceux obtenus des deux extenseurs étaient plus grands à l’angle d’extension. Les MEPs examinés dans le muscle brachio-radial n'étaient pas significativement différents aux deux emplacements de l’articulation. Ces résultats démontrent que les influences cortico-spinales et l’activité EMG peuvent être dissociées, ce qui permet de conclure que la voie cortico-spinale ne programme pas l’EMG à être générée par les muscles. Ils suggèrent aussi que le système cortico-spinal établit les seuils spatiaux d’activation des muscles lorsqu’un segment se déplace d’une position à une autre. Cette idée suggère que des déficiences dans le contrôle des seuils spatiaux soient à la base de certains troubles moteurs d’origines neurologiques tels que l’hypotonie et la spasticité.
Resumo:
Les problèmes de conception de réseaux ont reçu un intérêt particulier et ont été largement étudiés de par leurs nombreuses applications dans différents domaines, tels que les transports et les télécommunications. Nous nous intéressons dans ce mémoire au problème de conception de réseaux avec coûts d’ajout de capacité. Il s’agit d’installer un ensemble d’équipements sur un réseau en vue de satisfaire la demande, tout en respectant les contraintes de capacité, chaque arc pouvant admettre plusieurs équipements. L’objectif est de minimiser les coûts variables de transport des produits et les coûts fixes d’installation ou d’augmentation de capacité des équipements. La méthode que nous envisageons pour résoudre ce problème est basée sur les techniques utilisées en programmation linéaire en nombres entiers, notamment celles de génération de colonnes et de coupes. Ces méthodes sont introduites dans un algorithme général de branch-and-bound basé sur la relaxation linéaire. Nous avons testé notre méthode sur quatre groupes d’instances de tailles différentes, et nous l’avons comparée à CPLEX, qui constitue un des meilleurs solveurs permettant de résoudre des problèmes d’optimisation, ainsi qu’à une méthode existante dans la littérature combinant des méthodes exactes et heuristiques. Notre méthode a été plus performante que ces deux méthodes, notamment pour les instances de très grandes tailles.
Resumo:
Thèse réalisée en cotutelle avec l'Institut d’études politiques d'Aix-en-Provence, École doctorale de Sciences Po, Programme doctoral en sciences de l’information et de la communication
Resumo:
La présente recherche documente l’évolution des représentations sur les langues de cinq cas d’élèves plurilingues et immigrants ou issus de l’immigration, scolarisés en fin de cycle du primaire en milieu pluriethnique à Montréal, tout au long de l’implantation d’un projet d’Éveil aux langues, sur une période de deux ans. La méthodologie adoptée permet de décrire en profondeur et de façon nuancée, l’évolution des représentations des élèves sur les langues de leur répertoire plurilingue d’une part, et plus largement, sur les langues et de la diversité linguistique d’autre part. Les résultats de la recherche ont permis de mettre en évidence que l’implantation d’un projet d’Éveil aux langues sur deux ans : 1) a des effets positifs sur les représentations sur la diversité linguistique de ces élèves; 2) permet de soutenir le développement de représentations positives sur les langues du répertoire linguistique des élèves qui passe par l’acceptation de compétences partielles dans l’une ou l’autre des langues de leur répertoire et par l’expression d’un sentiment de fierté à propos de leur répertoire plurilingue; 3) permet le développement, chez les élèves, de diverses stratégies pour légitimer l’intégration de langues dans lesquelles ils ont des compétences partielles au sein de leur répertoire linguistique : apporter un jugement de valeur sur leurs compétences, spécifier leur domaine de compétence (expression orale ou écrite, compréhension orale ou écrite), qualifier, étiqueter leurs langues (langue maternelle, langue d’origine, langue seconde), adapter les définitions formelles présentées dans le projet sur le plurilinguisme à leur situation; 4) les représentations sur les langues par les élèves peuvent être marquées par le poids des représentations sociales; toutefois, cette tendance se lénifie au fur et à mesure de l’implantation du projet et une majorité d’élèves partage des représentations plus individualisées et moins marquées par des stéréotypes en fin de projet; 5) permet, pour les élèves de niveau scolaire fort et moyen, le développement d’un vocabulaire de haut niveau ainsi que le développement d’une curiosité envers la langue de l’Autre; 6) permet, pour les élèves de niveau scolaire faible, et à partir de la seconde année d’implantation, le développement d’un engagement dans les activités qui passe par une participation accrue au projet et le développement de compétence langagière (meilleure qualité argumentative); 7) offre la possibilité aux élèves de se connaître les uns les autres, d’être à l’écoute de l’Autre et d’exprimer de la curiosité envers la langue de l’autre et de reconnaître l’expertise de l’Autre, ceci participant à la mise en place d’une dynamique relationnelle propice aux apprentissages
Resumo:
UNE EXPOSITION NÉONATALE À L’OXYGÈNE MÈNE À DES MODIFICATIONS DE LA FONCTION MITOCHONDRIALE CHEZ LE RAT ADULTE Introduction: L’exposition à l’oxygène (O2) des ratons nouveau-nés a des conséquences à l’âge adulte dont une hypertension artérielle (HTA), une dysfonction vasculaire, une néphropénie et des indices de stress oxydant. En considérant que les reins sont encore en développement actif lors des premiers jours après la naissance chez les rats, jouent un rôle clé dans le développement de l’hypertension et qu’une dysfonction mitochondriale est associé à une augmentation du stress oxydant, nous postulons que les conditions délétères néonatales peuvent avoir un impact significatif au niveau rénal sur la modulation de l’expression de protéines clés du fonctionnement mitochondrial et une production mitochondriale excessive d’espèces réactives de l’ O2. Méthodes: Des ratons Sprague-Dawley sont exposés à 80% d’O2 (H) ou 21% O2 (Ctrl) du 3e au 10e jr de vie. En considérant que plusieurs organes des rats sont encore en développement actif à la naissance, ces rongeurs sont un modèle reconnu pour étudier les complications d’une hyperoxie néonatale, comme celles liées à une naissance prématurée chez l’homme. À 4 et à 16 semaines, les reins sont prélevés et les mitochondries sont extraites suivant une méthode d’extraction standard, avec un tampon contenant du sucrose 0.32 M et différentes centrifugations. L’expression des protéines mitochondriales a été mesurée par Western blot, tandis que la production d’ H202 et les activités des enzymes clés du cycle de Krebs ont été évaluées par spectrophotométrie. Les résultats sont exprimés par la moyenne ± SD. Résultats: Les rats mâles H de 16 semaines (n=6) présentent une activité de citrate synthase (considéré standard interne de l’expression protéique et de l’abondance mitochondriales) augmentée (12.4 ± 8.4 vs 4.1 ± 0.5 μmole/mL/min), une diminution de l’activité d’aconitase (enzyme sensible au redox mitochondrial) (0.11 ± 0.05 vs 0.20 ± 0.04 μmoles/min/mg mitochondrie), ainsi qu’une augmentation dans la production de H202 (7.0 ± 1.3 vs 5.4 ± 0.8 ρmoles/mg protéines mitochondriales) comparativement au groupe Ctrl (n=6 mâles et 4 femelles). Le groupe H (vs Ctrl) présente également une diminution dans l’expression de peroxiredoxin-3 (Prx3) (H 0.61±0.06 vs. Ctrl 0.78±0.02 unité relative, -23%; p<0.05), une protéine impliquée dans l’élimination d’ H202, de l’expression du cytochrome C oxidase (Complexe IV) (H 1.02±0.04 vs. Ctrl 1.20±0.02 unité relative, -15%; p<0.05), une protéine de la chaine de respiration mitochondriale, tandis que l’expression de la protéine de découplage (uncoupling protein)-2 (UCP2), impliquée dans la dispersion du gradient proton, est significativement augmentée (H 1.05±0.02 vs. Ctrl 0.90±0.03 unité relative, +17%; p<0.05). Les femelles H (n=6) (vs Ctrl, n=6) de 16 semaines démontrent une augmentation significative de l’activité de l’aconitase (0.33±0.03 vs 0.17±0.02 μmoles/min/mg mitochondrie), de l’expression de l’ATP synthase sous unité β (H 0.73±0.02 vs. Ctrl 0.59±0.02 unité relative, +25%; p<0.05) et de l’expression de MnSOD (H 0.89±0.02 vs. Ctrl 0.74±0.03 unité relative, +20%; p<0.05) (superoxide dismutase mitochondriale, important antioxidant), tandis que l’expression de Prx3 est significativement réduite (H 1.1±0.07 vs. Ctrl 0.85±0.01 unité relative, -24%; p<0.05). À 4 semaines, les mâles H (vs Ctrl) présentent une augmentation significative de l’expression de Prx3 (H 0.72±0.03 vs. Ctrl 0.56±0.04 unité relative, +31%; p<0.05) et les femelles présentent une augmentation significative de l’expression d’UCP2 (H 1.22±0.05 vs. Ctrl 1.03±0.04 unité relative, +18%; p<0.05) et de l’expression de MnSOD (H 1.36±0.01 vs. 1.19±0.06 unité relative, +14%; p<0.05). Conclusions: Une exposition néonatale à l’O2 chez le rat adulte mène à des indices de dysfonction mitochondriale dans les reins adultes, associée à une augmentation dans la production d’espèces réactives de l’oxygène, suggérant que ces modifications mitochondriales pourraient jouer un rôle dans l’hypertension artérielle et d’un stress oxydant, et par conséquent, être un facteur possible dans la progression vers des maladies cardiovasculaires. Mots-clés: Mitochondries, Reins, Hypertension, Oxygène, Stress Oxydant, Programmation
Resumo:
Cette thèse a pour but d’améliorer l’automatisation dans l’ingénierie dirigée par les modèles (MDE pour Model Driven Engineering). MDE est un paradigme qui promet de réduire la complexité du logiciel par l’utilisation intensive de modèles et des transformations automatiques entre modèles (TM). D’une façon simplifiée, dans la vision du MDE, les spécialistes utilisent plusieurs modèles pour représenter un logiciel, et ils produisent le code source en transformant automatiquement ces modèles. Conséquemment, l’automatisation est un facteur clé et un principe fondateur de MDE. En plus des TM, d’autres activités ont besoin d’automatisation, e.g. la définition des langages de modélisation et la migration de logiciels. Dans ce contexte, la contribution principale de cette thèse est de proposer une approche générale pour améliorer l’automatisation du MDE. Notre approche est basée sur la recherche méta-heuristique guidée par les exemples. Nous appliquons cette approche sur deux problèmes importants de MDE, (1) la transformation des modèles et (2) la définition précise de langages de modélisation. Pour le premier problème, nous distinguons entre la transformation dans le contexte de la migration et les transformations générales entre modèles. Dans le cas de la migration, nous proposons une méthode de regroupement logiciel (Software Clustering) basée sur une méta-heuristique guidée par des exemples de regroupement. De la même façon, pour les transformations générales, nous apprenons des transformations entre modèles en utilisant un algorithme de programmation génétique qui s’inspire des exemples des transformations passées. Pour la définition précise de langages de modélisation, nous proposons une méthode basée sur une recherche méta-heuristique, qui dérive des règles de bonne formation pour les méta-modèles, avec l’objectif de bien discriminer entre modèles valides et invalides. Les études empiriques que nous avons menées, montrent que les approches proposées obtiennent des bons résultats tant quantitatifs que qualitatifs. Ceux-ci nous permettent de conclure que l’amélioration de l’automatisation du MDE en utilisant des méthodes de recherche méta-heuristique et des exemples peut contribuer à l’adoption plus large de MDE dans l’industrie à là venir.
Resumo:
Dans une société mondialisée, où les relations sont intégrées à une vitesse différente avec l'utilisation des technologies de l'information et des communications, l'accès à la justice gagne de nouveaux concepts, mais elle est encore confrontée à de vieux obstacles. La crise mondiale de l'accès à la justice dans le système judiciaire provoque des débats concernant l'égalité en vertu de la loi, la capacité des individus, la connaissance des droits, l'aide juridique, les coûts et les délais. Les deux derniers ont été les facteurs les plus importants du mécontentement des individus avec le système judiciaire. La présente étude a pour objet d'analyser l'incidence de l'utilisation de la technologie dans l’appareil judiciaire, avec l'accent sur la réalité brésilienne, la voie législative et des expériences antérieures dans le développement de logiciels de cyberjustice. La mise en œuvre de ces instruments innovants exige des investissements et de la planification, avec une attention particulière sur l'incidence qu'ils peuvent avoir sur les routines traditionnelles des tribunaux. De nouveaux défis sont sur la voie de ce processus de transformation et doivent être traités avec professionnalisme afin d'éviter l'échec de projets de qualité. En outre, si la technologie peut faire partie des différents aspects de notre quotidien et l'utilisation de modes alternatifs de résolution des conflits en ligne sont considérés comme un succès, pourquoi serait-il difficile de faire ce changement dans la prestation de la justice par le système judiciaire? Des solutions technologiques adoptées dans d'autres pays ne sont pas facilement transférables à un environnement culturel différent, mais il y a toujours la possibilité d'apprendre des expériences des autres et d’éviter de mauvaises voies qui pourraient compromettre la définition globale de l'accès à la justice.