• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 81
  • 31
  • 13
  • 1
  • Tagged with
  • 132
  • 132
  • 65
  • 45
  • 41
  • 37
  • 30
  • 27
  • 22
  • 18
  • 16
  • 15
  • 14
  • 13
  • 13
  • 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.
41

Inférence de certificats pour la vérification statique des programmes Java

Menif, Emna January 2012 (has links)
La Sécurité des Systèmes d'Information est l'un des défis les plus urgents des différents organismes de la société actuelle. Le problème de sécurité a émergé du progrès technologique rapide qui pousse à l'utilisation des \emph{Systèmes d'Information}. L'un de ces progrès est l'utilisation de code mobile. En effet, pour protéger ses informations critiques d'une éventuelle menace d'un code mobile, un organisme doit chercher des solutions de plus en plus élaborées. Une des approches émergeantes pour aborder ce problème est la compilation certifiée. Il s'agit d'une approche statique, basée sur le langage et génère en plus du code objet, un certificat constitué des informations relatives aux aspects de sécurité d'un programme. En plus des avantages de l'analyse statique, cette approche fait coopérer le producteur du code et son consommateur. De plus, ce dernier n'a plus à faire confiance au producteur. Dans cette thèse nous avons appliqué cette approche au langage Java afin de vérifier statiquement la sécurité. En effet, Java couvre une gamme de périphériques, d'ordinateurs et de réseaux grâce à son évolutivité, son efficacité, sa portabilité et sa sécurité. Toutefois, les propriétés de sécurité de haut niveau sont vérifiées dynamiquement dans Java par le vérificateur du \emph{bytecode} et le gestionnaire de sécurité. Nous proposons alors de concevoir et d'implanter un compilateur certificateur pour Java (JACC) afin d'accroître la flexibilité, l'efficacité et la robustesse de l'architecture de sécurité de Java. Le certificat que génère JACC est vérifié statiquement par le vérificateur de l'architecture JACC. Il est constitué d'annotations qui essaient de reporter et abstraire au mieux le comportement du programme. Les principaux résultats qui nous ont permis d'atteindre ces objectifs sont: \begin{enumerate} \item la définition de la syntaxe et sémantique des annotations du certificat; \item la conception et l'implantation de JACC en partant de Jikes, un compilateur pour le langage Java développé par IBM. Nous avons également pu mener une étude expérimentale pour mesurer la performance de JACC ainsi que la taille des fichiers \emph{.class} générés et nous les avons comparés à Jikes; \item l'élaboration d'un cadre formel pour spécifier le module d'inférence. Cette spécifi\-cation décrit la sémantique opérationnelle de chaque étape d'inférence et ce pour l'ensemble des \emph{opcodes} ainsi qu'un système de types pour les annotations du certificat. \end{enumerate} / Information Systems Security is one of the most pressing challenges facing all kind of organizations today. The security problem has raised from rapid technological advances that are stimulating a greater use of \emph{Information Systems} in world-wide organizations. One of these advances is the use of mobile code. Keeping critical information safe from malicious mobile code is challenging. One way to address the security issue for mobile code is using certifying compilation. The certifying compilation is a language-based, static technique used to collect information (certificate) regarding the safety and security of a software. In addition to the advantages of the static analysis, this approach alleviates the burden on the consumer. The other advantage of this approach is to restrict the trust of the consumer to the verifier only. In this thesis we have applied this approach to Java to check safety and security statically. As we know, Java is present in a wide range of devices, computers, and networks due to it's versatility, efficiency, platform portability and security . Nevertheless, high-level security properties are verified by bytecode verifier and security manager at run time. The main objectives of this thesis are the design and the implementation of a Java certifying compiler (JACC) that helps to increase the flexibility, efficiency and robustness of the Java security architecture. Indeed, JACC certificate is verified statically by the JACC verifier to ensure high-level security properties. The certificate is made up of annotations that try to capture the behavior of a software and represent it in an abstract form. This behavior could be critical and aims to threaten the software user. The main research contributions that led to reach these objectives are: \begin{enumerate} \item the definition of the certificate syntax and semantic; \item the design and the implementation of JACC based on Jikes. We have also measured the generated \emph{.class} files sizes and JACC performance and compared them to Jikes; \item the elaboration of a formal framework in which we formally specify the certificate inference. This specification describes the operational semantic of each inference step as long as a type system for the certificate annotations. \end{enumerate}
42

