• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 422
  • 171
  • 72
  • 2
  • 1
  • 1
  • Tagged with
  • 721
  • 336
  • 296
  • 278
  • 254
  • 246
  • 243
  • 144
  • 133
  • 92
  • 90
  • 82
  • 79
  • 69
  • 68
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
121

Méthodologie pour la dérivation comportementale de produits dans une ligne de produit logicielle

Istoan, Paul 21 February 2013 (has links) (PDF)
Méthodologie pour la dérivation comportementale de produits dans une ligne de produit logicielle
122

Modelling software quality : a multidimensional approach

Vaucher, 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.
123

Essais sur les logiciels libres : licences doubles, effets de réseau, et concurrence

Latulippe, Johan 10 1900 (has links)
This thesis examines the microeconomic consequences of the arrival of open source in the software market. Specifically, it analyzes three features of open source software by using specific models of industrial organization. Open source software is free, and may be modified or duplicated by anyone. The first paper studies the entry of an open source software in a closed source software market. Using a model of horizontal differentiation, the analysis considers a closed source firm's investment in the quality of its software. The introduction of open source on the market reduces the firm's investment in quality and increases the price of its software. Moreover, the entry of open source software may reduce consumer welfare. Post-entry by an open source software, the reduction in market share lowers the firm's incentive to invest in quality. The second paper features vertical differentiation to study a monopolist selling supporting product to its software. The study begins by contrasting the supply of support by an open source provider and a closed source vendor. The model shows that in both cases the levels of support offered are the same. In addition, consumer welfare is higher and profit lower under an open source software. Then, the paper considers the competition in the provision of support. Here, the supply of high level support is greater than under a monopolist. Finally, the monopolist adopts a dual licensing strategy to extract more surplus from developers interested in modifying open source software and redistributing the resulting product. This technique, when the developers place high value on the source code, generates more profit if the monopolist chooses to publish as open source rather than closed source. The last paper studies how a closed source firm is affected by the introduction of an open source benefiting from contributions by users. A vertical differentiation model is used, and reveals that, when contribution of users is present, the closed source vendor may lower its price to a level where it forces the open source out of the market. The firm's lower price not only increases demand for its software, but also induces consumers into switching from open to closed source software therefore reducing the contribution of users. / Les logiciels libres sont uniques en leur genre\ : non seulement sont-ils distribués gra-tuitement, mais on peut aussi les modifier et les copier. Cette thèse étudie l'impact de ces propriétés du logiciel libre sur la compétition et sur les entreprises de logiciel propriétaire. Des modèles propres à l'organisation industrielle sont utilisés. Le première étude examine l'arrivée d'un logiciel libre sur un marché occupé par un logiciel propriétaire. En utilisant un modèle de différenciation horizontale, le papier consi-dère une firme propriétaire qui investit dans la qualité de son logiciel. L'arrivée d'un logiciel libre cause l'entreprise du logiciel propriétaire à réduire le niveau de son investissement et à augmenter le prix de son produit. Il s'avère alors que l'introduction du logiciel libre sur le marché réduit l'investissement de l'entreprise et engendre même l'augmentation du prix du produit. De plus, l'arrivée du logiciel libre peut réduire le niveau de bien-être des consommateurs. Comme le logiciel libre ne réagit pas aux décisions stratégique de l'entreprise, cette dernière voit son marché réduit peu importe sa stratégie. La firme décide conséquemment de vendre un produit de moindre qualité à un prix plus élevé à une clientèle réduite. Le deuxième papier propose un modèle qui utilise la différenciation verticale afin d'exa-miner un monopoleur offrant un produit complémentaire à son logiciel. L'étude compare d'abord les cas d'un logiciel libre et d'un logiciel propriétaire, toujours dans le contexte d'un monopoleur offrant du support professionnel pour son logiciel. Il est établi que le bien-être des consommateurs est plus élevé, et le profit inférieur dans le cas d'un distributeur de logiciel libre. Ensuite, le modèle initial est modifié avec l'ajout d'une seconde entreprise offrant du support professionnel. Dans ce cas, l'offre de support de haut niveau est plus élevée. Finalement, le monopoleur adopte une stratégie de licences doubles. Ce concept permet au monopoleur de proposer la vente d'une licence même si son logiciel est libre. Cette technique génère plus de profits, certaines conditions étant présentes, que si l'entreprise optait pour un logiciel propriétaire. Un logiciel libre profite des contributions de ses usagers pour améliorer son produit. Le troisième papier examine l'arrivée d'un tel produit sur un marché dominé par un logiciel propriétaire. Le modèle de différenciation verticale utilisé contraste les deux logiciels dans un marché donné et révèle que la contribution des utilisateurs peut diminuer la part de marché du logiciel libre au profit de son conccurrent. De fait, en diminuant ses prix le licenceur du logiciel propriétaire incite le consommateur à délaisser le logiciel libre pour le produit de son concurrent.
124

