Spelling suggestions: "subject:"génie logiciel"" "subject:"dénie logiciel""
181 |
Taming Complexity of Large Software Systems: Contracting, Self-Adaptation and Feature ModelingCollet, Philippe 06 December 2011 (has links) (PDF)
Nos travaux s'inscrivent dans le domaine du génie logiciel pour les systèmes informatiques à large échelle. Notre objectif est de fournir des techniques et des outils pour aider les architectes logiciels à maîtriser la complexité toujours grandissante de ces systèmes. Principalement fondées sur des approches par ingénierie des modèles, nos contributions s'organisent autour de trois axes. Le premier axe concerne le développement de systèmes à la fois fiables et flexibles, et ce à base de composants hiérarchiques équipés de capacités de reconfiguration dynamique. Par l'utilisation de nouvelles formes de contrats logiciels, les systèmes et frameworks que nous proposons prennent en compte differents formalismes de spécification et maintiennent les contrats à jour pendant l'exécution. Une seconde partie de nos travaux s'intéresse à fournir des capacités auto-adaptatives à ces systèmes contractuels, à travers des mécanismes de négociation de contrats et des sous-systèmes de monitoring eux-mêmes auto-adaptatifs. Un troisième axe concerne les lignes de produits logiciels dans lesquelles les features models sont largement utilisés pour modéliser la variabilité. Nos contributions consistent en un ensemble d'opérateurs de composition bien définis et implémentés efficacement pour les feature models, ainsi qu'un langage dédié permettant leur gestion à large échelle.
|
182 |
Programmation des grands systèmes distribués: quelques mécanismes, abstractions, et outilsTaïani, François 17 November 2011 (has links) (PDF)
À l'interface entre informatique distribuée et en génie logiciel, nous présentons trois contributions liées aux problématiques de réutilisation du logiciel dans trois cas représentatifs de systèmes distribués grande échelle: les réseaux logiques pair-à-pair, les protocoles épidémiques, et les intergiciels de grille. Les travaux que nous présentons portent sur trois problématiques différentes mais néanmoins liées de ces systèmes: la tolérance aux pannes modulaire (dans les réseaux pair-à-pair), la programmabilité des systèmes à composants (dans les protocoles épidémiques), et l'analyse interactive de performances (dans les intergiciels de grille). Le message qui se dégage de nos travaux est double. Nos contributions démontrent tout d'abord en termes concrets l'intérêt d'abstractions logicielles réutilisables pour les systèmes distribués grande échelle. Nos travaux illustrent par ailleurs la tension inhérente entre réutilisation et complexité logicielle dans les plates-formes distribuées modernes. Notre travail sur les protocoles épidémiques montre par exemple comment une approche de développement par composants peut être combinée à un langage métier dédié pour une plus grande programmabilité. De même notre analyse d'un intergiciel de grille (Globus) illustre clairement les difficultés introduites par la réutilisation logicielle dans les plates-formes distribuées d'aujourd'hui, et comment ces difficultés peuvent être abordées dans le cas du diagnostic en combinant des principes de rétro-conception architecturale avec une analyse dynamique de performances.
|
183 |
Une approche basée sur les modèles pour le développement d'applications de simulation numérique haute-performancePalyart, Marc 18 December 2012 (has links) (PDF)
Le développement et la maintenance d'applications de simulation numérique haute-performance sont des activités complexes. Cette complexité découle notamment du couplage fort existant entre logiciel et matériel ainsi que du manque d'accessibilité des solutions de programmation actuelles et du mélange des préoccupations qu'elles induisent. Dans cette thèse nous proposons une approche pour le développement d'applications de simulation numérique haute-performance qui repose sur l'ingénierie des modèles. Afin à la fois de réduire les couts et les délais de portage sur de nouvelles architectures matérielles mais également de concentrer les efforts sur des interventions à plus haute valeur ajoutée, cette approche nommée MDE4HPC, définit un langage de modélisation dédié. Ce dernier permet aux numériciens de décrire la résolution de leurs modèles théoriques dans un langage qui d'une part leur est familier et d'autre part est indépendant d'une quelconque architecture matérielle. Les différentes préoccupations logicielles sont séparées grâce à l'utilisation de plusieurs modèles et de plusieurs points de vue sur ces modèles. En fonction des plateformes d'exécution disponibles, ces modèles abstraits sont alors traduits en implémentations exécutables grâce à des transformations de modèles mutualisables entre les divers projets de développement. Afin de valider notre approche nous avons développé un prototype nommé ArchiMDE. Grâce à cet outil nous avons développé plusieurs applications de simulation numérique pour valider les choix de conception réalisés pour le langage de modélisation.
|
184 |
Conceiving and Implementing a language-oriented approach for the design of automated learning scenariosMoura, César 20 June 2007 (has links) (PDF)
Cette thèse a pour sujet la conception de scénarios pédagogiques destinés à l'e-formation. Afin de faciliter les échanges de matériaux décrivant des stratégies pédagogiques, la communauté s'est récemment mobilisée pour proposer un langage standard suffisamment générique pour permettre la représentation de n'importe quel scénario, indépendant même du paradigme éducationnel sous-jacent. Appelé génériquement Educational Modeling Language (EML), ce type de langage engendre une nouvelle façon de concevoir des EIAH, en s'éloignant du traditionnel Instructional System Design, une fois que, au lieu de proposer une application finie, les EML proposent un modèle conceptuel standard, une notation pour l'exprimer et des éditeurs et frameworks, laissant aux concepteurs finaux la tâche de créer leurs propres « applications ». Les EMLs permettent alors la création et exécution d'instances de scénarios, dans une approche plus ouverte et flexible, augmentant, ainsi, les possibilités d'adaptation des applications résultantes aux besoins des usagers.<br />Cette flexibilité reste pourtant limitée et, après quelques années de recherche, les EMLs commencent à montrer ses faiblesses. En fait, le langage choisi pour devenir le standard du domaine, le IMS-LD, s'est montré générique, certes, mais peu expressive, ne permettant pas une représentation fidèle des divers scénarios existants. C'est à dire, c'est aux usagers de s'adapter à la syntaxe et sémantique de cet standard.<br />Cette thèse part d'un constat quant aux difficultés du processus de conception lui-même, et aux risques de coupure qu'il peut y avoir entre pédagogues et développeurs de logiciels. Pour améliorer la capacité des équipes pédagogiques à pouvoir spécifier, et même implémenter, des scénarios pédagogiques, nous proposons une approche où c'est l'EML qui doit s'adapter aux besoins de l'usager. L'usager a la possibilité de créer son propre langage (ou ses propres langages), s'il en a besoin. En plus, un même scénario peut être décrit en même temps par des différents EMLs (ou modèles) respectant des différents perspectives - et même paradigmes - de chaque stake holder. <br />Cette approche, appelée multi-EML, est possible grâce aux avancées récentes du génie logiciel, telle l'Architecture Dirigée par les Modèles – l'implémentation la plus connue d'un nouvel paradigme de programmation surnommé Languages Oriented Programming (LOP), qui inclut encore d'autres implémentations. <br />Notre proposition réside dans la conception d'un environnement informatique « auteur », qui repose sur les principes des Languages Oriented Programming, en utilisant la plateforme ouverte ECLIPSE et, plus particulièrement son implémentation du LOP, l'Eclipse Modeling Framework (EMF). Ainsi, les concepteurs auront un outil qui leur permettra de créer des spécifications formelles décrivant les scénarios envisagés et d'en générer automatiquement des applications correspondantes, dans un processus qui démarre avec les descriptions informelles des experts du domaine.<br />Reconnaissant que les experts d'éducation - ceux qui mieux comprennent le domaine - ne sont pas nécessairement des informaticiens, l'environnement proposé, appelé MDEduc, fournit aussi un éditeur permettant de décrire un scénario dans une notation informelle, à savoir le pattern pédagogique, à partir de laquelle les modèles formels peuvent être dérivés. En plus, nous proposons de garder côte à côte et en coïncidence ces descriptions en langage informelles, et les descriptions plus formelles et normatives et d'offrir la possibilité d'effectuer des allers-retours à toutes les phases du cycle de vie du dispositif pédagogique.
|
185 |
Model-Driven Software Engineering for Virtual Machine Images Provisioning in Cloud ComputingLe Nhan, Tam 10 December 2013 (has links) (PDF)
La couche Infrastructure- as-a-Service (IaaS) de Cloud Computing offre un service de déploiement des images de machines virtuelles (VMIs) à la demande. Ce service fournit une plate-forme flexible pour les utilisateurs de cloud computing pour développer , déployer et tester leurs applications. Le déploiement d'une VMI implique généralement le démarrage de l'image, l'installation et la configuration des paquets de logiciels. Dans l'approche traditionnelle, lorsqu'un utilisateur de cloud demande une nouvelle plate-forme, le fournisseur de cloud sélectionne une image de modèle approprié pour cloner et déployer sur les nœuds de cloud. L'image de modèle contient des paquets de logiciel pré-installés. Si elle ne correspond pas aux exigences, alors elle sera personnalisée ou la nouvelle image sera créé à partir de zéro pour s'adapter à la demande. Dans le cadre de la gestion des services de cloud, l'approche traditionnelle face aux questions difficiles de la manipulation de la complexité de l'interdépendance entre les paquets de logiciel, mise à l'échelle et le maintien de l' image déployée à l'exécution. Les fournisseurs de cloud souhaitent automatiser ce processus pour améliorer la performance de processus d'approvisionnement des VMIs, et de donner aux utilisateurs de cloud plus de flexibilité pour la sélection ou la création des images appropriées, tout en maximisant les avantages pour les fournisseurs en termes de temps, de ressources et de coût opérationnel. Cette thèse propose une approche pour gérer l'interdépendance des paquets de logiciels, pour modéliser et automatiser le processus de déploiement VMIs, et pour soutenir la reconfiguration VMIS à l'exécution, appelée l'approche dirigée par les modèle (Model-Driven approach). Nous nous adressons particulièrement aux défis suivants: (1) la modélisation de la variabilité des configurations d'image de machine virtuelle , (2) la réduction la quantité de transfert de données à travers le réseau , (3) l'optimisation de la consommation d'énergie des machines virtuelles ; (4) la facilité à utiliser pour les utilisateurs de cloud; (5) l'automatisation du déploiement des VMIs; (6) le support de la mise à l'échelle et la reconfiguration de VMIS à l'exécution ; (7) la manipulation de la topologie de déploiement complexe des VMIs . Dans notre approche, nous utilisons des techniques d'ingénierie dirigée par les modèles pour modéliser les représentations d'abstraction des configurations de VMI, le déploiement et les processus de reconfiguration d'image de machine virtuelle. Nous considérons que les VMIS comme une gamme de produits et utiliser les modèles de caractère pour représenter les configurations de VMIs. Nous définissons également le déploiement , les processus de reconfiguration et leurs facteurs (par exemple: les images de machines virtuelles, les paquets de logiciel, la plate-forme, la topologie de déploiement, etc.) comme les modèles. D'autre part, l'approche dirigée par les modèles s'appuie sur les abstractions de haut niveau de la configuration de VMIs et le déploiement de VMIs pour rendre la gestion d'images virtuelles dans le processus d'approvisionnement pour être plus flexible et plus facile que les approches traditionnelles.
|
186 |
Conception, mise en oeuvre et évaluation d'un routeur embarqué pour l'avionique de nouvelle générationVaret, Antoine 01 October 2013 (has links) (PDF)
Le contexte aéronautique a depuis plusieurs années mis en évidence le besoin croissant de technologies de sécurité permettant d'éviter des utilisations malveillantes des matériels ou services installés à bord des avions. La plupart des approches de sécurisation 'avion' se concentre sur des méthodes et techniques permettant de sécuriser les échanges au sein de l'avion. Elles sont cependant inadaptées à la sécurisation dans les cas d'interconnexion des réseaux avioniques avec le reste des réseaux de communication (réseau Internet par exemple). Le problème abordé dans ce travail de thèse vise donc à proposer une architecture de sécurité et de sûreté pour l'ensemble des communications aéronautiques et permettant une interconnexion sécurisée entre le monde 'avion' et le monde extérieur, en tenant compte de l'ensemble des critères de sécurité qui caractérisent les divers environnements traversés et considère dès le départ les divers principes de standardisation associés afin de garantir la pérennité scientifique et industrielle. La solution architecturale proposée dans ce travail de thèse repose principalement sur un composant central de routage, de filtrage et de sécurisation des flux de données aéronautiques. Le travail de conception et de développement de ce composant appelé Routeur Sécurisé de Nouvelle Génération (routeur SNG) a permis une validation expérimentale sur un système reproduisant un système embarqué.
|
187 |
Supporting Integration Activities in Object-Oriented ApplicationsUquillas-Gomez, Verónica 04 October 2012 (has links) (PDF)
Modern software is built by teams of developers that work in a collaborative environment. The goal of this kind of development is that multiple developers can work in parallel. They can alter a set of shared artifacts and inspect and integrate the source code changes of other developers. For example, bug fixes, enhancements, new features or adaptations due to changing environment might be integrated into the system release. At a technical level, a collaborative development process is supported by version control systems. Since these version control systems allow developers to work in their own branch, merging and integration have become an integral part of the development process. These systems use automatic and advanced merging techniques to help developers to merge their modifications in the development repositories. However, these techniques do not guarantee to have a functional system. While the use of branching in the development process offers numerous advantages, the activity of merging and integrating changes is hampered by the lack of comprehensive support to assist developers in these activities. For example, the integration of changes can have an unexpected impact on the design or behavior of the system, leading to the introduction of subtle bugs. Furthermore, developers are not supported when integrating changes across branches (cherry picking), when dealing with branches that have diverged, when finding the dependencies between changes, or when assessing the potential impact of changes. In this dissertation we present an approach that aims at alleviating these problems by providing developers and, more precisely, integrators with semi-automated support for assisted integration within a branch and across branches. We focus on helping integrators with their information needs when understanding and integrating changes by means of characterizations of changes and streams of changes (i.e., sequence of successive changes within a branch) together with their dependencies. These characterizations rely on the first-class representation of systems' histories and changes based on program entities and their relationships rather than on files and text. For this, we provide a family of meta-models (Ring, RingH, RingS and RingC) that offer us the representation of program entities, systems' histories, changes and their dependencies, along with analyses for version comparison, and change and dependency identification. Instances of these meta-models are then used by our proposed tool support to enable integrators to analyze the characterizations and changes. Torch, a visual tool, and JET, a set of tools, actually provide the information needs to assist integration within a branch and across branches by means of the characterization of changes and streams of changes respectively.
|
188 |
Modelling software quality : a multidimensional approachVaucher, Stéphane 11 1900 (has links)
Les sociétés modernes dépendent de plus en plus sur les systèmes informatiques et ainsi, il y a de plus en plus de pression sur les équipes de développement pour produire des logiciels de bonne qualité. Plusieurs compagnies utilisent des modèles de qualité, des suites de programmes qui analysent et
évaluent la qualité d'autres programmes, mais la construction de modèles de qualité est difficile parce qu'il existe plusieurs questions qui n'ont pas été répondues dans la littérature. Nous avons étudié les pratiques de modélisation de la qualité auprès d'une grande entreprise et avons identifié les trois dimensions où une recherche additionnelle est désirable : Le support de la subjectivité de la qualité, les techniques pour faire le suivi de la qualité lors de l'évolution des logiciels, et la composition de la qualité entre différents niveaux d'abstraction.
Concernant la subjectivité, nous avons proposé l'utilisation de modèles bayésiens parce qu'ils sont capables de traiter des données ambiguës. Nous avons appliqué nos modèles au problème de la détection des défauts de conception. Dans une étude de deux logiciels libres, nous
avons trouvé que notre approche est supérieure aux techniques décrites dans l'état de l'art, qui sont basées sur des règles.
Pour supporter l'évolution des logiciels, nous avons considéré que les scores produits par un modèle de qualité sont des signaux qui peuvent être analysés en utilisant des techniques d'exploration de données pour identifier des patrons d'évolution de la qualité. Nous avons étudié comment les défauts de conception apparaissent et disparaissent des logiciels.
Un logiciel est typiquement conçu comme une hiérarchie de composants, mais les modèles de qualité ne tiennent pas compte de cette organisation. Dans la dernière partie de la dissertation, nous présentons un modèle de qualité à deux niveaux. Ces modèles ont trois parties: un modèle au niveau du composant, un modèle qui évalue l'importance de chacun des composants, et un autre qui évalue la qualité d'un composé en combinant la qualité de ses composants. L'approche a été testée sur la prédiction de classes à fort changement à partir de la qualité des méthodes. Nous avons trouvé que nos modèles à deux niveaux permettent une meilleure identification des classes à fort changement.
Pour terminer, nous avons appliqué nos modèles à deux niveaux pour l'évaluation de la navigabilité des sites web à partir de la qualité des pages. Nos modèles étaient capables de distinguer entre des sites de très bonne qualité et des sites choisis aléatoirement.
Au cours de la dissertation, nous présentons non seulement des problèmes théoriques et leurs solutions, mais nous avons également mené des expériences pour démontrer les avantages et les limitations de nos solutions. Nos résultats indiquent qu'on peut espérer améliorer l'état de l'art dans les trois dimensions présentées. En particulier, notre travail sur la composition de la qualité et la modélisation de l'importance est le premier à cibler ce problème. Nous croyons que nos modèles à deux niveaux sont un point de départ intéressant pour des travaux de recherche plus approfondis. / As society becomes ever more dependent on computer systems, there is more and more pressure on development teams to produce high-quality software. Many companies therefore rely on quality models, program suites that analyse and evaluate the quality of other programs, but building good quality models is hard as there are many questions concerning quality modelling that have yet to be adequately addressed in the literature. We analysed quality modelling practices in a large organisation and identified three dimensions where research is needed: proper support of the subjective notion of quality, techniques to track the quality of evolving software, and the composition of quality judgments from different abstraction levels.
To tackle subjectivity, we propose using Bayesian models as these can deal with uncertain data. We applied our models to the problem of anti-pattern detection. In a study of two open-source systems, we found that our approach was superior to state of the art rule-based techniques.
To support software evolution, we consider scores produced by quality models as signals and the use of signal data-mining techniques to identify patterns in the evolution of quality. We studied how anti-patterns are introduced and removed from systems.
Software is typically written using a hierarchy of components, yet quality models do not explicitly consider this hierarchy. As the last part of our dissertation, we present two level quality models. These are composed of three parts: a component-level model, a second model to evaluate the importance of each component, and a container-level model to combine the contribution of components with container attributes. This approach was tested on the prediction of class-level changes based on the quality and importance of its components: methods. It was shown to be more useful than single-level, traditional approaches.
To finish, we reapplied this two-level methodology to the problem of assessing web site navigability. Our models could successfully distinguish award-winning sites from average sites picked at random.
Throughout the dissertation, we present not only theoretical problems and solutions, but we performed experiments to illustrate the pros and cons of our solutions. Our results show that there are considerable improvements to be had in all three proposed dimensions. In particular, our work on quality composition and importance modelling is the first that focuses on this particular problem. We believe that our general two-level models are only a starting point for more in-depth research.
|
189 |
Conférence répartie en mode messagerieBrun, Philippe 01 January 1997 (has links) (PDF)
Les conférences informatiques sont promises à un bel avenir. Toutefois, leur essor est freiné par le coût des communications, les difficultés inhérentes à ce type d'outils qui s'adressent à un grand nombre d'utilisateurs, mettent en jeu de grandes quantités d'informations et couvrent un large champ d'applications, et par la nécessité d'offrir aux usagers un accès simple, confortable et efficace. La solution que nous proposons répond à ces problèmes par les options suivantes. L'ensemble des messages échangés est archivé dans une base structurée ce qui permet de les gérer efficacement. Cette base est dupliquée sur différents sites pour réduire les coûts de consultation. Les communications entre sites se font en mode messagerie telle qu'elle est recommandée par le CC11T. Pour une bonne coopération des usagers, des rôles sont définis, des droits leur sont associés. 'Enfin, l'interface avec l'utilisateur tire parti des progrès réalisés dans ce domaine tant dans le matériel que dans les logiciels actuellement disponibles.
|
190 |
INCREMENT une approche hybride pour modéliser et analyser dans le large les exigences réglementaires de sûretéSannier, Nicolas 13 December 2013 (has links) (PDF)
Les systèmes de contrôle-commande importants pour la sûreté de fonctionnement doivent répondre à un certain nombre d'exigences, au premier rang desquelles se trouvent les exigences réglementaires, édictées par les autorités nationales et complétées par un ensemble de recommandations pratiques et de textes normatifs. Les exigences de ce domaine sont peu formalisées, les relations de traçabilité, et par conséquent l'organisation des exigences de ce vaste domaine est souvent implicite. Enfin, les passerelles entre contextes nationaux différents sont très peu développées. Les travaux de cette thèse se situent dans ce contexte industriel en partenariat avec EDF R&D et au sein du projet CONNEXION regroupant les acteurs majeurs du contrôle-commande nucléaire français. Les contributions de la thèse s'articulent autour de l'approche INCREMENT (Intrumentation aNd Control regulatory REquirement Modeling Environment) qui adresse les deux premiers challenges présentés, et en particulier : (1) la formalisation du domaine où nous proposons à la fois une description du domaine et un métamodèle permettant une capitalisation et une vue globale d'un référentiel d'exigences, (2) une base outillée pour l'acquisition automatique de documents, un environnement graphique pour la manipulation de modèles et l'apport de techniques de recherche d'information pour la traçabilité des exigences, (3) une approche originale avec une hybridation entre modélisation et recherche d'information pour une amélioration de la traçabilité des exigences. Le métamodèle proposé et ses outils sont utilisés dans l'industrie dans le projet CONNEXION. Notre approche hybride a permis dans nos expérimentations de réduire, en moyenne, la taille de ces espaces de 65% comparé aux approches standard de recherche d'information, sans en dégrader le contenu.
|
Page generated in 0.0584 seconds