Modélisation de programmes C en expressions régulières

Mahbouli, Hatem 17 April 2018 (has links)
L’analyse statique des programmes est une technique de vérification qui permet de statuer si un programme est conforme à une propriété donnée. Pour l’atteinte de cet objectif, il faudrait disposer d’une abstraction du programme à vérifier et d’une définition des propriétés. Dans la mesure où l’outil de vérification prend place dans un cadre algébrique, la définition des propriétés ainsi que la modélisation du programme sont représentées sous la forme d’expressions régulières. Ce mémoire traite en premier lieu de la traduction des programmes écrits en langage C vers une abstraction sous forme d’expressions régulières. La méthode de traduction proposée, ainsi que les différentes étapes de transformations y sont exposées. Les premiers chapitres du présent mémoire énoncent les connaissances élémentaires de la théorie des langages ainsi que de la compilation des programmes. Un bref aperçu des différentes méthodes de vérification des programmes est présenté comme une mise en contexte. Finalement, la dernière partie concerne la traduction des programmes ainsi que la description de l’outil de traduction qui a été réalisé.
43

Analyse détaillée du fonctionnement interne du schéma de surface CLASS

Tremblay, François. 20 April 2018 (has links)
Le fonctionnement du schéma de surface canadien CLASS a été analysé en détail, basé sur une démarche de rétroconception. L’impact des multiples variables d’états du modèle sur les termes des bilans énergétique et hydrique a été expliqué. La valeur des albédos et des transmissivités de la canopée augmente en fin de saison lorsque la canopée devient moins dense. Donc, le rayonnement au sol augmente alors que celui à la canopée diminue. La résistance de couche limite de la feuille ralentit les transferts de chaleur sensible et latente à la canopée durant le jour, mais n’a aucune influence la nuit. La résistance aérodynamique au transfert de chaleur est plus élevée le jour que la nuit. Elle influe sur les flux de chaleur sensible et latente à la canopée. La résistance de surface au transfert de chaleur est très élevée le jour et peu élevée la nuit. Elle influe sur les flux de chaleur sensible et latente au sol. La résistance stomatale est très grande la nuit. Elle freine le transfert de chaleur latente durant le jour et n’a aucune influence sur les flux de chaleur sensible. Finalement, on a observé de grandes fluctuations de température et de teneur en eau dans les deux premières couches de sol. Tandis que la troisième couche de sol a montré une réaction très lente aux précipitations et aux variations de température à la surface du sol. Les résultats sont supportés d’explications théoriques très détaillées dans la section théorie. / Canadian Land Surface Scheme
44

Développement de méthodes et outils d'analyse transcriptomique par réseaux de co-expression de gènes pour la détection de gènes candidats dans le vieillissement de différents tissus humains

