4 resultados para Programmeur
em Université de Montréal, Canada
Resumo:
Distribués sous des licences permissives qui assurent des droits d'utilisation, de modification et de redistribution aux licenciés, l'élaboration des logiciels libres est fondée sur un modèle de développement décentralisé. Ces caractéristiques posent de nombreux défis au milieu juridique, particulièrement en ce qui a trait à la responsabilité civile. Ainsi, les développeurs se demandent dans quelles circonstances leur responsabilité civile peut être engagée suite à la défaillance de leur logiciel libre. De la même façon, ils questionnent la possibilité d'appliquer cette responsabilité à un nombre important de développeurs dispersés aux quatre coins du globe. L'analyse présentée montre que le droit, tel qu'il existe actuellement, est en mesure de résoudre la majorité des problèmes relatifs à la détermination et l'application de la responsabilité civile en matière de logiciels libres. Les règles de la responsabilité civile représentent donc un risque potentiel pour les développeurs de logiciels libres, même s'ils sont relativement bien protégés par les contextes juridiques et factuels.
Resumo:
La présente recherche a pour but de faire le point sur l'état du droit canadien et sur ses perspectives futures en relation avec les œuvres créées par ordinateurs. L'outil terminologique choisi pour notre objectif est le logiciel de traduction automatique multilingue qui, à cause de sa complexité, s'éloigne le plus du programmeur « créateur» et se rapproche le plus d'œuvres qui ne peuvent être directement attribuées aux linguistes et programmeurs. Ces outils et leurs créations seront d'après nous les prochains outils technologiques à confronter le droit. En effet, dans un avenir prévisible, considérant l'évolution technologique, ces logiciels produiront des textes qui bénéficieront d'une valeur commerciale ajoutée et c'est alors que certains feront valoir leurs « droits », non seulement sur les textes mais aussi sur la technologie. Pour atteindre cet objectif, nous débuterons par un retour historique sur la technologie et ses origines. Par la suite, nous ferons une analyse de la protection actuelle accordée aux logiciels, aux banques de données et aux traductions qu'ils produisent. Nous déterminerons ensuite qui sera responsable des textes produits en relation avec le texte d'origine et avec sa résultante au niveau du droit d'auteur et de celui de la responsabilité civile. Cette recherche nous amènera à conclure que le droit actuel est « mésadapté » tant à l'égard de la protection qu'au niveau de la responsabilité. Ces conclusions devront d'après nous imposer un retour aux principes fondamentaux du droit. Ce fondamentalisme légal sera pour nous le prix à payer pour la légitimité. En effet, plus particulièrement concernant le droit d'auteur, nous conclurons qu'il devra cesser d'être le « fourre-tout» du droit de la propriété intellectuelle et redevenir ce qu'il doit être: un droit qui protège la créativité. Cette démarche prospective tirera ses racines du fait que nous serons obligés de conclure que les juristes canadiens ont refusé, à tort à notre point de vue, de renvoyer au monde des brevets les méthodes et procédés nouveaux et inventifs, ce qui donc a introduit des problématiques inutiles qui exacerbent l'incertitude. Finalement, notre cheminement nous dirigera vers le droit de la responsabilité où nous soutiendrons que le fournisseur ne peut actuellement être responsable du texte produit puisqu'il ne participe pas directement aux choix et ne porte pas atteinte au contenu. Voici donc en quelques mots le cœur de notre recherche qui entrouvre une boîte de Pandore.
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:
Ce mémoire a pour thèse que les fonctions devraient être transparentes lors de la phase de métaprogrammation. En effet, la métaprogrammation se veut une possibilité pour le programmeur d’étendre le compilateur. Or, dans un style de programmation fonctionnelle, la logique du programme se retrouve dans les définitions des diverses fonctions le composant. Puisque les fonctions sont généralement opaques, l’impossibilité d’accéder à cette logique limite les applications possibles de la phase de métaprogrammation. Nous allons illustrer les avantages que procurent les fonctions transparentes pour la métaprogrammation. Nous donnerons notamment l’exemple du calcul symbolique et un exemple de nouvelles optimisations désormais possibles. Nous illustrerons également que la transparence des fonctions permet de faire le pont entre les datatypes du programme et les fonctions. Nous allons également étudier ce qu'implique la présence de fonctions transparentes au sein d'un langage. Nous nous concentrerons sur les aspects reliés à l'implantation de ces dernières, aux performances et à la facilité d'utilisation. Nous illustrerons nos propos avec le langage Abitbol, un langage créé sur mesure pour la métaprogrammation.