Spelling suggestions: "subject:"génie logiciel"" "subject:"dénie logiciel""
141 |
OMAGE : Outils et Méthode pour la spécification des connaissances au sein d'un Atelier de Génie EducatifMarquesuzaà, Christophe 12 February 1998 (has links) (PDF)
Les nouvelles technologies de l'information sont entrées au cœur de notre société et provoquent de profonds changements dans notre vie quotidienne, notamment dans le monde du travail. Or le métier d'enseignant n'a pas vraiment évolué, même si les méthodes éducatives changent, car toute tentative d'introduction de l'informatique se heurte à la méfiance des enseignants qui ont peur de perdre leur liberté de choix éducatifs. De plus, les avancées technologiques n'ont d'intérêt que si elles sont intégrées dans un processus global de conception d'applications éducatives. Nos recherches ont donc pour objectif principal de faciliter la tâche de l'enseignant dans la préparation de ses séquences pédagogiques. Nous définissons ainsi le support méthodologique d'un environnement informatique d'aide à la spécification des connaissances éducatives. Nous organisons alors nos travaux autour de trois axes. Tout d'abord, nous proposons la mise en place d'enseignements axés sur la notion de situations-problèmes au sens IUFM car elle met les apprenants en situation de projet tout en répondant aux objectifs pédagogiques fixés. Nous exposons ensuite la nécessité pour les enseignants de se reposer sur un processus de spécification formelle que nous définissons et pour lequel nous proposons un cycle de vie basé sur le prototypage rapide. Nous proposons aussi une ontologie de l'enseignement s'appuyant sur une architecture orientée-objet. Nous montrons enfin que l'utilisation de méta-outils CASE permet de développer un environnement ayant une assistance adaptée et suffisamment flexible pour permettre différentes façons de spécifier et différents points de vue et-ou formalismes de représentation sur une spécification. Le prototype développé couple le méta-outil CASE HARDY, qui fournit une interface diagrammatique supportant les étapes du processus de développement, et le générateur de système expert CLIPS qui assure la cohésion globale en terme de guidage et de flexibilité.
|
142 |
Contribution à la détection de changements dans des séquences IRM 3D multimodalesBosc, Marcel 17 December 2003 (has links) (PDF)
L'imagerie médicale a profondément influencé à la fois la recherche médicale et la pratique clinique. Elle est aujourd'hui incontournable aussi bien pour l'établissement du diagnostic que pour la mise en place et le suivi d'un traitement thérapeutique. Elle fournit un volume croissant de données tridimensionnelles provenant de modalités d'acquisition différentes (IRM, scanner-X, médecine nucléaire, échographie). Ce volume croissant de données rend délicate et laborieuse la tâche d'interprétation par un expert. Le traitement d'images est un outil permettant une automatisation des tâches et va assister l'expert aussi bien dans l'analyse qualitative que quantitative des images. Dans ce mémoire, nous proposons des techniques automatiques de détection de changements dans des séquences d'images IRM cérébrales. Nous nous intéressons plus particulièrement aux changements d'intensité localisés survenant lors d'évolutions pathologiques telles que les évolutions de lésions en sclérose en plaques (SEP). Les applications médicales des techniques développées ici sont nombreuses: aide au diagnostic, suivi à long terme de l'évolution d'une pathologie, évaluation de l'efficacité thérapeutique d'un médicament, aide à la prise de décision en vue d'une intervention chirurgicale. Ce travail de recherche a été mené en étroite collaboration entre le LSIIT (ULP/UMR CNRS 7005) et l'Institut de Physique Biologique (ULP-Hôpitaux Universitaires / UMR CNRS 7004), au sein de l'équipe-projet multi-laboratoires "Imagerie et Robotique Médicale et Chirurgicale" (EPML IRMC). Il a été soutenu par la Ligue Française Contre la Sclérose En Plaques (LFSEP), la société SERONO et la région Alsace. La détection automatique et fiable de changements interimages rencontre d'importantes difficultés rendant impossible la comparaison directe d'images acquises successivement. La position des patients dans l'imageur n'est jamais identique et les paramètres d'acquisition peuvent varier sensiblement entre chaque examen, entraînant, entre autres, des modifications de contraste. La définition même de ce qui doit être détecté est souvent subjective. Dans le cadre spécifique de la détection de changements d'intensité de lésions, des déformations globales de structures anatomiques, telle que l'atrophie cérébrale, peuvent également perturber la comparaison directe des images. Le travail présenté dans cette thèse est centré sur le développement d'outils de traitement d'images permettant de décider quels changements sont statistiquement significatifs ou non. Lorsque l'expert détermine visuellement des changements, il utilise des connaissances a priori, implicites, de haut niveau qui lui permettent de corriger certaines erreurs d'acquisition. Ainsi, il peut compenser visuellement des erreurs de repositionnement et utiliser ses connaissances anatomiques propres pour identifier et rejeter certains artefacts. Nous développons donc ici, des techniques automatiques d'identification et de correction des principaux artefacts (positionnement, déformations, variations d'intensité ...) et nous proposons une technique originale de segmentation du cortex, apportant les informations anatomiques permettant l'amélioration de la détection automatique. Les techniques de traitement d'images proposées ici ont été développées pour l'IRM cérébrale. Cependant, elles sont suffisamment générales pour s'appliquer à d'autres domaines. Notre système de détection de changements a été évalué dans le cadre de l'étude de l'évolution de lésions de sclérose en plaques. Ses performances ont été déterminées sur une grande base d'images multimodales (plus de 200 images FLAIR, RARE et GE3D) de taille $128^3$. L'évaluation a été faite à l'aide d'un protocole impliquant deux experts (neurologues) et utilisant une analyse statistique de type COR Le système automatique a été jugé plus performant que l'expert humain. Dans la première partie de ce manuscrit, nous présentons tout d'abord les éléments d'imagerie IRM et les aspects médicaux nécessaires à la compréhension de l'ensemble de ce travail. Nous décrivons les modalités d'acquisition IRM et les artefacts associés. Cette étape est importante pour la compréhension des imperfections pouvant apparaître et leur correction. Nous présentons ensuite des éléments sur l'anatomie cérébrale et nous décrivons l'apparence prise les différentes structures cérébrales dans les trois modalités IRM considérées. Puis, nous terminons par les pathologies cérébrales, leurs évolutions, et leur aspect en IRM. Les objectifs et les limites de notre approche sont situés par rapport à ce contexte applicatif. Dans une deuxième partie nous décrivons une approche nouvelle de segmentation sous-voxel. Pour décider de la pertinence d'un changement observé, l'expert utilise des connaissances anatomiques. Dans notre système de détection automatique, ces connaissances sont obtenues en segmentant l'image du cerveau. La méthode de segmentation proposée est basée sur l'évolution d'une image de labels de très haute résolution. L'évolution se fait sous l'influence de contraintes statistiques multiples, exprimées dans un cadre de minimisation d'énergie. L'évolution de l'image de labels n'ayant lieu qu'à la frontière entre régions, notre approche est comparable à un système d'évolution de surfaces. Afin de s'adapter aux spécificités de chaque région cérébrale, les contraintes sont paramétrées à l'aide d'un atlas. Celui-ci, composé d'une image de référence et d'images de paramètres, est plaqué sur l'image à segmenter à l'aide d'un recalage déformable multi-échelles. Les contraintes sont classées en deux catégories: les contraintes image (attache aux données) et le modèle a priori. Plusieurs contraintes image, opérant simultanément à des échelles différentes, sont employées. Elles utilisent une description rigoureuse du processus d'acquisition, permettant ainsi d'atteindre à la fois une précision sous-voxel et une convergence globale (à grande échelle). Le modèle a priori est également composé de plusieurs contraintes : une contrainte de distribution relative qui donne la probabilité d'observer un label à une distance donnée d'un autre label et une contrainte d'épaisseur. Notre approche permet d'obtenir une segmentation de haute résolution à partir d'images IRM pouvant être de résolution inférieure. La performance du système de segmentation a été évaluée sur des images simulées et testée sur des images réelles. La troisième partie présente l'ensemble de la chaîne de traitements conduisant à la détection de changements, ainsi que le protocole d'évaluation et les résultats. La chaîne de traitements est constituée d'une première étape de repositionnement et de correction des déformations. Toutes les images de la base sont alignées sur des références soigneusement choisies, d'abord à l'aide d'une méthode de recalage affine itératif robuste, puis à l'aide de recalage déformable. Au cours de la deuxième étape, les deux images à comparer subissent une correction d'intensité non-linéaire ainsi qu'une élimination d'erreurs résiduelles. La méthode de correction d'intensité que nous proposons permet d'établir une fonction de transfert d'intensité non-linéaire en optimisant un critère simple s'appuyant sur des informations de l'histogramme conjoint. Finalement, au cours de la dernière étape, une approche de détection statistique multimodale permet de décider quels changements sont significatifs. Les connaissances anatomiques fournies par la segmentation sont utilisées pour éliminer certaines détections aberrantes. L'ensemble de ces traitements est appliqué de manière entièrement automatique sur une base de plus de 200 images, de modalités différentes, démontrant ainsi la fiabilité des traitements. La validation du système a été menée à l'aide d'un protocole d'évaluation comprenant deux experts (neurologues). Le premier expert ainsi que le système automatique ont procédé indépendamment à un même travail de détection (l'expert opérant manuellement). Le second expert fait ensuite office d'arbitre pour comparer les résultats des deux procédés. L'analyse COR permet une vue synthétique de la performance du détecteur en donnant la probabilité de détection en fonction du nombre de fausses alarmes. Dans un cadre applicatif, les modifications détectées par le système automatique sont ordonnées par vraisemblance décroissante et présentées au neurologue dans un système de visualisation interactif. Ceci permet au médecin de conserver la décision finale, tout en parcourant efficacement et très rapidement les modifications détectées. En annexe nous proposons quelques réflexions sur l'importance du développement logiciel et de sa diffusion dans la recherche en traitement d'images. Nous présentons ensuite ImLib3D, une librairie C++ dédiée à la recherche en traitement d'images volumiques, que nous avons développée dans le cadre de cette recherche. ImLib3D propose à la fois un système de visualisation séparé et une librairie soigneusement conçue à l'aide d'une méthodologie orientée objet et utilisant des concepts modernes s'inspirant de la librairie standard du C++. L'objectif, dans la conception, a été de créer une librairie simple à utiliser par le chercheur, considéré comme le public cible. ImLib3D est distribuée librement (Open Source) et est placée dans un cadre de développement distribué coopératif (sourceforge.net). En conclusion, nous avons élaboré un système complet et opérationnel de détection de changements dans lequel nous avons systématiquement analysé et traité les principaux artefacts gênant la détection.
|
143 |
Fédération de composants : une architecture logicielle pour la composition par coordinationVillalobos, Jorge 15 July 2003 (has links) (PDF)
Nous étudions le problème de la composition par coordination, dans lequel un groupe de composants de domaines distincts doivent travailler ensemble pour réaliser une application. Sachant que toute connexion directe entre deux composants de deux domaines différents engendre des problèmes d'évolution, nous avons exploré la coordination comme une façon de composer. Nous avons caractérisé le problème de la coordination entre domaines, et montré les modèles de conteneurs comme une solution rudimentaire à ce problème. Nous avons étudié le monde de la coordination, et nous avons introduit la "fédération", comme une architecture logicielle qui permet de structurer les applications comme un ensemble de composants qui coopèrent pour atteindre un but commun. Nous avons défini l'univers commun (les relations entre les composants de domaines distincts) et les contrats de coordination (la matérialisation des règles de jeu), comme les structures de base d'une fédération
|
144 |
OMAGE : Outils et Méthode pour la spécification des connaissances au sein d'un Atelier de Génie EducatifMARQUESUZAÀ, Christophe 12 February 1998 (has links) (PDF)
Les nouvelles technologies de l'information sont entrées au cœur de notre société et provoquent de profonds changements dans notre vie quotidienne, notamment dans le monde du travail. Or le métier d'enseignant n'a pas vraiment évolué, même si les méthodes éducatives changent, car toute tentative d'introduction de l'informatique se heurte à la méfiance des enseignants qui ont peur de perdre leur liberté de choix éducatifs. De plus, les avancées technologiques n'ont d'intérêt que si elles sont intégrées dans un processus global de conception d'applications éducatives. Nos recherches ont donc pour objectif principal de faciliter la tâche de l'enseignant dans la préparation de ses séquences pédagogiques. Nous définissons ainsi le support méthodologique d'un environnement informatique d'aide à la spécification des connaissances éducatives. Nous organisons alors nos travaux autour de trois axes. Tout d'abord, nous proposons la mise en place d'enseignements axés sur la notion de situations-problèmes au sens IUFM car elle met les apprenants en situation de projet tout en répondant aux objectifs pédagogiques fixés. Nous exposons ensuite la nécessité pour les enseignants de se reposer sur un processus de spécification formelle que nous définissons et pour lequel nous proposons un cycle de vie basé sur le prototypage rapide. Nous proposons aussi une ontologie de l'enseignement s'appuyant sur une architecture orientée-objet. Nous montrons enfin que l'utilisation de méta-outils CASE permet de développer un environnement ayant une assistance adaptée et suffisamment flexible pour permettre différentes façons de spécifier et différents points de vue et-ou formalismes de représentation sur une spécification. Le prototype développé couple le méta-outil CASE HARDY, qui fournit une interface diagrammatique supportant les étapes du processus de développement, et le générateur de système expert CLIPS qui assure la cohésion globale en terme de guidage et de flexibilité.
|
145 |
Composition de modèles et de métamodèles : Séparation des correspondances et des interprétations pour unifier les approches de composition existantesClavreul, Mickaël 07 December 2011 (has links) (PDF)
L'Ingénierie Dirigée par les Modèles (IDM) est basée sur le principe d'abstraction et de séparation des préoccupations pour gérer la complexité du développement de logiciels. Les ingénieurs s'appuient sur des modèles dédiées à la résolution d'un problème particulier. Dans le cadre de l'IDM, la composition de modèles est un domaine de recherche très actif qui vise à automatiser les tâches de recomposition des modèles. La quasi-inexistence de consensus pour comparer les techniques existantes entraîne une explosion de l'effort nécessaire pour produire de nouveaux outils spécifiques à partir de techniques existantes. La contribution principale de cette thèse est de proposer une définition originale de la composition de modèles comme étant une paire correspondance-interprétation. A partir de cette définition, nous proposons un cadre théorique qui (1) unifie les représentations des techniques de composition existantes et qui (2) automatise le développement d'outils de composition de modèles. La contribution principale s'appuie sur deux sous-contributions supplémentaires : - Nous proposons des catégories pour classer les techniques de correspondance et les interprétations existantes. - Nous proposons un langage de modélisation spécifique pour la définition de correspondances génériques entre modèles et la définition d'interprétations. Un prototype logiciel a été développé et utilisé dans le cadre du projet MOPCOM-I du pôle de compétitivité Images & Réseaux de la région Bretagne. La validation de la contribution a été démontrée sur un cas d'étude proposé par Technicolor pour l'intégration de librairies existantes dédiées à la gestion d'équipements numériques de diffusion vidéo.
|
146 |
Hiérarchie de contraintes : quelques approches de résolutionBouzoubaa, Mouhssine 21 October 1996 (has links) (PDF)
L'objectif de ce travail est de proposer quelques approches pour la résolution de hiérarchies de contraintes fonctionnelles. Dans un premier temps, le rôle et les qualités d'une hiérarchie de contraintes sont définis. Une hiérarchie de contraintes permet de résoudre des problèmes sur-contraints en répartissant les contraintes dans une hiérarchie (de niveaux) suivant leur importance. Dans un deuxième temps, un nouveau résolveur de maintien de solutions pour les hiérarchies de contraintes fonctionnelles a été conçu afin d'obtenir des solutions de meilleure qualité. Ce résolveur est basé sur l'utilisation d'un algorithme du type "meilleur d'abord" et prend en compte différents modes de combinaison des erreurs par niveau et utilise une agrégation globale de type lexicographique sur les valeurs de ces combinaisons. Les modes de combinaison globale intégrés dans ce résolveur sont : le nombre de contraintes non satisfaites, une combinaison où les poids représentent des priorités pour considérer des contraintes de remplacement et enfin la somme des poids des contraintes non satisfaites. Dans un troisième temps, nous proposons une procédure utilisant le résolveur précédent. Cette dernière est plus prometteuse qu'un algorithme du type séparation et évaluation. Elle peut être incorporée dans les langages de Programmation Logique par Hiérarchie de Contraintes afin de réaliser la comparaison inter-hiérarchies et donc de pouvoir éliminer les hiérarchies telles que leurs résolutions produiraient des solutions non désirables. Enfin, nous avons modélisé un résolveur pour la résolution de hiérarchies de contraintes où Ses modes de combinaison peuvent varier selon les niveaux. Ce dernier prend en compte des contraintes possédant des méthodes recalculant plusieurs variables à la fois et établit un plan de coopération entre des résolveurs spécifiques. Ces résolveurs spécifiques doivent être conçus selon les modes de combinaison utilisés.
|
147 |
Contributions à l'Amélioration du Débogage des Services Noyau dans un Système d'Exploitation MonolithiqueBissyandé, Tegawendé F. 12 March 2013 (has links) (PDF)
Alors que la recherche sur la qualité du code des systèmes a connu un formidable engouement, les systèmes d'exploitation sont encore aux prises avec des problèmes de fiabilité notamment dûs aux bogues de programmation au niveau des services noyaux tels que les pilotes de périphériques et l'implémentation des systèmes de fichiers. Des études ont en effet montré que que chaque version du noyau Linux contient entre 600 et 700 fautes, et que la propension des pilotes de périphériques à contenir des erreurs est jusqu'à sept fois plus élevée que toute autre partie du noyau. Ces chiffres suggèrent que le code des services noyau n'est pas suffisamment testé et que de nombreux défauts passent inaperçus ou sont difficiles à réparer par des programmeurs non-experts, ces derniers formant pourtant la majorité des développeurs de services. Cette thèse propose une nouvelle approche pour le débogage et le test des services noyau. Notre approche est focalisée sur l'interaction entre les services noyau et le noyau central en abordant la question des "trous de sûreté" dans le code de définition des fonctions de l'API du noyau. Dans le contexte du noyau Linux, nous avons mis en place une approche automatique, dénommée Diagnosys, qui repose sur l'analyse statique du code du noyau afin d'identifier, classer et exposer les différents trous de sûreté de l'API qui pourraient donner lieu à des fautes d'exécution lorsque les fonctions sont utilisées dans du code de service écrit par des développeurs ayant une connaissance limitée des subtilités du noyau. Pour illustrer notre approche, nous avons implémenté Diagnosys pour la version 2.6.32 du noyau Linux. Nous avons montré ses avantages à soutenir les développeurs dans leurs activités de tests et de débogage.
|
148 |
Analyse des principes du génie logiciel au niveau du développement agileBagane, Houda 03 1900 (has links) (PDF)
Dans le cadre du développement de logiciel, deux courants de pensée se font concurrence depuis quelques années : le développement de logiciels s'appuyant sur une modélisation plus détaillée et le développement de logiciels basé sur des méthodes agiles qui mettent l'accent sur la production de code opérationnel plutôt que sur la documentation. Chaque courant s'appuie sur ses propres principes. Diverses recherches ont été menées sur les fondements du génie logiciel plus « classique », de façon à en définir les principes. Parmi ces travaux figure la thèse de Normand Séguin, notre codirecteur. En revanche, aucune recherche n'a tenté d'étudier les fondements du développement agile de logiciel. Au début des années 2000, plusieurs grands noms du développement logiciel se sont réunis, parmi eux Cunningham, Beek, Schwaber, Sutherland et Fowler. Ces derniers ont tenté d'extraire, de leurs approches respectives, quatre valeurs et douze principes communs à tous dans le but de produire un « Manifeste agile ». Le développement agile de logiciel peut se faire à l'aide d'un ensemble de méthodes agiles. Bien que chaque méthode adhère aux valeurs et principes du manifeste, chacune met de l'avant des valeurs, des principes et des pratiques complémentaires. Ce mémoire présente les résultats d'une étude de 32 énoncés présentés comme étant des « principes agiles » répertoriés dans la littérature. La liste des principes étudiés est formée à partir des douze principes du manifeste agile, cinq principes de l'eXtreme programming (XP), six de Scrum et neuf de Dynamic System Development Method (DSDM). Notre étude est fondée sur une méthodologie analytique reposant sur une liste de critères pour vérifier si un « principe agile » correspond bien à un principe de génie logiciel. Notre analyse a permis d'identifier 19 principes qui répondent aux critères. Tous les principes retenus sont des propositions prescriptives guidant l'action dans le processus de développement de logiciel.
______________________________________________________________________________
MOTS-CLÉS DE L’AUTEUR : génie logiciel, développement agile, manifeste agile, méthodes agiles, principe, SWEBOK, eXtreme Programming, Scrum, DSDM.
|
149 |
Ingénierie dirigée par les modèles pour le provisioning d'images de machines virtuelles pour l'informatique en nuageLe Nhan, Tam 10 December 2013 (has links) (PDF)
Le contexte et la problématique De nos jours, le cloud computing est omniprésent dans la recherche et aussi dans l'industrie. Il est considéré comme une nouvelle génération de l'informatique où les ressources informatiques virtuelles à l'échelle dynamique sont fournies comme des services via l'internet. Les utilisateurs peuvent accéder aux systèmes de cloud utilisant différentes interfaces sur leurs différents dis- positifs. Ils ont seulement besoin de payer ce qu'ils utilisent, respectant le l'accord de service (Service-Layer Agreement) établi entre eux et les fournisseurs de services de cloud. Une des caractéristiques principales du cloud computing est la virtualisation grâce à laquelle toutes les ressources deviennent transparentes aux utilisateurs. Les utilisateurs n'ont plus besoin de contrôler et de maintenir les infrastructures informatiques. La virtualisation dans le cloud computing combine des images de machines virtuelles (VMIs) et des machines physiques où ces images seront déployées. Typiquement, le déploiement d'une telle VMI comprend le démarrage de l'image, l'installation et la configuration des packages définis pas la VMI. Dans les approches traditionnelles, les VMIs sont crées par les experts techniques des fournisseurs de services cloud. Il s'agit des VMIs pré-packagés qui viennent avec des composants pré-installés et pré-configurés. Pour répondre à une requête d'un client, le fournisseur sélectionne une VMI appropriée pour cloner et déployer sur un nœud de cloud. Si une telle VMI n'existe pas, une nouvelle VMI va être créée pour cette requête. Cette VMI pourrait être générée à partir de la VMI existante la plus proche ou être entièrement neuve. Le cycle de vie de l'approvisionnement d'une VMI dans l'approche traditionnelle est décrite dans la Figure 1. Une VMI standard contient normalement plusieurs packages parmi lesquels certains qui ne seront jamais utilisés. Cela vient du fait que la VMI est créée au moment de conception pour le but d'être clonée plus tard. Cette approche a des inconvénients tels que la demande de ressources importantes pour stocker des VMIs ou pour les déployer. De plus, elle requiert le démarrage de plusieurs composants, y compris ceux non utilisés. Particulièrement, à partir du point de vue de gestion de services, il est difficile de gérer la complexité des interdépendances entre les différents composants afin de maintenir les VMIs déployées et de les faire évoluer. Pour résoudre les problèmes énumérés ci-dessus, les fournisseurs de services de cloud pourraient automatiser le processus d'approvisionnement et permettre aux utilisateurs de choisir des VMIs d'une manière flexible en gardant les profites des fournisseur en terme de temps, de ressources, et de coût. Dans cette optique, les fournisseurs devraient considérer quelques préoccupations: (1) Quels packages et dépendances seront déployés? (2) Comment optimiser une configuration en terme de coût, de temps, et de consommation de ressources? (3) Comment trouver la VMI la plus ressemblante et comment l'adapter pour obtenir une nouvelle VMI? (4) Comment éviter les erreurs qui viennent souvent des opérations manuelles? (5) Comment gérer l'évolution de la VMI déployée et l'adapter aux besoins de reconfigurer et de passer automatiquement à l'échelle? A cause de ces exigences, la construction d'un systèmes de gestion de plateformes cloud (PaaS-Platform as a Sevice) est difficile, particulièrement dans le processus d'approvisionnement de VMIs. Cette difficulté requiert donc une approche appropriée pour gérer les VMIs dans les systèmes de cloud computing. Cette méthode fournirait des solutions pour la reconfiguration et le passage automatique à l'échelle. Les défis et les problèmes clés A partir de la problématique, nous avons identifié sept défis pour le développement d'un processus d'approvisionnements dans cloud computing. * C1: Modélisation de la variabilité des options de configuration des VMIs afin de gérer les interdépendances entre les packages logiciels Les différents composants logiciels pourraient requérir des packages spécifiques ou des bibliothèques du système d'exploitation pour une configuration correcte. Ces dépendances doivent être arrangées, sélectionnées, et résolues manuellement pour chaque copie de la VMI standard. D'autre part, les VMIs sont créées pour répondre aux exigences d'utilisateurs qui pourraient partager des sous-besoins en commun. La modélisation de la similitude et de la variabilité des VMIs au regard de ces exigences est donc nécessaire. * C2: Réduction des données transférées via les réseaux pendant le processus d'approvisionnement Afin d'être prêt pour répondre aux requêtes de clients, plusieurs packages sont installés sur la machine virtuelle standard , y compris les packages qui ne seront pas utilisé. Ces packages devront être limités afin de minimaliser la taille des VMIs. * C3: Optimisation de la consommation de ressources pendant l'exécution Dans l'approche traditionnelle, les activités de création et de mise à jour des VMIs requièrent des opérations manuelles qui prennent du temps. D'autre part, tous les packages dans les VMIs, y compris ceux qui ne sont pas utilisés, sont démarrés et occupent donc des ressources. Ces consommations de ressources devraient être optimisées. * C4: Mise à disposition d'un outil interactif facilitant les choix de VMIs des utilisateurs Les fournisseurs de services cloud voudraient normalement donner la flexibilité aux utilisateurs clients dans leurs choix de VMIs. Cependant, les utilisateurs n'ont pas de con- naissances techniques approfondies. Pour cette raison, des outils facilitant les choix sont nécessaires. * C5: Automatisation du déploiement des VMIs Plusieurs opérations du processus d'approvisionnement sont très complexes. L'automatisation de ces opérations peut réduire le temps de déploiement et les erreurs. * C6: Support de la reconfiguration de VMIs pendant leurs exécutions Un des caractéristiques importantes de cloud computing est de fournir des services à la demande. Puisque les demandes évoluent pendant l'exécution des VMIs, les systèmes de cloud devraient aussi s'adapter à ces évolutions des demandes. * C7: Gestion de la topologie de déploiement de VMIs Le déploiement de VMIs ne doit pas seulement tenir en compte multiple VMIs avec la même configuration, mais aussi le cas de multiple VMIs ayant différentes configurations. De plus, le déploiement de VMIs pourrait être réalisé sur différentes plateformes de cloud quand le fournisseur de service accepte une infrastructure d'un autre fournisseur Afin d'adresser ces défis, nous considérons trois problèmes clés pour le déploiement du processus d'approvisionnement de VMIs: 1. Besoin d'un niveau d'abstraction pour la gestion de configurations de VMIs: Une approche appropriée devrait fournir un haut niveau d'abstraction pour la modélisation et la gestion des configurations des VMIs avec leurs packages et les dépendances entre ces packages. Cette abstraction permet aux ingénieurs experts des fournisseurs de services de cloud à spécifier la famille de produits de configurations de VMIs. Elle facilite aussi l'analyse et la modélisation de la similitude et de la variabilité des configurations de VMIs, ainsi que la création des VMIs valides et cohérentes. 2. Besoin d'un niveau d'abstraction pour le processus de déploiement de VMIs: Une ap- proche appropriée pour l'approvisionnement de VMIs devrait fournir une abstraction du processus de déploiement. 3. Besoin d'un processus de déploiement et de reconfiguration automatique: Une approche appropriée devrait fournir une abstraction du processus de déploiement et de reconfigura- tion automatique. Cette abstraction facilite la spécification, l'analyse, et la modélisation la modularité du processus. De plus, l'approche devrait supporter l'automatisation afin de réduire les tâches manuelles qui sont couteuses en terme de performance et contiennent potentiellement des erreurs.
|
150 |
Le Débogage à Distance et la Réflexion dans les Dispositifs à Ressources LimitéesPapoulias, Nikolaos 19 December 2013 (has links) (PDF)
La construction de logiciels pour des appareils qui ne peuvent pas accueillir localement des outils de développement peut être difficile. Ces appareils soit ont une puissance de calcul trop limitée pour exécuter un IDE (par exemple, smartphones), ou manquent d' interfaces d'entrée / sortie appropriées (écran, clavier , souris) pour la programmation (par exemple, les robots mobiles) ou sont tout simplement inaccessibles pour des développements locaux (par exemple cloud - serveurs). Dans ces situations, les développeurs ont besoin d'une infrastructure appropriée pour développer et déboguer des applications distantes. Des solutions de débogage à distance sont parfois délicates à utiliser en raison de leur nature distribuée. Les études empiriques nous montrent que, en moyenne 10,5 minutes par heure de codage (plus de cinq semaines de travail de 40 heures par an) sont passées pour le re-déploiement d'applications pour corriger les bugs ou améliorer leur fonctionnalité [ZeroTurnAround 2011]. En plus, les solutions courantes manquent des aménagements qui seraient autrement disponibles dans un contexte local, car c'est difficile de les reproduire à distance (par exemple débogage objet-centré [Ressia 2012b]). Cet état influe sur la quantité d' expérimentation au cours d'une session de débogage à distance - par rapport à un contexte local. Dans cette thèse, afin de surmonter ces problèmes, nous identifions d'abord quatre propriétés désirables qu'une solution idéale pour le débogage à distance doit présenter : l'interactivité, l'instrumentation, la distribution et la sécurité. L'interactivité est la capacité d'une solution de débogage à distance de mise à jour incrémentale de toutes les parties d'une application sans perdre le contexte de d'exécution (sans arrêter l'application). L'instrumentation est l'aptitude d'une solution de modifier la sémantique d'un processus en cours en vue d'aider le débogage. La distribution est la capacité d'une solution de débogage à adapter son cadre alors que le débogage d'une cible à distance. Enfin la sécurité fait référence à la disponibilité de conditions préalables pour l'authentification et la restriction d'accès. Compte tenu de ces propriétés, nous proposons Mercury, un modèle de débogage à distance et une architecture pour des langues réflexifs à objets. Mercury ouvre (1) l'interactivité grâce à un méta-niveau à distance miroir basé sur un lien de causalité avec sa cible, (2) l'instrumentation à travers une intercession réflective basée sur la réification de l'environnement d'exécution sous-jacent, (3) la distribution grâce à un middleware adaptable et (4) la sécurité par la décomposition et l'authentification de l'accès aux aspects réflexifs. Nous validons notre proposition à travers un prototype dans le langage de programmation Pharo à l'aide d'un cadre expérimental diversifié de multiples dispositifs contraints. Nous illustrons des techniques de débogage à distance supportées par les propriétés de Mercury, tels que le débogage agile distant et l'instrumentation objet à distance et montrons comment ils peuvent résoudre dans la pratique, les problèmes que nous avons identifiés.
|
Page generated in 0.0597 seconds