Spelling suggestions: "subject:"langage dde programmation"" "subject:"langage dee programmation""
41 |
Analyse détaillée du fonctionnement interne du schéma de surface CLASSLarouche 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
|
42 |
Memory-Constrained Security EnforcementTalhi, Chamseddine 12 April 2018 (has links)
Avec l'extension des cellulaires, des réseaux sans fil et des périphériques mobiles, Java est devenu incontestablement l'environnement d'exécution le plus populaire. Cela est dû à ses aspects de sécurité, portabilité, mobilité et réseaux. Dans ce contexte, la plateforme de choix est Java ME-CLDC. Aussi, vu le nombre grandissant d'applications Java destinées aux périphériques mobiles, la sécurité est devenue un enjeu crucial à considérer d'une manière primordiale. Sécuriser ce type d'applications devient plus qu'impératif, notamment lorsque celles-ci manipulent des données confidentielles telles que les informations relatives aux transactions électroniques. Plus encore, les périph ériques supportant Java se retrouvent souvent interconnectées, ce qui signifie que les applications peuvent ainsi créer des connexions réseaux et faire circuler des données critiques sur les canaux de communications. Cependant, les efforts considérables déployés afin de sécuriser Java ME-CLDC se heurtent à des contraintes de limitations strictes de l'espace mémoire disponible, au sein des périphériques en question. Dans cette optique, cette thèse étudie le problème du maintien de la sécurité sous contraintes mémoire, et cela en analysant la sécurité de la plateforme Java ME-CLDC. Plus précisément, les objectifs majeurs de notre sujet de recherche sont (1) l'évaluation et l'amélioration de la sécurité de Java ME-CLDC et (2) la modélisation du monitoring d'exécution (EM) en y introduisant des contraintes mémoire. à vrai dire, EM constitue une classe importante et omniprésente parmi tous les mécanismes de sécurité utilisés dans les plateformes Java. Les principaux résultats auxquels a abouti notre investigation sont les suivants : - Une analyse de la sécurité de Java ME-CLDC. Les deux contributions principales qu'a engendré cette analyse sont l'analyse de vulnérabilité et l'analyse des risques de cette plateforme. L'analyse de vulnérabilité a révélé la présence de certaines faiblesses dans la plateforme, elle a montré également la manière permettant d'améliorer son modèle de sécurité. Quant à l'analyse des risques, elle a fourni une estimation de la gravité des risques associés aux vulnérabilités décelées. - Une modélisation du monitoring d'exécution sous contraintes mémoire. Cette modélisation couvre aussi bien les moniteurs conventionnels que des moniteurs plus puissants. Les contributions principales qui découlent de notre modélisation sont les suivantes: Premièrement, nous avons défini une nouvelle classe d'automates, dite Bounded History Automata (BHA) ou automates à historique borné, classe d'automate qui permet de spécifier les mécanismes EM opérant sous contraintes mémoire. Deuxièmement, nous avons identifié une nouvelle taxonomie orientée mémoire des propriétés assurées par EM. Troisièmement, nous avons étudié les propriétés localement testables qui peuvent être assurées par des EMs opérant sous contraintes mémoire. Cela est fait en deux étapes: on commence par identi- fier les propriétés assurées par EMs qui sont de nature locale, ensuite on vérifie si ces dernières peuvent être spécifiées par des BHAs. / With the proliferation of mobile, wireless and internet-enabled devices (e.g., PDAs, cell phones, pagers, etc.), Java is emerging as a standard execution environment due to its security, portability, mobility and network support features. The platform of choice in this setting is Java ME-CLDC. With the large number of applications available for Javaenabled network-connected devices, security is of paramount importance. Applications can handle user-sensitive data such as phonebook data or bank account information. Moreover, Java-enabled devices support networking, which means that applications can also create network connections and send or receive data. However, the considerable efforts of securing Java ME-CLDC are constrained by strict memory limitations of the target devices. This thesis aims at investigating memory-constrained security by analyzing the security of Java ME-CLDC and characterizing enforceable security policies. More precisely, the main objectives of our research are (1) evaluating and improving the security of Java ME-CLDC and (2) characterizing memory-constrained execution monitoring; an important class of security mechanisms. The main results of our research are the following: - A security analysis of Java ME-CLDC. The two main contributions of this analysis are a vulnerability analysis and a risk analysis of the platform. The vulnerability analysis revealed the presence of vulnerabilities in the platform and showed how to improve the underlying security model. The risk analysis provided a seriousness estimation of the risks associated with the uncovered vulnerabilities. - A characterization of memory-constrained execution monitoring. This characterization covers conventional monitors as well as more powerful monitors. The contribution of this characterization is mainly threefold. First, we deffined a new automata class, called Bounded History Automata (BHA), to specify memoryconstrained EM enforcement. Second, we identiffied a new memory-directed taxonomy of EM-enforceable properties. Third, we investigated the enforcement of local properties using memory-constrained EM. This was performed by identifying BHA-enforceable local properties and explaining how to check whether an EM-enforceable policy is local or not.
|
43 |
Inférence de certificats pour la vérification statique des programmes JavaMenif, Emna 18 April 2018 (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}
|
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 humainsLemoine, Gwenaëlle 30 September 2023 (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 neurosciencesGince, Jérémie 25 March 2024 (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 |
Modélisation de programmes C en expressions régulièresMahbouli, 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é.
|
47 |
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.
|
48 |
Forecasting quantiles of cryptocurrency returns using MCMC algorithmsChaparro Sepulveda, Carlos Alberto 10 February 2024 (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.
|
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 JavaMasson, 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
|
50 |
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 JavaMasson, 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
|
Page generated in 0.1995 seconds