81 |
Conception d'un langage dédié à l'analyse et la transformation de programmesBalland, Emilie 11 March 2009 (has links) (PDF)
Développer des analyseurs statiques nécessite une manipulation intensive de structures d'arbres et de graphes représentant le programme. La finalité de cette thèse est de proposer des constructions de langage dédiées au prototypage d'outils d'analyse et de transformation de programmes et inspirées de la réécriture de termes et de termes-graphes. L'originalité de notre approche est d'embarquer ces nouvelles constructions dans les langages généralistes sous la forme d'un langage dédié embarqué. Les travaux de cette thèse se fondent sur le langage Tom qui propose d'embarquer des constructions de réécriture dans des langages généralistes comme Java. La première contribution de cette thèse a été de formaliser les langages embarqués sous le concept de langage îlot. Ce formalisme a ainsi permis de certifier la compilation du langage Tom. Nos travaux sur l'analyse de Bytecode nous ont ensuite conduit à réfléchir à la représentation et la manipulation de graphes de flot de programmes et nous avons alors proposé des constructions de langage inspirées de la réécriture de termes-graphes. Une autre contribution de cette thèse est la conception d'un langage de stratégies adapté à l'expression de propriétés sur un programme. Associé au filtrage, ce langage permet d'exprimer de manière déclarative des analyses et des transformations sur des arbres ou des graphes. Enfin, l'ensemble des propositions de cette thèse a été intégré au langage Tom sous la forme de nouvelles constructions syntaxiques ou d'améliorations de constructions existantes et a ainsi pu être appliqué à l'analyse du langage Java.
|
82 |
Synthèse de gestionnaires mémoire pour applications Java temps-réel embarquéesSalagnac, Guillaume 10 April 2008 (has links) (PDF)
La problématique abordée dans ce travail est celle de la gestion mémoire automatique pour des programmes Java temps-réel embarqués. Dans des langages comme le C ou le C++, la mémoire est typiquement gérée explicitement par le programmeur, ce qui est la source de nombreuses erreurs d'exécution causées par des manipulations hasardeuses. Le coût de correction de telles erreurs est très important car ces erreurs sont rarement reproductibles et donc difficiles à appréhender. En Java la gestion mémoire est entièrement automatique, ce qui facilite considérablement le développement. Cependant, les techniques classiques de recyclage de la mémoire, typiquement basées sur l'utilisation d'un ramasse-miettes, sont souvent considérées comme inapplicables dans le contexte des applications temps-réel embarquées, car il est très difficile de prédire leur temps de réponse. Cette incompatibilité est un frein important à l'adoption de langages de haut niveau comme Java dans ce domaine.<br />Pour résoudre le problème de la prévisibilité du temps d'exécution des opérations mémoire, nous proposons une approche fondée sur l'utilisation d'un modèle mémoire en régions. Cette technique, en groupant physiquement les objets de durées de vie similaires dans des zones gérées d'un seul bloc, offre en effet un comportement temporel prévisible. Afin de décider du placement des objets dans les différentes régions, nous proposons un algorithme d'analyse statique qui calcule une approximation des relations de connexion entre les objets. Chaque structure de données est ainsi placée dans une région distincte. L'analyse renvoie également au programmeur des informations sur le comportement mémoire du programme, de façon à le guider vers un style de programmation propice à la gestion mémoire en régions, tout en pesant le moins possible sur le développement. <br />Nous avons implanté un gestionnaire mémoire automatique en régions dans la machine virtuelle JITS destinée aux systèmes embarqués à faibles ressources. Les résultats expérimentaux ont montré que notre approche permet dans la plupart des cas de recycler la mémoire de façon satisfaisante, tout en présentant un comportement temporel prévisible. Le cas échéant, l'analyse statique indique au développeur quels sont les points problématiques dans le code, afin de l'aider à améliorer son programme.
|
83 |
Architectures pour la stéréovision passive dense temps réel : application à la stéréo-endoscopieNaoulou, Abdelelah 05 September 2006 (has links) (PDF)
L'émergence d'une robotique médicale en chirurgie laparoscopique destinée à automatiser et améliorer la précision des interventions nécessite la mise en Suvre d'outils et capteurs miniaturisés intelligents dont la vision 3D temps réel est un des enjeux. Bien que les systèmes de vision 3D actuels représentent un intérêt certain pour des manipulations chirurgicales endoscopiques précises, ils ont l'inconvénient de donner une image 3D qualitative plutôt que quantitative, laquelle nécessite un appareillage spécifique rendant l'acte chirurgical inconfortable et empêche le couplage avec un calculateur dans le cadre d'une chirurgie assistée. Nous avons développé dans la cadre du projet interne « PICASO » (Plate-forme d'Intégration de CAméras multiSenOrielles) dont les enjeux scientifiques concernent le conditionnement de capteurs intégrés et le traitement et la fusion d'images multi spectrales, un dispositif de vision 3D compatible avec les temps d'exécution des actes chirurgicaux. Ce système est basé sur le principe de la stéréoscopie humaine et met en Suvre des algorithmes de stéréovision passive dense issus de la robotique mobile. Dans cette thèse nous présentons des architectures massivement parallèles, implémentées dans un circuit FPGA, et capables de fournir des images de disparité à la cadence de 130 trames/sec à partir d'images de résolution 640x480 pixels. L'algorithme utilisé est basé sur la corrélation Census avec une fenêtre de calcul de 7 x 7 pixels. Celui-ci a été choisi pour ses performances en regard de sa simplicité de mise en Suvre et la possibilité de paralléliser la plupart des calculs. L'objectif principal de cet algorithme est de rechercher, pour chaque point, la correspondance entre deux images d'entrées (droite et gauche) prises de deux angles de vue différents afin d'obtenir une "carte de disparités" à partir de laquelle il est possible de reconstruire la scène 3D. Pour mettre en Suvre cet algorithme et tenir les contraintes « temps réel » nous avons développé des architectures en « pipeline » (calcul des moyennes, transformation Census, recherche des points stéréo-correspondants, vérification droite-gauche, filtrage...). L'essentiel des différentes parties qui composent l'architecture est décrit en langage VHDL synthétisable. Enfin nous nous sommes intéressés à la consommation en termes de ressources FPGA (mémoires, macro-cellules) en fonction des performances souhaitées.
|
84 |
Conception ergonomique pour des environnements multi-instrumentés :<br />Le cas des postes de conduite automobileForzy, Jean-François 23 September 2002 (has links) (PDF)
Cette thèse se propose de situer dans le cadre du paradigme instrumental un ensemble d'études dans le domaine de la conception des artefacts embarqués pour l'automobile. L'objectif est de retrouver, dans la diversité apparente des systèmes embarqués (dits d' «aides à la conduite», de «confort», de «communication» ...) des invariants de conception susceptibles d'orienter en amont certains choix dimensionnants. <br /><br />Dans la perpective de répondre à cet objectif, le modèle instrumental propose une analyse des liens entre les trois pôles Sujet-Instrument-Objet de la situation. Sur cette base nous avons développé un modèle opératif qui met en miroir une face dite «psychologique» non directement observable, mais explicitable, et une face « comportementale » plus directement observable. L'acte instrumental se comprenant comme une articulation entre ces deux faces du même modèle.<br /><br />La première partie porte sur des artefacts de guidage. Plusieurs modalités sont comparées: Utilisation d'une carte papier, Copilotage humain, Guidage par différentes versions d'un système computationnel.<br />Les résultats indiquent que par rapport à l'usage de la carte papier, et contrairement aux hypothèses de départ, le guidage avec le système n'augmente pas les performances navigationelles du conducteur, mais diminue significativement le nombre de «situations accidentogènes» rencontrées .<br />Par ailleurs les résultats montrent aussi que dans les cas où il existe une incohérence, du point de vue du conducteur, entre les prescriptions transmises par le système et ce qu'il perçoit directement de l'environnement routier, des stratégies efficaces de régulation de l'activité sont mises en place.<br />L'application du cadre instrumental a permis d'interpréter ces résultats en termes de schèmes de gestion des compromis de l'action. Ce compromis s'est réalisé entre «prise de risque» et «performance».<br /><br />La deuxième partie élargit cette approche à l'analyse de cas d' artefacts diversifiés (commandes sur les ouvrants, sur les essuies vitres ...). Les situations analysées proviennent alors plus souvent d'entretiens relatifs à des situations d'usage d'équipements existant plutôt qu'à partir d'expérimentations ad hoc comme dans la première partie. <br />L'analyse de la réussite ou non de la conception se fait en terme de concordance entre les deux faces, psychologique et comportementale, du modèle : c'est à dire entre ce qui est attendu et ce qui est obtenu par le sujet au cours de l'activité instrumentée.<br /><br />Une recherche d'opérationnalisation a ensuite été réalisée en montrant d'une part comment l'analyse de certaines situations d'usage pouvait être généralisée pour servir à la conception d'autres artefacts qui par certains traits caractéristiques pouvaient s'apparenter à la situation étudiée, et d'autre part, par l'établissement d'une correspondance entre des critères de conception et le modèle de l'activité proposé.<br /><br />De cette recherche transparaissent deux éléments :<br />- L'analyse à partir du modèle instrumental permet bien d'identifier des invariants de conception, généralisables à une classe donnée d'artefacts.<br />- Pour cette recherche d'invariants, il peut exister une alternative à la mise en place d'expérimentations sur des prototypes ad hoc du système en cours de conception : l'analyse à partir d'entretiens sur des situations d'usage de systèmes existants.
|
85 |
Influence des fautes transitoires et des performances temps réel sur la sûreté des systèmes X-by-WireWilwert, Cédric 24 March 2005 (has links) (PDF)
L'introduction des systèmes embarqués dans l'automobile à commandes électriques (X-by-Wire) pose des problèmes nouveaux et spécifiques pour la tenue des exigences de sûreté de fonctionnement. En effet, ils sont dépourvus de la redondance mécanique (barre de direction, circuit hydraulique...) capable d'offrir un service minimum en cas de dysfonctionnement important de l'électronique. Ces systèmes largement distribués sont particulièrement sensibles aux perturbations d'ordre électromagnétique, et chaque faute transitoire peut éventuellement être la cause d'une défaillance catastrophique.<br />Dans ce contexte, le travail présenté ici est d'ordre méthodologique. En particulier, nous proposons une méthode de vérification des contraintes temps réel en mode nominal (mode non perturbé), et une méthode de prévision quantitative de fautes (mode perturbé) dont l'objectif est de mesurer l'influence des fautes transitoires liées à l'environnement et des performances temps réel du système sur la sûreté (probabilité d'occurrences de défaillances catastrophiques par zone perturbée) de ce même système. Nos travaux ont été appliqués sur les systèmes de direction Steer-by-Wire, mais les méthodes d'évaluation proposées sont génériques. Pour l'instant, seule des préconisations internes aux entreprises sont ciblées. Ainsi, une exigence dont la garantie devrait être prouvée est, par exemple : la probabilité de défaillance catastrophique doit être inférieure à 1.10-9 par heure de fonctionnement. Grâce à la méthode que nous avons développée, cette garantie sera alors complétée par l'évaluation de la fiabilité comportementale du système. Fournissant des résultats quantitatifs, cette technique permet de réaliser plusieurs études de sensitivité, comme, par exemple, l'influence de la durée du cycle de communication sur un protocole de communication de type TDMA (Time Division Multiple Access), l'influence de la diversification dans la redondance des sous-systèmes, ou encore l'influence d'un mécanisme de tolérance aux fautes proposé par TTP/C et FlexRay.
|
86 |
Une approche à base de composants logiciels pour l'observation de systèmes embarquésPrada Rojas, Carlos Hernan 24 June 2011 (has links) (PDF)
À l'heure actuelle, les dispositifs embarqués regroupent une grande variété d'applications, ayant des fonctionnalités complexes et demandant une puissance de calcul de plus en plus importante. Ils évoluent actuellement de systèmes multiprocesseur sur puce vers des architectures many-core et posent de nouveaux défis au développement de logiciel embarqué. En effet, Il a classiquement été guidé par les performances et donc par les besoins spécifiques des plates-formes. Or, cette approche s'avère trop couteuse avec les nouvelles architectures matérielles et leurs évolutions rapprochées. Actuellement, il n'y a pas un consensus sur les environnements à utiliser pour programmer les nouvelles architectures embarquées. Afin de permettre une programmation plus rapide du logiciel embarqué, la chaîne de développement a besoin d'outils pour la mise au point des applications. Cette mise au point s'appuie sur des techniques d'observation, qui consistent à recueillir des informations sur le comportement du système embarqué pendant l'exécution. Les techniques d'observation actuelles ne supportent qu'un nombre limité de processeurs et sont fortement dépendantes des caractéristiques matérielles. Dans cette thèse, nous proposons EMBera~: une approche à base de composants pour l'observation de systèmes multiprocesseurs sur puce. EMBera vise la généricité, la portabilité, l'observation d'un grand nombre d'éléments, ainsi que le contrôle de l'intrusion. La généricité est obtenue par l'encapsulation de fonctionnalités spécifiques et l'exportation d'interfaces génériques d'observation. La portabilité est possible grâce à des composants qui, d'une part, ciblent des traitements communs aux MPSoCs, et d'autre part, permettent d'être adaptés aux spécificités des plates-formes. Le passage à l'échelle est réussi en permettant une observation partielle d'un système en se concentrant uniquement sur les éléments d'intérêt~: les modules applicatifs, les composants matériels ou les différents niveaux de la pile logicielle. Le contrôle de l'intrusion est facilité par la possibilité de configurer le type et le niveau de détail des mécanismes de collecte de données. L'approche est validée par le biais de différentes études de cas qui utilisent plusieurs configurations matérielles et logicielles. Nous montrons que cette approche offre une vraie valeur ajoutée dans le support du développement de logiciels embarqués.
|
87 |
Domaines numériques abstraits faiblement relationnelsMiné, Antoine 06 December 2004 (has links) (PDF)
Le sujet de cette thèse est le développement de méthodes pour l'analyse automatique des programmes informatiques. Une des applications majeures est la conception d'outils pour découvrir les erreurs de programmations avant qu'elles ne se produisent, ce qui est crucial à l'heure où des tâches critiques mais complexes sont confiées à des ordinateurs. Nous nous plaçons dans le cadre de l'interprétation abstraite, qui est une théorie de l'approximation sûre des sémantiques de programmes, et nous nous intéressons en particulier aux domaines abstraits numériques spécialisés dans la découverte automatique des propriétés des variables numérique d'un programme.<br />Dans cette thèse, nous introduisons plusieurs nouveaux domaines numériques abstraits et en particulier le domaine des zones (permettant de découvrir des invariants de la forme X-Y≤c, des zones de congruence (X≡Y+c [b]) et des octogones (±X ±Y≤c). Ces domaines sont basés sur les concepts existants de graphe de potentiel, de matrice de différences bornées et sur l'algorithmique des plus courts chemins. Ils sont intermédiaires, en terme de précision et de coût, entre les domaines non relationnels (tel celui des intervalles), très peu précis, et les domaines relationnels classiques (tel celui des polyèdres), très coûteux. Nous les nommons " faiblement relationnels ". Nous présentons également des méthodes permettant d'appliquer les domaines relationnels à l'analyse de nombres à virgule flottante, jusqu'à présent uniquement réalisable par des domaines non relationnels donc peu précis. Enfin, nous présentons des méthodes génériques dites de " linéarisation " et de " propagation de constantes symboliques " permettant d'améliorer la précision de tout domaine numérique, pour un surcoût réduit.<br />Les méthodes introduites dans cette thèse ont été intégrées à Astrée, un analyseur spécialisé dans la vérification de logiciels embarqués critiques et se sont révélées indispensables pour prouver l'absence d'erreurs à l'exécution de logiciels de commande de vol électrique. Ces résultats expérimentaux viennent justifier l'intérêt de nos méthodes pour des cadre d'applications réelles.
|
88 |
Attaques en fautes globales et locales sur les cryptoprocesseurs AES : mise en œuvre et contremesures.Selmane, Nidhal 13 December 2010 (has links) (PDF)
Dans cette thèse, Nous présentons différents aspects d'attaques physiques sur les implémentations cryptographiques de l'algorithme de chiffrement AES, ainsi qu'une étude sur les contre-mesures possibles. La première méthode d'injection utilisée est basée sur la violation temps de setup. Nous avons démontré pour la première fois que cette méthode globale permet l'injection de fautes exploitables dans les circuits cryptographiques ASIC et FPGA . On a également réalisé une attaque locale sur un microprocesseur ATmega128 en utilisant un laser. Nous présentons aussi dans cette thèse, une nouvelle approche pour contré les attaque en fautes basé sur la résilience. La résilience n'impose aucune destruction des secrets dans le cas d'une attaque en faute. Dans une implémentation protégée par résilience, quand une faute est injecté avec succès mais n'a pas de conséquence dans le calcul, le circuit ne présente aucune réaction par contre si le circuit est protégé par un système de détection arrête automatiquement le calcul même si la faute n'a pas d'effet. Dans une implémentation résilience même si la faute est injectée lors du calcul l'attaquant ne peut pas exploiter le résultat a fin d'exécuter une attaque DFA. Plusieurs méthodes concrètes pour mettre en oeuvre la résilience pour les chiffrements symétriques sont proposées, parmi lesquelles un mode aléatoire de fonctionnement qui convient pour des cartes à puce a faible coût. Nous proposons d'utiliser les logiques DPL comme méthode de protection. Ces logiques protègent simultanément contre les attaques par observation et par perturbation, et sont moins coûteux que la détection basée sur les codes.
|
89 |
42, Une Approche à Composants pour le Prototypage Virtuel des Systèmes Embarqués HétérogènesBouhadiba, Tayeb 15 September 2010 (has links) (PDF)
Les travaux présentés dans cette thèse portent sur le prototypage virtuel des systèmes embarqués hétérogènes. La complexité des systèmes embarqués fait qu'il est difficile de trouver une solution optimale. Ainsi, les approches adoptées par les ingénieurs reposent sur la simulation qui requiert le prototypage virtuel. L'intérêt du prototypage virtuel est de fournir des modèles exécutables de systèmes embarqués afin de les étudier du point de vue fonctionnel et non-fonctionnel. Notre contribution consiste en la définition d'une nouvelle approche à composants pour le prototypage virtuel des systèmes embarqués, appelé 42. 42 n'est pas un nouveau langage pour le développement des systèmes embarqués, mais plutôt un outil pour la description et l'assemblage de composants pour les systèmes embarqués, au niveau système. Un modèle pour le prototypage virtuel des systèmes embarqués doit prendre en compte leur hétérogénéité. Des approches comme Ptolemy proposent un catalogue de MoCCs (Models of Computation and Communication) qui peuvent être organisés en hiérarchie afin de modéliser l'hétérogénéité. 42 s'inspire de Ptolemy dans l'organisation hiérarchique de composants et de MoCCs. Cependant, les MoCCs dans 42 ne sont pas fournis sous forme de catalogue, ils sont décrits par des programmes qui manipulent un petit ensemble de primitives de base pour activer les composants et gérer les communications entre eux. Une approche à composants comme 42 requiert un formalisme de spécification de composants. Nous étudierons les moyens proposés par 42 pour décrire les composants. Nous nous intéresseront particulièrement aux contrats de contrôle de 42. 42 est indépendant de tout langage ou formalisme. Il est conçu dans l'optique d'être utilisé conjointement avec les approches existantes. Nous donnerons une preuve de concept afin de montrer l'intérêt d'utiliser 42 et les contrats de contrôle associés aux composants, conjointement avec des approches existantes.
|
90 |
Conception d'architectures embarquées : des décodeurs LDPC aux systèmes sur puce reconfigurablesVerdier, François 05 December 2006 (has links) (PDF)
Les travaux de recherche dont la synthèse est présentée dans ce document portent sur deux aspects de la conception d'architectures numériques embarquées pour des applications de traitement de l'information. Le premier axe concerne l'étude et la conception de modèles architecturaux pour les décodeurs de canal utilisés dans les communications numériques. Les décodeurs étudiés sont basés sur les codes LDPC (Low Density Parity Check codes) qui, depuis quelques années, sont proposés comme codes correcteurs d'erreurs dans plusieurs normes de transmission. On s'intéresse en particulier à la norme DVB-S2 de radio-diffusion de programmes multimédia. Ces architectures de décodeurs mettent en oeuvre des algorithmes dont les réalisations matérielles reposent sur une adéquation fine entre le taux de parallélisme, l'ordonnancement des calculs et les quantités de ressources nécessaires. Une étude sur la réduction de complexité des algorithmes de décodage LDPC non binaires, préalable à la définition d'une architecture associée est également présentée. Le deuxième axe de recherche étend la problématique aux architectures très fortement intégrées, de type SoC (systèmes sur puces), et qui disposent de capacités de flexibilité, d'adaptabilité et de reconfiguration matérielle dynamique. La présence d'un système d'exploitation temps-réel embarqué devient alors nécessaire pour gérer de telles architectures et rend inadaptées les méthodes classiques de conception. Le deuxième axe des travaux porte sur de nouvelles méthodologies d'exploration et de conception d'architectures reconfigurable. Le cas de la modélisation des systèmes d'exploitation embarqués est abordé ainsi que le cas de la conception des applications et plates-formes pour la radio-logicielle.
|
Page generated in 0.0442 seconds