Lemoine, Gwenaëlle 04 March 2022 (has links)
L'analyse par réseau de co-expression de gènes est un outil entré il y a 15 ans dans l'ensemble des outils disponibles pour l'analyse transcriptomique. En étudiant la variation de synchronisation de l'expression des gènes, cet outil permet de révéler de nouveaux gènes impliqués dans des maladies ou phénotypes dont l'expression seule n'est pas significativement différente. Il est également capable de détecter des groupes de gènes, ou modules, interagissant préférentiellement et sur lesquels il est possible d'effectuer une exploration étendue. Il est ainsi possible d'utiliser des méthodes avec injection de connaissance préalable comme l'enrichissement de gènes ou l'association phénotypique, ou des méthodes guidées par les données comme l'analyse topologique ou la co-expression différentielle. Pourtant, ce type d'analyse reste sous exploitée actuellement par rapport à son potentiel, et notamment dans certaines maladies ou phénotypes où l'altération est une désorganisation du système comme le vieillissement. Afin de faciliter à tout chercheur l'emploi de cette méthode, un progiciel R disponible sur Bioconductor et nommé GWENA a été développé. Organisé comme un pipeline d'analyse simplifié et allant de la construction du réseau jusqu'à l'aide à l'interprétation des modules entre différentes conditions, c'est également le seul pipeline actuel à intégrer la co-expression différentielle. Pour assister l'utilisateur, il comprend de nombreux avertissements sur l'intégrité des données rentrées et sur la plausibilité des résultats. Afin d'éviter de devoir recourir à d'autres logiciels, il contient également un système de visualisation des réseaux. Enfin, GWENA est un outil dont l'architecture modulaire lui permettra d'évoluer avec le temps. L'efficacité de GWENA a été démontrée dans une première étude du vieillissement du muscle squelettique humain où un sous ensemble de gènes a été priorisé pour l'étude de la sarcopénie. Il a également permis de préciser une topologie du réseau spécifique du vieillissement et observée auparavant : la perte de connectivité du réseau, ou déconnexion. En effet, parallèlement à la déconnexion, il a été constaté grâce à GWENA une reconnexion locale située au niveau des gènes pivots. Pour étudier cette topologie à large échelle, l'analyse a été répétée sur un ensemble élargi de tissus humains. Par un recoupement des modules différentiellement exprimés, des phénomènes communs du vieillissement entre tissus sont apparus ainsi que des phénomènes spécifiques à certains tissus. L'analyse topologique, notamment de la déconnexion, des gènes inclus dans ces recoupements pour deux exemples, un phénomène commun et un phénomène spécifique, a à son tour permis la priorisation de gènes encore mal étudiés ou inconnus dans ces phénomènes. En finalité, les travaux présentés au cours de cette thèse auront amené à la création d'un outil utile à la communauté de biologistes comme bio-informaticiens pour faciliter l'accès à une analyse à a haut potentiel dans l'analyse du vieillissement et toute autre condition, notamment celles axées sur la dérégulation de l'expression systémique. / Gene co-expression network analysis is a tool that entered the transcriptomics analysis toolbox 15 years ago. By studying the variation in the synchronization of gene expression, this tool can reveal new genes involved in diseases or phenotypes whose expression alone is not significantly different. It is also able to detect groups of genes, or modules, that interact preferentially and on which it is possible to carry out an extended exploration. It is therefore possible to use knowledge-driven methods such as gene enrichment or phenotypic association, or data-driven methods such as topological analysis or differential co-expression. Nevertheless, this type of analysis is currently under-exploited compared to its potential, especially in certain diseases or phenotypes where the alteration is a disorganization of the system such as aging. In order to facilitate the use of this method by any researcher, an R software package available on Bioconductor and named GWENA has been developed. Organized as a simplified analysis pipeline from the construction of the network to the interpretation of the modules between different conditions, it is also the only current pipeline to integrate the differential co-expression. To assist the user, it includes numerous warnings about the integrity of the data entered and the plausibility of the results. In order to avoid having to use other software, it also contains a network visualization system. Finally, GWENA is a tool whose modular architecture allows it to evolve overtime. The effectiveness of GWENA has been demonstrated in a first study of human skeletal muscle aging, where a subset of genes was prioritized for the study of sarcopenia. It also allowed to clarify a network topology specific to aging and previously observed: the loss of network connectivity, or disconnection. Indeed, in parallel to the disconnection, a local reconnection located at the level of hub genes was observed thanks to GWENA. To study this topology on a large scale, the analysis was repeated on an extended set of human tissues. By cross-referencing differentially expressed modules, common aging phenomena between tissues were identified as well as tissue-specific phenomena. Topological analysis, including disconnection, of the genes included in these overlaps for two examples, a common and a specific phenomenon, in turn allowed the prioritization of genes still poorly studied or unknown in these phenomena. Overall, the work presented in this thesis will have led to the creation of a useful tool for the community of biologists as bioinformaticians to facilitate access to a high-potential analysis in the analysis of aging and any other condition, especially those focused on the deregulation of systemic expression.
45