Modelling software quality : a multidimensional approach

Vaucher, 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.
125

Essais sur les logiciels libres : licences doubles, effets de réseau, et concurrence

Latulippe, Johan 10 1900 (has links)
This thesis examines the microeconomic consequences of the arrival of open source in the software market. Specifically, it analyzes three features of open source software by using specific models of industrial organization. Open source software is free, and may be modified or duplicated by anyone. The first paper studies the entry of an open source software in a closed source software market. Using a model of horizontal differentiation, the analysis considers a closed source firm's investment in the quality of its software. The introduction of open source on the market reduces the firm's investment in quality and increases the price of its software. Moreover, the entry of open source software may reduce consumer welfare. Post-entry by an open source software, the reduction in market share lowers the firm's incentive to invest in quality. The second paper features vertical differentiation to study a monopolist selling supporting product to its software. The study begins by contrasting the supply of support by an open source provider and a closed source vendor. The model shows that in both cases the levels of support offered are the same. In addition, consumer welfare is higher and profit lower under an open source software. Then, the paper considers the competition in the provision of support. Here, the supply of high level support is greater than under a monopolist. Finally, the monopolist adopts a dual licensing strategy to extract more surplus from developers interested in modifying open source software and redistributing the resulting product. This technique, when the developers place high value on the source code, generates more profit if the monopolist chooses to publish as open source rather than closed source. The last paper studies how a closed source firm is affected by the introduction of an open source benefiting from contributions by users. A vertical differentiation model is used, and reveals that, when contribution of users is present, the closed source vendor may lower its price to a level where it forces the open source out of the market. The firm's lower price not only increases demand for its software, but also induces consumers into switching from open to closed source software therefore reducing the contribution of users. / Les logiciels libres sont uniques en leur genre\ : non seulement sont-ils distribués gra-tuitement, mais on peut aussi les modifier et les copier. Cette thèse étudie l'impact de ces propriétés du logiciel libre sur la compétition et sur les entreprises de logiciel propriétaire. Des modèles propres à l'organisation industrielle sont utilisés. Le première étude examine l'arrivée d'un logiciel libre sur un marché occupé par un logiciel propriétaire. En utilisant un modèle de différenciation horizontale, le papier consi-dère une firme propriétaire qui investit dans la qualité de son logiciel. L'arrivée d'un logiciel libre cause l'entreprise du logiciel propriétaire à réduire le niveau de son investissement et à augmenter le prix de son produit. Il s'avère alors que l'introduction du logiciel libre sur le marché réduit l'investissement de l'entreprise et engendre même l'augmentation du prix du produit. De plus, l'arrivée du logiciel libre peut réduire le niveau de bien-être des consommateurs. Comme le logiciel libre ne réagit pas aux décisions stratégique de l'entreprise, cette dernière voit son marché réduit peu importe sa stratégie. La firme décide conséquemment de vendre un produit de moindre qualité à un prix plus élevé à une clientèle réduite. Le deuxième papier propose un modèle qui utilise la différenciation verticale afin d'exa-miner un monopoleur offrant un produit complémentaire à son logiciel. L'étude compare d'abord les cas d'un logiciel libre et d'un logiciel propriétaire, toujours dans le contexte d'un monopoleur offrant du support professionnel pour son logiciel. Il est établi que le bien-être des consommateurs est plus élevé, et le profit inférieur dans le cas d'un distributeur de logiciel libre. Ensuite, le modèle initial est modifié avec l'ajout d'une seconde entreprise offrant du support professionnel. Dans ce cas, l'offre de support de haut niveau est plus élevée. Finalement, le monopoleur adopte une stratégie de licences doubles. Ce concept permet au monopoleur de proposer la vente d'une licence même si son logiciel est libre. Cette technique génère plus de profits, certaines conditions étant présentes, que si l'entreprise optait pour un logiciel propriétaire. Un logiciel libre profite des contributions de ses usagers pour améliorer son produit. Le troisième papier examine l'arrivée d'un tel produit sur un marché dominé par un logiciel propriétaire. Le modèle de différenciation verticale utilisé contraste les deux logiciels dans un marché donné et révèle que la contribution des utilisateurs peut diminuer la part de marché du logiciel libre au profit de son conccurrent. De fait, en diminuant ses prix le licenceur du logiciel propriétaire incite le consommateur à délaisser le logiciel libre pour le produit de son concurrent.
126

