Spelling suggestions: "subject:"langage dde programmation"" "subject:"langage dee programmation""
71 |
ALOG : acteurs et programmation en logique.Carre, Françoise, January 1900 (has links)
Th. doct.-ing.--Inform.--Toulouse--I.N.P., 1984. N°: 314.
|
72 |
Vers une compilation portable et performante des langages fonctionnels /Serrano, Manuel. January 1995 (has links)
Th. doct.--Informatique--Paris 6, 1994.
|
73 |
Support à l'exécution pour objets actifs multi-threadés : conception et implémentation / Execution support for multi-threaded active objects : design and implementationRochas, Justine 22 September 2016 (has links)
Pour aborder le développement d'applications concurrentes et distribuées, le modèle de programmation à objets actifs procure une abstraction de haut niveau pour programmer de façon concurrente. Les objets actifs sont des entités indépendantes qui communiquent par messages asynchrones. Peu de systèmes à objets actifs considèrent actuellement une exécution multi-threadée. Cependant, introduire un parallélisme contrôlé permet d'éviter les coûts induits par des appels de méthodes distants. Dans cette thèse, nous nous intéressons aux enjeux que présentent les objets actifs multi-threadés, et à la coordination des threads pour exécuter de façon sûre les tâches d'un objet actif en parallèle. Nous enrichissons dans un premier temps le modèle de programmation, afin de contrôler l'ordonnancement interne des tâches. Puis nous exhibons son expressivité de deux façons différentes: d'abord en développant et en analysant les performances de plusieurs applications,puis en compilant un autre langage à objets actifs avec des primitives de synchronisation différentes dans notre modèle de programmation. Aussi, nous rendons nos objets actifs multi-threadés résilients dans un contexte distribué en utilisant les paradigmes de programmation que nous avons développé. Enfin, nous développons une application pair-à-pair qui met en scène des objets actifs multi-threadés. Globalement, nous concevons un cadre de développement et d'exécution complet pour les applications hautes performances distribuées. Nous renforçons notre modèle de programmation en formalisant nos contributions et les propriétés du modèle. Cela munit le programmeur de garanties fortes sur le comportement du modèle de programmation. / In order to tackle the development of concurrent and distributed applications, the active object programming model provides a high-level abstraction to program concurrent behaviours. Active objects are independent entities that communicate by mean of asynchronous messages. Very few of the existing active object frameworks consider a multi-threaded execution of active objects. Introducing a controlled parallelism enables removing some latency induced by remote method invocations. In this thesis, we take interest in the challenges of having multiple threads inside an active object, and in their safe coordination to execute tasks in parallel. We enhance this programming model by adding language constructs that control the internal scheduling of tasks. We then show its expressiveness in two ways: first with a classical approach, by developing and analysing the performance of several applications, and secondly, by compiling another active object language with different synchronisation primitives into our programming model. Also, we make multi-threaded active objects resilient in a distributed context through generic engineering constructs, and by using our programming abstractions. Finally, we develop a peer-to-peer application that shows multi-threaded active objects and their features in action. Overall, we design a thorough framework for the development and execution of high performance distributed applications. We reinforce our programming model by formalising our work and the model’s properties
|
74 |
Développement de nouveaux outils pour l'intégration des données du ChIP-Seq et leurs applications pour l'étude du contrôle de la transcriptionJoly Beauparlant, Charles 24 April 2018 (has links)
Les progrès fulgurants des technologies de séquençage permettent de développer des projets de recherche très complexes. De plus, les consortiums internationaux tels qu’ENCODE, Roadmap Epigenomics et Fantom offrent publiquement de vastes jeux de donnés à la communauté scientifique. Ainsi, mon projet de recherche au doctorat a pour but de développer de nouvelles approches bioinformatiques afin d’analyser efficacement les données génomiques de type ChIP-Seq pour cibler les changements dans les patrons d’interactions entre les protéines et l’ADN. De nouveaux outils R tels ENCODExplorer et FantomTSS ont donc été développés afin de faciliter l’intégration des données publiques. De plus, l’outil metagene, développé dans le cadre de mon doctorat, permet de comparer les patrons d’enrichissement des protéines interagissant avec l’ADN. Il extrait efficacement la couverture des régions génomiques, normalise le signal et d’utilise les contrôles pour retirer le bruit de fond. Il produit des graphiques pour comparer visuellement les facteurs et conditions et offre des outils statistiques pour cibler les profils significativement différents. Afin de valider mon approche expérimentale, j’ai analysé une centaine de jeux de données de ChIP-Seq de la lignée GM12878 pour étudier les profils d’enrichissement au niveau des amplificateurs et des promoteurs en fonction de leur activité transcriptionnelle. Cette étude a ciblé deux modes de recrutement distincts, soit l’effet gradient et l’effet seuil. Face à la complexité et la quantité de données disponibles, il est essentiel de développer de nouvelles approches méthodologiques et statistiques afin d’améliorer notre compréhension des mécanismes biologiques. ENCODExplorer et metagene sont disponibles sur Bioconductor. / Recent progress in sequencing technologies opened the possibility of performing very complex research experiments. Combined with the vast public datasets produced by intenational consortiums such as ENCODE, Roadmap Epigenomics and Fantoms, the amount of data to process can be daunting. The goal of my doctoral project is to develop new bioinformatic approaches to facilitate the integration of ChIP-Seq data for the study of the dynamic of the interactions between proteins and DNA. New tools such as ENCODExplorer and FantomTSS were developped in R to make the publicly available datasets easier to integrate. Futhermore, the metagene package allows the comparison of enrichment patterns of DNA-interacting proteins. This package efficiently extracts read coverage from genomic regions of interest, normalize the signal and uses controls to remove background noise. The main functionnality of the metagene package is to visually compare enrichment profiles from multiple groups of genomic regions and to offer statistical tools to caracterize and compare those profiles. To validate my experimental approach, I used over a hundred datasets from the GM12878 cell line produced by the ENCODE consortium to study the enrichment profiles of transcription factors and histones in enhnacer and promoter regions. I was able to define two distinct recruitment patterns: the gradient effect and the threshold effect. With the ever growing complexity of genomic datasets, it is essential to develop new methodotical approaches to allow a better understanding of the underlying biological processes. ENCODExplorer and metagene are both available on Bioconductor.
|
75 |
Acceleration and semantic foundations of embedded Java platformsYahyaoui, Hamdi 11 April 2018 (has links)
Tableau d'honneur de la Faculté des études supérieures et postdoctorales, 2006-2007 / With the advent and the rising popularity of wireless Systems, there is a proliferation of small internet-enabled devices (e.g. PDAs, cell phones, pagers, etc.). In this context, Java is emerging as a standard execution environment due to its security, portability, mobility and network support features. In particular, J2ME/CLDC (Java 2 Micro Edition for Connected Limited Device Configuration) is now recognized as the standard Java platform in the domain of mobile wireless devices. An important factor that has amplified the wide industrial adoption of J2ME/CLDC is the broad range of Java based solutions that are available in the market. Ail these factors made Java and J2ME/CLDC an ideal solution for software development in the arena of embedded Systems. A successful deployment of Java on these devices relies on a fast and lightweight execution environment. Our research comes to provide a practical and a theoretical vision about possible solutions to design, implement and validate optimization techniques. More precisely, the research results that led to reach this objective are the following:
1. The design, implementation and evaluation of dynamic acceleration techniques: we have designed and implemented a dynamic selective compiler. This compiler speeds up the execution of embedded Java applications by a rate of 400%. Moreover, we have designed other acceleration techniques for the interpretation and the method call mechanisms.
2. The elaboration of a concurrent denotational semantic model that extends the resource pomsets semantics of Gastin and Mislove with unbounded non-determinism. This model is intended to be accommodated to JVML/CLDC (the bytecode language) and to be used for proving the correctness of the optimizations of JVML/CLDC programs.
3. A case study that shows how this semantic model can be embedded in the proof assistant Isabelle in order to validate optimizations of JVML/CLDC programs. / De nos jours, nous assistons à une croissance fulgurante des réseaux sans fil et des systèmes embarqués (cellulaires, assistants digitaux, etc.). Dans ce contexte, Java a connu une popularité grandissante comme étant un environnement d'exécution standard grâce à ses caractéristiques intrinsèques comme la sécurité, portabilité et mobilité. Plus précisément, J2ME/CLDC (Java 2 Micro Edition for Connected Limited Device Configuration) est devenue une plate-forme standard dans le domaine des systèmes embarqués. En effet, l'important déploiement des téléphones Java a permis une large adoption de cette plate-forme. Le succès de celle-ci nécessite l'existence d'un environnement qui permet une exécution rapide des applications Java. C'est dans ce cadre précis que s'inscrit notre recherche. Notre objectif primordial est de concevoir, implanter et fournir une base formelle pour valider des techniques d'accélération de Java pour les systèmes embarqués. Les principaux résultats ayant contribué à l'atteinte de cet objectif sont les suivants :
1. La conception, l'implantation et l'évaluation d'un compilateur léger et rapide pour l'accélération de l'exécution des applications Java dans les systèmes embarqués. Ce compilateur accélère la machine virtuelle embarquée KVM qui vient avec J2ME/CLDC par un facteur de 4. D'autres techniques d'accélération de l'interprétation et du mécanisme d'appel de méthodes ont été réalisées.
2. L'élaboration d'un modèle sémantique dénotationnel qui étend le modèle resource pomsets de Gastin et Mislove au non-déterminisme non borné. Ce modèle est conçu pour spécifier la sémantique du langage JVML/CLDC (langage bytecode) et aussi pour valider les optimisations de programmes JVML/CLDC.
3. Une étude de cas montrant comment ce modèle peut être embarqué dans l'assistant de preuves Isabelle pour des fins de validation semi-automatique des optimisations de programmes JVML/CLDC.
|
76 |
SCOOP : cadriciel de calcul distribué génériqueHold-Geoffroy, Yannick 23 April 2018 (has links)
Ce document présente SCOOP, un nouveau cadriciel Python pour la distribution automatique de hiérarchies de tâches dynamiques axé sur la simplicité. Une hiérarchie de tâches réfère à des tâches qui peuvent récursivement générer un nombre arbitraire de sous-tâches. L’infrastructure de calcul sous-jacente consiste en une simple liste de ressources de calcul. Le cas d’utilisation typique est l’exécution d’un programme principal sous la tutelle du module SCOOP, qui devient alors la tâche racine pouvant générer des sous-tâches au travers de l’interface standard des « futures » de Python. Ces sous-tâches peuvent elles-mêmes générer d’autres sous-sous-tâches, etc. La hiérarchie de tâches complète est dynamique dans le sens où elle n’est potentiellement pas entièrement connue jusqu’à la fin de l’exécution de la dernière tâche. SCOOP distribue automatiquement les tâches parmi les ressources de calcul disponibles en utilisant un algorithme de répartition de charge dynamique. Une tâche n’est rien de plus qu’un objet Python pouvant être appelé en conjonction avec ses arguments. L’utilisateur n’a pas à s’inquiéter de l’implantation du passage de message ; toutes les communications sont implicites. / This paper presents SCOOP, a new Python framework for automatically distributing dynamic task hierarchies focused on simplicity. A task hierarchy refers to tasks that can recursively spawn an arbitrary number of subtasks. The underlying computing infrastructure consists of a simple list of resources. The typical use case is to run the user’s main program under the umbrella of the SCOOP module, where it becomes a root task that can spawn any number of subtasks through the standard “futures” API of Python, and where these subtasks may themselves spawn other subsubtasks, etc. The full task hierarchy is dynamic in the sense that it is unknown until the end of the last running task. SCOOP automatically distributes tasks amongst available resources using dynamic load balancing. A task is nothing more than a Python callable object in conjunction with its arguments. The user need not worry about message passing implementation details; all communications are implicit.
|
77 |
Accélération de plates-formes Java embarquées : techniques et cadre formelKetari, Lamia 13 April 2018 (has links)
Depuis quelques années, on assiste à une expansion fulgurante du marché des terminaux mobiles et sans fil. Dans ce cadre, le déploiement de la technologie Java sur ce type de terminaux connaît un grand succès à cause de ses caractéristiques attrayantes, à savoir la mobilité, la portabilité et la sécurité. En particulier, la plate-forme J2ME/CLDC (Java 2 Micro Edition for Connected Limited Device Configuration) est dédiée au développement d’applications Java qui s’exécutent sur des téléphones cellulaires, des assistants digitaux et de façon générale sur tous les systèmes embarqués dans des appareils électroniques ou industriels. Par ailleurs, la plate-forme J2ME est dotée d’une version allégée de la machine virtuelle Java, appelée KVM (Kilobyte Virtual Machine). Comme toutes machines virtuelles Java, le principal inconvénient de la KVM est sa lenteur d’exécution due au mécanisme d’interprétation. Par conséquent, il y a un besoin réel de disposer de techniques d’accélération qui permettent d’améliorer la performance de la KVM, étant données les contraintes matérielles des plates-formes Java mobiles (ressources mémoire restreintes, puissance de traitement limitée et faible batterie). C’est dans ce contexte particulier que nous abordons la problématique de l’accélération d’une machine virtuelle dédiée à une plate-forme Java mobile. Dans le cadre de cette thèse, nous proposons de concevoir et d’implanter des techniques d’accélération de la machine virtuelle Java pour la plate-forme J2ME/CLDC. Nous proposons également d’élaborer un cadre sémantique pour capturer de manière formelle le langage de bytecode de la plate-forme J2ME/CLDC. Les principaux résultats qui nous ont permis d’atteindre nos objectifs sont : 1. La conception et l’implantation d’un compilateur dynamique sélectif qui accélère la KVM d’un facteur de 400%. également, des techniques accélérant l’appel de méthodes ont été conçues et implantées. 2. élaboration d’un cadre formel dans un style dénotationnel par passage de continuations supportant les aspects intrinsèques du langage Java, à savoir : parallélisme, le non-déterminisme non borné, les structures d’échappement et les données. 3. Spécification du langage de bytecode de la plate-forme J2ME/CLDC dans le cadre sémantique élaboré. / Nowdays, we are witnessing a high expansion of the mobile and wireless devices market. In this context, the Java technology is emerging as a standard execution environment due to its appealing features such as mobility, portability and security. In particular, The J2ME/CLDC platform (Java 2 Micro Edition for Connected Limited Device Configuration) is dedicated to the Java application development for mobile devices and embedded systems. The J2ME/CLDC platform is equipped with a light Java virtual machine, called KVM (Kilobyte Virtual Machine). The main issue of this virtual machine is its performance due to the interpretation mechanism. Consequently, there is a real need to design and implement acceleration techniques for the KVM. Moreover, constraints of wireless and mobile devices in terms of footprint, computation and energy consumption should be considered in the design of these techniques. The main objectives of this thesis are the design and the implementation of acceleration techniques dedicated to the Java virtual machine for the J2ME/CLDC platform. We also intent to elaborate a semantic model to formally capture the bytecode language of the J2ME/CLDC platform.The main research results that achieved these objectives are : 1. The design and implementation of a dynamic selective compiler that speeds up the KVM by a rate of 400%. Other acceleration techniques has been designed and implemented to enhance the method call mechanism. 2. The elaboration of a denotational semantic model with continuations that supports the particular features of the Java language : concurrency, unbounded nondeterminism, escaping constructs and data. 3. The specification of the bytecode language of the J2ME/CLDC platform in the elaborated semantic model.
|
78 |
Représentation et évaluation de structures argumentativesMegzari, Idriss El 24 April 2018 (has links)
Dans des domaines comme l'aéronautique, l'énergie, le médical ou encore les technologies de l'information en général, les besoins de formuler des arguments de sûreté, sécurité, confidentialité, etc. sont de plus en plus présents. Or, la représentation et l'évaluation de ces arguments n'est pas une chose aisée et fait l'objet de nombreux débats depuis les dix dernières années particulièrement. Une structure argumentative est une modélisation d'un argument ayant comme but d'expliciter les liens (l'argument) reliant une affirmation modélisant une propriété d'un système aux preuves qui la supportent. Les deux principaux défis reliés aux structures argumentatives sont les langages de représentation et les méthodes permettant d'évaluer le niveau de confiance que l'on peut attribuer à l'argument modélisé. S'intéressant à ces deux problématiques, ce mémoire investigue d'une part des langages permettant de représenter des structures argumentatives, et d'une autre part la théorie de l'évidence de Dempster-Shafer. En particulier, ce mémoire présente les langages GSN et TCL, la correspondance entre ces deux langages ainsi que de possibles extensions permettant d'en augmenter l'expressivité. La théorie de l'évidence de Dempster-Shafer y est aussi présentée et y fait l'objet d'une extension qui évite de traiter les cas limites comme des cas particuliers. La théorie de l'évidence de Dempster-Shafer permet de construire un modèle de confiance global à partir d'évaluations locales. Ces dernières sont obtenues en évaluant chaque composante d'une structure argumentative de façon indépendante. Des approches de construction des structures argumentatives ainsi que d'évaluation de leurs éléments sont développées et appliquées dans le cas de deux exemples provenant de deux contextes différents : la conformité avec l'exemple de l'ISO-27001 et la sûreté avec l'exemple d'une pompe à perfusion.
|
79 |
Conception et expérimentation d'une activité employant l'environnement logo au niveau préscolaireLafontaine, Gilberte 25 April 2018 (has links)
Québec Université Laval, Bibliothèque 2015
|
80 |
Alternative Java Security Policy ModelSamson, Frédéric 11 April 2018 (has links)
Récemment, les systèmes distribués sont devenus une catégorie fondamentale de systèmes informatiques. Par conséquent, leur sécurité est devenue essentielle. La recherche décrite dans ce document vise à apporter un éclaircissement sur leurs vulnérabilités quant à la sécurité. Pour ce faire, on a examiné les propriétés de sécurité qu'un système distribué considéré sécuritaire doit supporter. En cherchant un système avec lequel travailler, on a étudié des failles de sécurité des systèmes distribués existants. On a étudié la sécurité de Java et des outils utilisés pour sécuriser ces systèmes. Suite à ces recherches, un nouveau modèle de sécurité Java imposant de nouvelles propriétés de sécurité a été développé. Ce document commence par les résultats de notre recherche sur les systèmes distribués, les outils de sécurité, et la sécurité de Java. Ensuite, on décrit les détails du nouveau système pour finalement faire la démonstration des améliorations qu'apporte ce système avec un exemple. / Recently, distributed systems have become a fundamental type of computer system. Because of this, their security is essential. The research described in this document aimed to find their weaknesses and to find the means to improve them with regards to their security. To do that, we examined the security properties that a system considered secure must support. While looking for a system with which we could work, we studied security problems in existing distributed systems. We studied the security of Java and some tools used to secure these systems. Following our research, we developed a new Java security model, which imposed new security properties. This document begins with the results of our research in distributed systems, security tools, and Java security. Next, we go into detail about our new system to finally demonstrate the security enhancements of our system using an example.
|
Page generated in 0.1415 seconds