NeuroTorch : une librairie Python dédiée à l'apprentissage automatique dans le domaine des neurosciences

Gince, Jérémie 18 December 2023 (has links)
Titre de l'écran-titre (visionné le 29 novembre 2023) / L'apprentissage automatique a considérablement progressé dans le domaine de la recherche en neurosciences, mais son application pose des défis en raison des différences entre les principes biologiques du cerveau et les méthodes traditionnelles d'apprentissage automatique. Dans ce contexte, le projet présenté propose NeuroTorch, un pipeline convivial d'apprentissage automatique spécialement conçu pour les neuroscientifiques, afin de relever ces défis. Les objectifs clés de ce projet sont de fournir une librairie d'apprentissage profond adaptée aux neurosciences computationnelles, d'implémenter l'algorithme eligibility trace forward propagation (e-prop) pour sa plausibilité biologique, de comparer les réseaux de neurones continus et à impulsions en termes de résilience, et d'intégrer un pipeline d'apprentissage par renforcement. Le projet se divise en plusieurs parties. Tout d'abord, la théorie des dynamiques neuronales, des algorithmes d'optimisation et des fonctions de transformation d'espaces sera développée. Ensuite, l'attention sera portée sur la conception du pipeline NeuroTorch, incluant l'implémentation de l'algorithme e-prop. Les résultats de la prédiction de séries temporelles d'activité neuronale chez le poisson-zèbre seront présentés, ainsi que des observations sur la résilience à l'ablation des réseaux obtenus. Enfin, une section sera consacrée à l'exploration du pipeline d'apprentissage par renforcement de NeuroTorch et à la validation de son architecture dans l'environnement LunarLander de Gym. En résumé, les modèles à impulsions de NeuroTorch ont atteint des précisions de 96,37%, 85,58% et 74,16% respectivement sur les ensembles de validation MNIST, Fashion-MNIST et Heidelberg. De plus, les dynamiques leaky-integrate-and-fire with explicit synaptic current - low pass filter (SpyLIF-LPF) et Wilson-Cowan ont été entraînées avec succès à l'aide de l'algorithme e-prop sur des données neuronales expérimentales du ventral habenula du poisson-zèbre, obtenant respectivement des valeurs de pVar de 0,97 et 0,96. Les résultats concernant la résilience indiquent que l'application de la loi de Dale améliore la robustesse des modèles en termes d'ablation hiérarchique. Enfin, grâce au pipeline d'apprentissage par renforcement de NeuroTorch, différents types d'agents inspirés des neurosciences ont atteint le critère de réussite dans l'environnement LunarLander de Gym. Ces résultats soulignent la pertinence et l'efficacité de NeuroTorch pour les applications en neurosciences computationnelles. / Machine learning has made significant advancements in neuroscience research, but its application presents challenges due to the differences between the biological principles of the brain and traditional machine learning methods. In this context, the presented project proposes NeuroTorch, a comprehensive machine learning pipeline specifically designed for neuroscientists to address these challenges. The key objectives of this project are to provide a deep learning library tailored to computational neuroscience, implement the eligibility trace forward propagation (e-prop) algorithm for biological plausibility, compare continuous and spiking neural networks in terms of resilience, and integrate a reinforcement learning pipeline. The project is divided into several parts. Firstly, the theory of neural dynamics, optimization algorithms, and space transformation functions will be developed. Next focus will be on the design of the NeuroTorch pipeline, including the implementation of the e-prop algorithm. Results of predicting a time series of neuronal activity in zebrafish will be presented, along with observations on the resilience to network ablations obtained. Finally, a section will be dedicated to exploring the NeuroTorch reinforcement learning pipeline and validating its architecture in the LunarLander environment of Gym. In summary, NeuroTorch spiking models achieved accuracies of 96.37%, 85.58%, and 74.16% on the MNIST, Fashion-MNIST, and Heidelberg validation sets, respectively. Furthermore, the leaky-integrate-and-fire with explicit synaptic current - low pass filter (SpyLIF-LPF) and Wilson-Cowan dynamics were successfully trained using the e-prop algorithm on experimental neuronal data from the ventral habenula of zebrafish, achieving pVar values of 0.97 and 0.96, respectively. Results regarding resilience indicate that the application of the Dale law improves the robustness of models in terms of hierarchical ablation. Lastly, through the NeuroTorch reinforcement learning pipeline, different types of neuroscience-inspired agents successfully met the success criterion in the Gym's LunarLander environment. These results highlight the relevance and effectiveness of NeuroTorch for applications in computational neuroscience.
46