Intégration de la visualisation à multiples vues pour le développement du logiciel

Langelier, Guillaume 12 1900 (has links)
Le développement du logiciel actuel doit faire face de plus en plus à la complexité de programmes gigantesques, élaborés et maintenus par de grandes équipes réparties dans divers lieux. Dans ses tâches régulières, chaque intervenant peut avoir à répondre à des questions variées en tirant des informations de sources diverses. Pour améliorer le rendement global du développement, nous proposons d'intégrer dans un IDE populaire (Eclipse) notre nouvel outil de visualisation (VERSO) qui calcule, organise, affiche et permet de naviguer dans les informations de façon cohérente, efficace et intuitive, afin de bénéficier du système visuel humain dans l'exploration de données variées. Nous proposons une structuration des informations selon trois axes : (1) le contexte (qualité, contrôle de version, bogues, etc.) détermine le type des informations ; (2) le niveau de granularité (ligne de code, méthode, classe, paquetage) dérive les informations au niveau de détails adéquat ; et (3) l'évolution extrait les informations de la version du logiciel désirée. Chaque vue du logiciel correspond à une coordonnée discrète selon ces trois axes, et nous portons une attention toute particulière à la cohérence en naviguant entre des vues adjacentes seulement, et ce, afin de diminuer la charge cognitive de recherches pour répondre aux questions des utilisateurs. Deux expériences valident l'intérêt de notre approche intégrée dans des tâches représentatives. Elles permettent de croire qu'un accès à diverses informations présentées de façon graphique et cohérente devrait grandement aider le développement du logiciel contemporain. / Nowadays, software development has to deal more and more with huge complex programs, constructed and maintained by large teams working in different locations. During their daily tasks, each developer may have to answer varied questions using information coming from different sources. In order to improve global performance during software development, we propose to integrate into a popular integrated development environment (Eclipse) our new visualization tool (VERSO), which computes, organizes, displays and allows navigation through information in a coherent, effective, and intuitive way in order to benefit from the human visual system when exploring complex data. We propose to structure information along three axes: (1) context (quality, version control, etc.) determines the type of information; (2) granularity level (code line, method, class, and package) determines the appropriate level of detail; and (3) evolution extracts information from the desired software version. Each software view corresponds to a discrete coordinate according to these three axes. Coherence is maintained by navigating only between adjacent views, which reduces cognitive effort as users search information to answer their questions. Two experiments involving representative tasks have validated the utility of our integrated approach. The results lead us to believe that an access to varied information represented graphically and coherently should be highly beneficial to the development of modern software.
127

Migration des applications orientées-objet vers celles à base de composants / Migrating Object Oriented Applications into Component-Based ones

Al Shara, Zakarea 17 November 2016 (has links)
Les applications orientées objet de tailles significatives ont des dépendances complexes et nombreuses, et généralement ne disposent pas d'architectures logicielles explicites. Par conséquent, elles sont difficiles à maintenir, et certaines parties de ces applications sont difficiles à réutiliser. Le paradigme de développement à base de composants est né pour améliorer ces aspects et pour soutenir la maintenabilité et la réutilisation efficaces. Il offre une meilleure compréhensibilité à travers une vue d'architecture de haut niveau. Ainsi, la migration des applications orientées objet à celles à base de composants contribuera à améliorer ces caractéristiques, et de soutenir l'évolution des logiciels et la future maintenance.Dans cette thèse, nous proposons une approche pour transformer automatiquement les applications orientées objet à celles à base de composants. Plus particulièrement, l'entrée de l'approche est le résultat fourni par la récupération de l'architecture logicielle: une description de l'architecture à base de composants. Ainsi, notre approche transforme le code source orienté objet afin de produire des composants déployables. Nous nous concentrons sur la transformation des dépendances orientées objet en celles basées sur les interfaces. De plus, nous passons du concept d'objet au concept d'instance d'un composant. En outre, nous fournissons une approche de transformation déclarative en utilisant des langages dédiés. Nous démontrons notre approche sur de nombreux modèles de composants bien connus. / Large object-oriented applications have complex and numerousdependencies, and usually do not have explicitsoftware architectures. Therefore they are hard to maintain, and parts of themare difficult to reuse. Component-based development paradigm emergedfor improving these aspects and for supporting effectivemaintainability and reuse. It provides better understandabilitythrough a high-level architecture view of the application. Thus, migrating object-oriented applications to component-based ones will contribute to improve these characteristics, and support software evolution and future maintenance.In this dissertation, we propose an approach to automatically transform object-oriented applications tocomponent-based ones. More particularly, the input of the approach isthe result provided by software architecture recovery: acomponent-based architecture description. Then, our approachtransforms the object-oriented source code in order to producedeployable components. We focus on transforming object-oriented dependencies into interface-based ones. Moreover, we move from the concept of object to the concept of component instance. Furthermore, we provide a declarative transformation approach using domain-specific languages. We demonstrate our approach on many well-known component models.
128

Managing Extra-Functional Properties in Component-Based Development of Embedded Systems / Gestion des propriétés extra-fonctionnelles dans le développement basé "composant" de systèmes embarqués