Construction et simulation graphiques de comportements le modèle des Icobjs /

Brunette, Christian Boussinot, Frédéric January 2004 (has links) (PDF)
Thèse de doctorat : Informatique : Nice : 2004. / Bibliogr. p. 155-159. Résumés en français et en anglais.
47

Forecasting quantiles of cryptocurrency returns using MCMC algorithms

Chaparro Sepulveda, Carlos Alberto 21 December 2021 (has links)
Ce travail résume les étapes et les technologies nécessaires pour construire une application web dynamique permettant de faire l'analyse de données financières en temps réel à l'aide des langages de programmation R et C++. R est utilisé pour la collecte et traitement des données entrantes ainsi que pour générer tout output. C++ est utilisé pour accélérer les simulations Monte-Carlo. L'output de ce travail consiste en l'application web elle-même et les fonctions permettant d'estimer les paramètres des modèles de régression quantile de la famille CAViaR. Le code pour reproduire ce travail est organisé de la façon suivante : Un paquetage R pour l'application shiny, disponible à l'adresse https://gitlab.com/cacsfre/simulr. Un paquetage R pour estimer les paramètres des modèles de la famille CAViaR, disponible à l'adresse https://gitlab.com/cacsfre/caviarma. Le code R pour générer le présent document avec bookdown, disponible à l'adresse https://gitlab.com/cacsfre/msc. La famille de modèles CAViaR a été utilisée pour obtenir une estimation du quantile q[indice α] au niveau α. Ces modèles s'adressent directement au quantile d'intérêt au lieu de le calculer indirectement comme dans d'autres cas, par exemple les modèles de type GARCH où l'on s'intéresse plutôt à la volatilité σ² . Les résultats obtenus ici sont comparables à ceux se trouvant dans la littérature tel qu'illustré dans les chapitres 3 et 4.
48

Intégration des évènements non périodiques dans les systèmes temps réel : application à la gestion des évènements dans la spécification temps réel pour Java