Sentilles, Séverine 11 June 2012 (has links)
L’accroissement continu de la complexité des systèmes embarqués pose un problème majeur pour leur développement lequel doit aussi prendre en compte les exigences extra-fonctionnelles et les contraintes du domaine telles que la limitation et le partage des ressources, la distribution, et les contraintes temporelles et de fiabilité. De ce fait, les systèmes embarqués requièrent de nouvelles solutions pouvant efficacement et de manière prévisible répondre à l’ensemble de ces besoins. L’ingénierie logicielle basée composants est un paradigme qui a déjà démontré des aptitudes pour appréhender la complexité logicielle. Cependant, pour supporter de manière efficace les propriétés extra-fonctionnelles, un modèle de composants doit posséder des mécanismes spécifiques. L’objectif de cette thèse est de construire un tel support. Pour ce faire, nous avons analysé de manière systématique des modèles de composants existants à ce jour et identifié des challenges relatifs à la réalisation d’une approche basée composants dédiée au développement des systèmes embarqués. S’appuyant sur ces challenges, nous avons avancé l’état de l’art en développant ProCom, un nouveau modèle de composants qui répond aux attentes des systèmes embarqués au travers de sa sémantique d’exécution et de sa structuration en niveaux. Centré autour de ProCom, nous avons aussi développé PRIDE, son environnement de développement intégré. PRIDE couvre le procédé de développement des premières phases de spécification jusqu’à la synthèse et le déploiement et fournit des moyens d’intégrer différents outils d’analyse et de vérification. La contribution principale de cette thèse réside dans la modélisation et la réalisation d’un support pour la gestion des propriétés extra-fonctionnelles pour les systèmes embarqués construits à base de composants logiciels. Ce support facilite la spécification, le management et l’intégration de propriétés multi-valuées tenant compte du contexte dans lequel elles ont été établies. Les propriétés peuvent être attachées aux éléments architecturaux des modèles de composants et leurs valeurs peuvent être comparées et raffinées durant le développement. En particulier, le fait d’avoir des valeurs multiples avec leur contexte d’évaluation permet de comparer des valeurs provenant de différentes sources. Les concepts proposés ont été illustrés au travers d’exemples représentatifs de systèmes. / The continuously increasing complexity of embedded systems is a major issue for their development, which, in addition, must also consider specific extra-functional requirements and constraints, such as limited and shared resources, distribution, timing, and dependability. Thus, embedded systems call for development solutions that can efficiently and predictably cope with these issues. Component-based software engineering is a proven paradigm to handle complexity. Yet, for efficiently managing extra-functional properties, a component model needs to have dedicated mechanisms that provide a suitable support for their management. The objective of this thesis is to build this support. We have performed a systematic analysis of existing component models and identified challenges of applying a component-based approach to embedded system development. Based on these challenges we have advanced the current state-of-the-art by developing a new component model, called ProCom, that accommodates the specifics of embedded systems through its well-defined execution semantics and layered structure. Centered around ProCom, we have also developed PRIDE, the ProCom Integrated Development Environment. PRIDE supports the development from early specification to synthesis and deployment, providing the means to aggregate various analysis and verification tools. The main contribution of the thesis is in the design and implementation of an extra-functional property management framework that enables to seamlessly specify, manage and integrate multi-valued context-aware extra-functional properties of component-based embedded systems. Properties can be attached to architectural elements of component models and their values can be compared and refined during the development process. In particular, having multiple context-aware values allows values from different sources to be compared. The proposed concepts have been demonstrated on several representative example systems.
129

Vers un environnement pour le déploiement logiciel autonomique / Towards an environment for autonomic software deployment

Matougui, Mohammed el Amine 21 November 2013 (has links)
Le déploiement de logiciels répartis dans des environnements à grande échelle et ouverts (tels les systèmes ubiquitaires, les systèmes mobiles et les systèmes P2P) est une problématique actuelle ouverte. Ces environnements sont distribués, hétérogènes et peuvent être de nature instable (dotés d’une topologie dynamique du réseau). Le déploiement dans ces environnements met en jeu un très grand nombre de machines, de liens réseau ainsi qu’un ensemble de contraintes de déploiement. Quelques solutions de déploiement existent aujourd’hui, mais ne sont exploitables que dans le cadre d’architectures figées et fiables. Dans la plupart des solutions, une personne en charge du déploiement doit décrire plus ou moins manuellement la topologie. En outre, la majorité de ces outils ne prennent pas en compte les problèmes dûs à la variabilité de la qualité de service du réseau, aux pannes des hôtes, aux défaillances des liens du réseau ou encore aux changements dynamiques de topologie, qui caractérisent les environnements ouverts. Dans ce mémoire, nous présentons les motivations de la réalisation d'une infrastructure de déploiement logiciel autonomique et les exigences sous-jacentes d'une telle plate-forme. Nous présentons un état de l’art du déploiement logiciel que nous analysons au regard du contexte visé. Ensuite, nous présentons notre contribution pour le déploiement autonomique. Notre proposition s'appuie sur une combinaison de technologies (composants logiciels, agents mobiles adaptables, intergiciel, langage dédié). Nous proposons j-ASD, un intergiciel qui exploite la complémentarité de ces technologies pour réaliser un déploiement logiciel autonomique. Le processus de déploiement contient trois étapes : description des contraintes de déploiement, résolution, et déploiement autonomique. Pour la première étape, nous avons défini un langage dédié (DSL) comme langage de haut niveau pour exprimer des contraintes de déploiement. Pour la deuxième, nous avons conçu une infrastructure répartie pour collecter les propriétés des sites cibles, ce qui permet de résoudre les contraintes de déploiement. Pour la troisième étape, nous proposons un intergiciel à base d’agents mobiles pour la réalisation et la supervision du déploiement autonomique. Enfin, nous donnons les éléments de conception du prototype que nous avons implémenté, ainsi que les résultats de certaines expérimentations pour montrer la validité de notre approche / Software deployment in large-scale and open distributed systems (such as ubiquitous systems, mobile systems and P2P systems) is still an open issue. These environments are distributed, heterogeneous and can be naturally unstable (fitted with a dynamic network topology). Deployment in such environments require the management of a large number of hosts, network links and deployment constraints. Existing distributed deployment solutions are usable only within static and reliable topologies of hosts, where a man in charge of the deployment has to describe more or less manually the topology. Moreover, majority of these tools do not take into account network and computer QoS variabilities, hosts crashes, network link failures and network topology changes, which characterize open and mobile environments. In this thesis, we discuss the motivations for an autonomic software deployment and the requirements underlying for such a platform. We carefully study and compare the existing work about software deployment. Then, we propose a middleware framework, designed to reduce the human cost for setting up software deployment and to deal with failure-prone and change-prone environments. We also propose an autonomic deployment process in three steps : deployment constraints description step, constraints resolution step and the autonomic deployment step. For the first step, we defined a high-level constraint-based dedicated language (DSL) as support for expressing deployment constraints. In the second step, we have designed a distributed infrastructure to collect target hosts properties used to solve deployment constraints. For the third step, we propose an agent-based system for establishing and maintaining software deployment. At last, we give an overview of our working prototype with some details on some experimental results
130

Contribution à la multi-modélisation des applications distribuées pour le contrôle de l'évolution des logiciels / Contribution to the multi-modeling of distributed applications for software evolution control

Ahmad, Adeel 09 December 2011 (has links)
Le contrôle de l'évolution des logiciels exige une compréhension profonde des changements et leur impact sur les différents artefacts du système. Nous proposons une approche de multi-modélisation pour l'analyse d'impact du changement pour une compréhension des effets des modifications prévus ou réels dans les systèmes distribués. Ce travail consiste à élaborer une modélisation des artefacts logiciels et de leur différents liens d'interdépendance pour construire un système à base de connaissance permettant, entre autres, d'assister les développeurs et les chargés de l'évolution des logiciels pour étblir une évaluation a priori de l'impact des modifications.La modélisation que nous élaborons intègre deux descriptions majeures des logiciels, dans un premier temps, la description structurelle sous-jacente qui englobe l'ensemble des niveaux granulaires et l'abstraction des constituants logiciels, et ensuite la description qualitative conçue pour s'intégrer à la description précédente. Deux modèles, d'abord élaborés individuellement pour les deux descriptions respectives, ont été intégrés ou mis en correspondance dans l'objectif d'étudier l'impact de toute modification et sa potentielle propagation à travers les constituants logiciels concernés. Lors de chaque modification, il devient alors possible d'établir un bilan qualitatif de son impact. La modélisation intégrée est élaborée pour se prêter à un raisonnement à base de règles expertes. La modélisation proposée est en cours d'expérimentation et validation à travers le développement d'une plate-forme d'implémentation basée sur l'environnement Eclipse. / The software evolution control requires a complete understanding of the changes and their impact on the various systems artifacts. We propose a multi-modeling approach for the change impact analysis to provide assistance in understanding the effects of projected or actual changes in distributed software systems. This work elaborate the modeling of software artifacts along with their various interdependencies to build a knowledge-based system, which allows, among others, an assistance for the software developers or maintenance engineers to establish an a priori evaluation of impact of changes. The model we develop integrates two major descriptions of software, at first, the underlying structural description that encompasses the levels of granularity and abstraction of software artifacts, and then the qualitative description designed to integrate the structural description. Initially, the formal models are designed separately for the respective descriptions, and then these are integrated for the objective to study the change impact and its potential propagation through the affected software artifacts. For a change, it is important to establish a qualitative assessment of its impact. The integrated modeling leads to a reasoning based on expert rules. The proposed model is being tested and validated through the development of a platform, implemented in the Eclipse environment.

Page generated in 0.0394 seconds