Masson, Damien 08 December 2008 (has links) (PDF)
Les systèmes temps réel sont des systèmes informatiques composés de tâches auxquelles sont associées des contraintes temporelles, appelées échéances. Dans notre étude, nous distinguons deux familles de tâches : les tâches temps réel dur et les tâches temps réel souple. Les premières possèdent une échéance stricte, qu'elles doivent impérativement respecter. Elles sont de nature périodique, ou sporadique, et l'étude analytique de leur comportement fait l'objet d'un état de l'art conséquent. Les secondes sont de nature apériodique. Aucune hypothèse sur leur modèle d'arrivéée ni sur leur nombre n'est possible. Aucune garantie ne saurait être donnée sur leur comportement dès lors que l'on ne peut écarter les situations de surcharge, où la demande de calcul peut dépasser les capacités du système. La problématique devient alors l'étude des solutions d'ordonnancement mixte de tâches périodiques et apériodiques qui minimisent les temps de réponse des tâches apériodiques tout en garantissant les échéances des tâches périodiques. De nombreuses solutions ont été proposées ces vingt dernières années. On distingue les solutions basées sur la réservation de ressources, les serveurs de tâches, des solutions exploitant les instants d'inactivité du système, comme les algorithmes de vol de temps creux. La spécification Java pour le temps réel (RTSJ) voit le jour dans les années 2000. Si cette norme répond à de nombreux problèmes liés à la gestion de la mémoire ou à l'ordonnancement des tâches périodiques, celui de l'ordonnancement mixte de tâches périodiques et apériodiques n'est pas abordé. Nous proposons dans cette thèse d'apporter les modifications nécessaires aux algorithmes principaux d'ordonnancement mixte, le Polling Server (PS), le Deferrable Server (DS) et le Dynamic Approximate Slack Stealer (DASS) en vue de leur implantation avec RTSJ. Ces algorithmes ne peuvent en effet être implantés directement tels qu'ils sont décrits, car ils sont trop liés à l'ordonnanceur du système. Nous proposons des extensions aux APIs RTSJ existantes pour faciliter l'implantation de ces mécanismes modifiés, et nous fournissons les interfaces utiles à l'ajout d'autres solutions algorithmiques. Nous proposons également des modifications sur les APIs existantes de RTSJ afin de répondre aux problèmes d'intégration et d'implantation d'algorithmes d'analyse de faisabilité. Nous proposons enfin un algorithme d'estimation des temps creux, le Minimal Approximate Slack Stealer (MASS), dont l'implantation au niveau utilisateur, permet son intégration dans RTSJ
49

Intégration des évènements non périodiques dans les systèmes temps réel : application à la gestion des évènements dans la spécification temps réel pour Java / Non periodic task integration in real-time systemes : application to the real-time specification for Java

Masson, Damien 08 December 2008 (has links)
Les systèmes temps réel sont des systèmes informatiques composés de tâches auxquelles sont associées des contraintes temporelles, appelées échéances. Dans notre étude, nous distinguons deux familles de tâches : les tâches temps réel dur et les tâches temps réel souple. Les premières possèdent une échéance stricte, qu'elles doivent impérativement respecter. Elles sont de nature périodique, ou sporadique, et l'étude analytique de leur comportement fait l’objet d’un état de l’art conséquent. Les secondes sont de nature apériodique. Aucune hypothèse sur leur modèle d’arrivéée ni sur leur nombre n’est possible. Aucune garantie ne saurait être donnée sur leur comportement dès lors que l’on ne peut écarter les situations de surcharge, où la demande de calcul peut dépasser les capacités du système. La problématique devient alors l'étude des solutions d’ordonnancement mixte de tâches périodiques et apériodiques qui minimisent les temps de réponse des tâches apériodiques tout en garantissant les échéances des tâches périodiques. De nombreuses solutions ont été proposées ces vingt dernières années. On distingue les solutions basées sur la réservation de ressources, les serveurs de tâches, des solutions exploitant les instants d'inactivité du système, comme les algorithmes de vol de temps creux. La spécification Java pour le temps réel (RTSJ) voit le jour dans les années 2000. Si cette norme répond à de nombreux problèmes liés à la gestion de la mémoire ou à l'ordonnancement des tâches périodiques, celui de l'ordonnancement mixte de tâches périodiques et apériodiques n'est pas abordé. Nous proposons dans cette thèse d’apporter les modifications nécessaires aux algorithmes principaux d’ordonnancement mixte, le Polling Server (PS), le Deferrable Server (DS) et le Dynamic Approximate Slack Stealer (DASS) en vue de leur implantation avec RTSJ. Ces algorithmes ne peuvent en effet être implantés directement tels qu'ils sont décrits, car ils sont trop liés à l'ordonnanceur du système. Nous proposons des extensions aux APIs RTSJ existantes pour faciliter l’implantation de ces mécanismes modifiés, et nous fournissons les interfaces utiles à l’ajout d'autres solutions algorithmiques. Nous proposons également des modifications sur les APIs existantes de RTSJ afin de répondre aux problèmes d'intégration et d'implantation d’algorithmes d’analyse de faisabilité. Nous proposons enfin un algorithme d’estimation des temps creux, le Minimal Approximate Slack Stealer (MASS), dont l’implantation au niveau utilisateur, permet son intégration dans RTSJ / In computer science, real-time systems are composed of tasks. To each task is associated a timing constraint called a deadline. We distinguish two kinds of tasks : the hard ones and the soft ones. Hard tasks have hard deadlines, which must be respected to ensure the correctness of the system. So hard tasks are in essence periodic, or sporadic. Their behavior has been extensively studied. Soft tasks have soft deadlines that the system has to try to respect. When a task arrival model is unknown, i.e. when task is aperiodic, burst arrivals situation can happens, which makes the tasks timing behavior unpredictable. So aperiodic tasks can only have soft deadlines. The studied problem in this thesis is then the joint scheduling of hard periodic tasks with soft aperiodic events, where the response times of soft tasks have to be as low as possible while the guarantee to meet their deadlines has to be given to hard tasks. A lot of solutions have been proposed these past two decades. We distinguish solutions based on resource reservation, like task servers, and solutions which take benefit from system idle times, like the slack stealer techniques. The first version of the Real-Time Specification for Java (RTSJ) was proposed in early 2000. This specification addresses a lot of problems related to the memory management or the scheduling of periodic tasks. But if it proposes a model to write aperiodic events, advanced mechanisms for the integration of such events to handle the above-mentioned problem are not discussed. We propose modifications to the main advanced mixed scheduling mechanisms like the Polling Server (PS), the Deferrable Server (DS) or the Dynamic Approximate Slack Stealer (DASS) in order to make their implementation possible with the RTSJ. Indeed, these algorithms are deeply connected to the system scheduler, and have to be adapted in order to be implemented in a user-land level.We propose extensions to current RTSJ APIs in order to integrate the modified algorithms and to allow the addition of other algorithms in a unified framework. We also propose some modifications to the RTSJ APIs in order to solve some problems we encountered during the integration of modified algorithms, especially in the field of the feasibility analysis algorithms integration in the specification. Finally, we propose the Minimal Approximate Slack Stealer algorithm (MASS), which is independent of the scheduler implementation and has a lower overhead than DASS
50

Expression et composition des motifs de conception avec les aspects

Denier, Simon 09 July 2007 (has links) (PDF)
Les patrons de conception répertorient les bonnes pratiques de la programmation par ob- jets. Les solutions des patrons, appelées motifs, apparaissent avec une densité croissante dans les bibliothèques et cadriciels. Les effets de cette densité sur la modularité, l'adaptation et la réutilisation des programmes sont mal connus. Or la dispersion et le mélange du code lié à l'im- plémentation des motifs rendent difficile l'étude de ces effets. La programmation par aspects est une technique nouvelle dédiée au traitement de ces deux symptômes. En modularisant les motifs dans des aspects, nous pouvons analyser de manière plus fine les problèmes d'implémentation et de composition des motifs liés à leur densité. Cette thèse aborde les problèmes de la densité, de l'implémentation et de la composition des motifs avec AspectJ, une extension de Java pour les aspects. À partir du cas concret du cadri- ciel JHotDraw, nous montrons qu'une forte densité est un facteur de risque sur la modularité et l'adaptation d'un programme objet. Nous présentons la transformation des motifs à l'aide des aspects et nous décrivons les idiomes d'AspectJ supportant leur modularisation. Nous exami- nons la modularité et la réutilisation des compositions de motifs définies avec les aspects. Nous proposons la résolution des interactions entre motifs à l'aide du langage de coupe des aspects. Enfin nous développons une méthode de programmation avec AspectJ basée sur l'usage conjoint des classes et des aspects. Ces travaux nous permettent de conclure sur l'intérêt des aspects comme moyen d'étude et de traitement de la densité des motifs. Ils ouvrent également des pistes pour l'amélioration des langages d'aspects.

Page generated in 0.1525 seconds