Spelling suggestions: "subject:"lignes dde produits logiciel"" "subject:"lignes dee produits logiciel""
1 |
Exploration des variantes d'artefacts logiciels pour une analyse et une migration vers des lignes de produits / Mining software artefact variants for product line migration and analysisMartinez, Jabier 18 October 2016 (has links)
Les lignes de produits logiciels (LdPs) permettent la dérivation d'une famille de produits basés sur une gestion de la variabilité. Les LdPs utilisent des configurations de caractéristiques afin de satisfaire les besoins de chaque client et, de même, permettre une réutilisation systématique en utilisant des assets réutilisables. L’approche capitalisant sur des variantes des produits existants est appelé une approche extractive pour l'adoption de LdPs. L’identification des caractéristiques est nécessaire pour analyser la variabilité d’un ensemble de variantes. Il est également nécessaire de localiser les éléments associés à ces caractéristiques. Les contraintes entre ces caractéristiques doivent être identifiées afin de garantir la sélection de configurations valides. Par ailleurs, il faut construire les assets réutilisables et synthétiser un modèle de caractéristiques. Cette thèse présente BUT4Reuse (Bottom-Up Technologies for Reuse), un framework unifié, générique et extensible pour l’adoption extractive de LdPs. Une attention particulière est accordée à des scénarios de développement dirigée par les modèles. Nous nous concentrons aussi sur l'analyse des techniques en proposant un benchmark pour la localisation de caractéristiques et une technique d’identification de familles de variantes. Nous présentons des paradigmes de visualisation pour accompagner les experts du domaine dans le nommage de caractéristiques et aider à la découverte de contraintes. Finalement, nous étudions l'exploitation des variantes pour l'analyse de la LdP après sa création. Nous présentons une approche pour trouver des variantes pertinentes guidée par des évaluations des utilisateurs finaux. / Software Product Lines (SPLs) enable the derivation of a family of products based on variability management techniques. Inspired by the manufacturing industry, SPLs use feature configurations to satisfy different customer needs, along with reusable assets to allow systematic reuse. Capitalizing on existing variants by extracting the common and varying elements is referred to as extractive approaches for SPL adoption. Feature identification is needed to analyse the domain variability. Also, to identify the associated implementation elements of the features, their location is needed. In addition, feature constraints should be identified to guarantee that customers are not able to select invalid feature combinations. Then, the reusable assets associated to the features should be constructed. And finally, a comprehensive feature model need to be synthesized. This dissertation presents Bottom-Up Technologies for Reuse (BUT4Reuse), a unified, generic and extensible framework for mining software artefact variants. Special attention is paid to model-driven development scenarios. We also focus on benchmarks and in the analysis of variants, in particular, in benchmarking feature location techniques and in identifying families of variants in the wild for experimenting with feature identification techniques. We present visualisation paradigms to support domain experts on feature naming and to support on feature constraints discovery. Finally, we investigate and discuss the mining of artefact variants for SPL analysis once the SPL is already operational. Concretely, we present an approach to find relevant variants within the SPL configuration space guided by end user assessments.
|
2 |
Composition des modèles de lignes de produits logicielsBen Rhouma Aouina, Takoua 29 November 2012 (has links) (PDF)
Cette thèse s'inscrit dans le cadre de la gestion des modèles de lignes de produits logiciels complexes. L'ingénierie des lignes de produits logiciels a pour objectif de modéliser et développer une famille de produits logiciels présentant un ensemble de similarités plutôt que de modéliser et développer des produits logiciels individuels au cas par cas. La modélisation, cependant, peut se révéler une tâche difficile voir même infaisable quand il s'agit de modéliser des lignes de produits logiciels complexes et à grande échelle. Pour résoudre un tel problème, la tâche de modélisation est distribuée sur différents intervenants. Les modèles développés séparément doivent alors être composés pour obtenir le modèle global de la ligne de produits logiciels. Toutefois, la composition des modèles de lignes de produits logiciels n'est pas une tâche triviale car elle doit prendre en compte l'information de variabilité des éléments de modèles, les contraintes de variabilité, la structure des modèles manipulés et la sémantique ciblée par la composition. L'objectif de cette thèse est de fournir des mécanismes de composition des modèles de lignes de produits logiciels. Pour cela, deux mécanismes sont proposés : la fusion et l'agrégation. La fusion a pour objectif de combiner des modèles présentant des similarités au niveau de leurs éléments structurels. Alors que l'agrégation vise à composer des modèles ne possèdent pas de similarités mais plutôt d'éventuelles contraintes transversales reliant leurs éléments structurels. Les modèles utilisés sont représentés sous une vue de structures composites d'UML et incluent des annotations spécifiques des éléments variables. Les mécanismes que nous proposons traitent l'information de variabilité des éléments structurels manipulés, les contraintes de variabilités associées aux éléments annotés variables ainsi que l'aspect structurel des modèles à composer. Les mécanismes de composition proposés sont définis selon des propriétés sémantiques bien précises décrivant le but de la composition. Ces propriétés sémantiques doivent alors être vérifiées tout au long du processus de composition. A la fin, une évaluation du travail effectué permet de montrer la capacité à composer des modèles de lignes de produits logiciels en un temps raisonnable ainsi que l'importance de la consolidation des modèles structurels dans la réduction du nombre de produits structurellement incomplets.
|
3 |
Synthèse d'applications de réalité virtuelle à partir de modèles / Model driven synthesis of virtual reality applicationsLe Moulec, Gwendal 26 September 2018 (has links)
Les pratiques de développement des logiciels de Réalité Virtuelle (RV) ne sont pas optimisées. Ainsi, chaque société utilise ses propres méthodes. L'objectif de la thèse est d'automatiser la production et l'évaluation des logiciels de RV en utilisant des techniques issues de ! 'Ingénierie Dirigée par les Modèles (IDM). Les approches existantes en RV ne permettent pas de tirer parti des points communs que partagent ces logiciels. Ces manques de réutilisation et d'abstraction sont des problèmes connus en !DM, qui propose le concept de Ligne de Produits Logiciels (LPL) pour automatiser la production de logiciels de la même famille par réutilisation de composants communs. Cependant cette approche n'est pas adaptée au développement de logiciels reposant sur un scénario, comme en RV. Nous proposons deux frameworks qui comblent respectivement les manques en IDM et en RV : LPLOS (LPL Orientée Scénario) et LPLRV (LPL pour la RV). LPLOS repose sur un modèle de scénarios qui manipule un modèle de variabilité logicielle (Feature model, FM). Chaque étape du scénario correspond à une configuration du FM. LPLRV repose sur LPLOS. Le scénario supervise la manipulation des objets virtuels, générés automatiquement à partir d'un modèle. Nous avons implémenté ces frameworks au sein d'outils qui ont été essayés sur des exemples et évalués par des utilisateurs cibles. Les résultats soutiennent l'utilisation de ces frameworks pour la production de logiciels reposant sur un scénario. / Development practices in Virtual Reality (VR) are not optimized. for example, each company uses its own methods. The goal of this PhD thesis is to automatize development and evaluation of VR software with the use of Model-Driven Engineering (MDE) technics. The existing approaches in VR do not take advantage of software commonalities. Those lacks of reuse and abstraction are known problems in MDE, which proposes the Soflware Product Line (SPL) concept to automatize the production of software belonging to the same family, by reusing common components. However, this approach is not adapted to software based on a scenario, like inVR.We propose two frameworks that respectively address the lacks in MDE and VR : SOSPL (scenario-oriented software product line) and VRSPL (VR SPL). SOSPL is based on a scenario model that handles a software variability model (feature model , FM). Each scenario step matches a configuration of the FM. VRSPL is based on SOSPL. The scenario manages virtual objects manipulation, the objects being generated automatically from a model. We implemented these frameworks inside tools that have been tried on exemples and evaluated by their target users. The results promote the use of these frameworks for producing scenario-based software.
|
4 |
Processus flexible de configuration pour lignes de produits logiciels complexes / Flexible configuration process for complex software product linesUrli, Simon 26 February 2015 (has links)
La nécessité de produire des logiciels de qualité en adéquation avec les besoins spécifiques du marché a conduit à l'émergence de nouvelles approches de développements telles que les Lignes de Produits Logiciels (LPL). Cependant pour répondre aux exigences croissantes des nouveaux systèmes informatiques, il convient aujourd'hui d'envisager la production de ces systèmes comme des compositions d’un grand nombre de systèmes interconnectés que l'on nomme aujourd'hui des systèmes-de-systèmes. En terme de lignes de produits, il s'agit de supporter la modularité et la très grande variabilité de ces systèmes, aussi bien du point de vue de la définition des sous-systèmes, que du point de vue de leur composition tout en garantissant la viabilité des systèmes construits. Pour supporter la construction et l'utilisation de lignes de produits logiciels complexes, nous proposons une nouvelle approche basée sur (i) la définition du modèle du domaine de la ligne, (ii) la formalisation de la variabilité des éléments du domaine par des feature models (FM) et (iii) l’expression des dépendances entre ces différents FM. Pour maîtriser la complexité de telles lignes nous avons complété cette approche de modélisation par d'une part, des algorithmes visant à assurer la cohérence des lignes ainsi modélisées et d'autre part, la conception d'un processus de configuration des produits logiciels complexes garantissant la cohérence des produits sans imposer d'ordre dans les choix utilisateurs et en autorisant l'annulation des choix. Nous validons nos travaux sur une LPL dédiée à un système-de-systèmes de portée industrielle pour la production de systèmes de diffusion d’informations. / The necessity of producing high quality softwares and the specific software market needs raise new approaches such as Software Product Lines (SPL). However in order to satisfy the growing requirements of new information systems, we need to consider those systems as a composition of many interconnected sub-systems called systems-of-systems. As a SPL, it implies to support the modularity and the large variability of such systems, from the definition of sub-systems to their composition, ensuring the consistency of final systems. To support design and usage of such a complex SPL, we propose a new approach based on (i) the definition of a SPL domain model, (ii) the formalization of variability using feature models (FM) and (iii) the representation of dependencies between those different FM. In order to manage the complexity of this SPL we complete our approach by in one hand algorithms ensuring the consistency of the SPL and on the other hand the definition of a configuration process which guarantees the consistency of products without imposing order in user choices and authorizing to cancel any choice. This thesis presents a formalization of these works and demonstrates the expected properties of those SPL, like the control of the product line consistency with incremental algorithms exploiting the domain model topology, the formal definition and the proof of the configuration process flexibility, and the consistency concepts of the process itself. On these basis, we propose a first implementation and we validate our works on a SPL dedicated to an industrial scale system-of-systems for producing digital signage systems.
|
5 |
Ligne de produits dynamique pour les applications à servicesYu, Jianqi 16 June 2010 (has links) (PDF)
Le développement d'applications par composition de services dynamiques et hétérogènes, c'est-à-dire implantés suivant des technologies différentes, est le sujet principal de cette thèse. Nous pensons, en effet, que l'approche orientée service apporte des changements considérables dans le domaine du logiciel et peut amener des gains significatifs en termes de réduction des coûts, d'amélioration de la qualité et de compression des temps de mise sur le marché. Les technologies à services ont dors et déjà pénétré de nombreux secteurs d'activité et répondent à certaines des attentes qu'ils suscitaient. Le développement d'applications par composition de services hétérogènes demeure néanmoins très complexe pour plusieurs raisons. Tout d'abord, les diverses technologies existantes utilisent des mécanismes de déclaration, de recherche et de liaison très différents. Les services, eux-mêmes, sont décrits suivant des structures souvent éloignées. Des développements et des connaissances techniques très pointus sont ainsi nécessaires pour correctement associer des services utilisant des bases technologiques différentes. D'autre part, la gestion du dynamisme est complexe. Le principe de l'approche à service est de permettre la liaison retardée de service et, dans certains cas, le changement des liaisons en fonction de l'évolution du contexte. Cela demande des algorithmes de synchronisation très précis, difficiles à mettre au point et à tester. Nous nous sommes ainsi rendu compte que, dans de nombreux cas, les bénéfices de l'approche à service ne sont pas complètement obtenus, faute d'une gestion appropriée du dynamisme. Enfin, les services sont essentiellement décrits suivant une logique syntaxique. On ne peut donc pas garantir, dans un cas général, la compatibilité de plusieurs services ou, plus simplement, la correction de leur comportement global. Cela est d'autant plus difficile lorsque des services ont des interactions complexes, non limitées à un unique appel pour obtenir une information. Nous apportons, dans cette thèse, une dimension " domaine " à la composition de service. La définition d'un domaine permet de restreindre les compositions possibles, aussi bien au niveau technologique qu'au niveau sémantique. C'est ainsi que nous avons trouvé une grande complémentarité entre les approches à service et les approches à base de lignes de produits. Les technologies à service apportent de façon naturelle le dynamisme, c'est-à-dire la capacité à créer des liaisons entre services de façon retardée à l'exécution. Les lignes de produits, quant à elles, définissent un cadre de réutilisation anticipée et planifiée. De façon plus précise, cette thèse défend une démarche outillée de composition de services structurée en trois phases, à savoir : la définition d'un domaine sous forme de services et d'architectures de référence à services, la définition d'applications sous forme d'architectures à service, et l'exécution autonomique des applications en fonction de l'architecture applicative du contexte. Cette thèse est validée au sein d'un projet collaboratif dans le domaine de la santé dans l'habitat.
|
6 |
Modèles opérationnels de processus métier et d'exigences variables pour le développement de lignes de produits logiciels / Operational Models of Variable Business Processes and Variable Requirements for Software Product Lines EngineeringTaffo Tiam, Raoul 17 December 2015 (has links)
Toute institution concernée par le développement de logiciels, qu’il s’agisse d’un éditeur ou d’un organisme de services, doit faire face au challenge de compétitivité : “ faire de l’économie, un «objet de première classe» en génie logiciel ”. Cet impératif de penser l’économie du logiciel, s’est traduit par l’objectif d’obtenir une meilleure maîtrise sur la productivité du développeur. La Réutilisation Logicielle (Software Reuse) est un moyen privilégié d’augmenter cette productivité, en particulier quand elle est systématisée. Deux types d’activités doivent être considérés pour améliorer la réutilisation logicielle, le développement pour la réutilisation (development for reuse) et le développement par la réutilisation (development by reuse). Plusieurs solutions ont été proposées pour contribuer au développement pour la réutilisation. L’approche lignes de produits se distingue par sa contribution au développement par la réutilisation, à travers l’assistance et l’automatisation de la sélection, la configuration, et la dérivation de nouveaux produits. Néanmoins, malgré que cette approche a positionné la réutilisation comme activité centrale dans son processus de développement, celle-ci reste difficile à réaliser dans beaucoup de situations. Par exemple, en raison de l’absence de spécification ou gestion de la variabilité qui peut se manifester dans chacun des artefacts de toutes les étapes du cycle de développement. Dans ce cadre, la problématique générale de cette thèse CIFRE consiste en l’industrialisation d’une usine logicielle par la systématisation de la réutilisation dans chacune de ses étapes et la maximisation de l’automatisation des transitions entre étapes. Afin de mieux supporter l’agilité des environnements métier, notre premier objectif est la spécification de la variabilité au sein des modèles de processus métier, de sorte que les modèles conçus soient directement utilisables dans les usines logicielles. Notre second objectif consiste à introduire la spécification de la variabilité lors de l'ingénierie des exigences permettant ainsi de systématiser leur réutilisation, et l’établissement des liens de traçabilité avec les modèles de processus métier variables précédents. Ainsi, un modèle d’architecture logicielle (orientée services) peut être généré au sein de l'usine logicielle, comme implémentation des processus métier modélisés précédemment et dans le respect des exigences spécifiées. / Any organization involved in software engineering has to deal with reduction of production time and cost, in order to face the competitiveness challenge. This imperative of thinking the software economy resulted in the goal of getting better control on developer productivity. Software Reuse is a preferred way to increase the productivity, particularly when it is systematized. Two types of activities should be considered to improve software reuse, development for reuse and development by reuse. Several solutions have been proposed to contribute and improve development for reuse. For its part, product line approach is distinguished by its contribution to development by reuse through support and automation of selection, configuration, and derivation of new products. However, although this approach has positioned reuse as a core activity in its engineering process, it remains difficult to realize it in many situations. For example, due to lack of specification or management of variability which may occur in each artifacts from all steps of the engineering process. In this context, the general issue of this thesis consists in industrialization of software product line, by the contribution to systematization of reuse in each steps and automation of transitions between those steps. To better support the business agility, our first goal is the specification of variability within business process models, in order to make them directly usable into software factory. Our second goal is to introduce variability specification into requirements engineering, enabling systematic reuse of requirements models and establishing traceability links with previous models of variable business processes. Thus, an architecture model (service oriented) can be generated in software factory, as implementation of modeled business processes with compliance to specified requirements.
|
7 |
Composition des modèles de lignes de produits logiciels / Composition of software product line modelsBen Rhouma, Takoua 29 November 2012 (has links)
Cette thèse s’inscrit dans le cadre de la gestion des modèles de lignes de produits logiciels complexes. L’ingénierie des lignes de produits logiciels a pour objectif de modéliser et développer une famille de produits logiciels présentant un ensemble de similarités plutôt que de modéliser et développer des produits logiciels individuels au cas par cas. La modélisation, cependant, peut se révéler une tâche difficile voir même infaisable quand il s’agit de modéliser des lignes de produits logiciels complexes et à grande échelle. Pour résoudre un tel problème, la tâche de modélisation est distribuée sur différents intervenants. Les modèles développés séparément doivent alors être composés pour obtenir le modèle global de la ligne de produits logiciels. Toutefois, la composition des modèles de lignes de produits logiciels n’est pas une tâche triviale car elle doit prendre en compte l’information de variabilité des éléments de modèles, les contraintes de variabilité, la structure des modèles manipulés et la sémantique ciblée par la composition. L’objectif de cette thèse est de fournir des mécanismes de composition des modèles de lignes de produits logiciels. Pour cela, deux mécanismes sont proposés : la fusion et l’agrégation. La fusion a pour objectif de combiner des modèles présentant des similarités au niveau de leurs éléments structurels. Alors que l’agrégation vise à composer des modèles ne possèdent pas de similarités mais plutôt d’éventuelles contraintes transversales reliant leurs éléments structurels. Les modèles utilisés sont représentés sous une vue de structures composites d’UML et incluent des annotations spécifiques des éléments variables. Les mécanismes que nous proposons traitent l’information de variabilité des éléments structurels manipulés, les contraintes de variabilités associées aux éléments annotés variables ainsi que l’aspect structurel des modèles à composer. Les mécanismes de composition proposés sont définis selon des propriétés sémantiques bien précises décrivant le but de la composition. Ces propriétés sémantiques doivent alors être vérifiées tout au long du processus de composition. A la fin, une évaluation du travail effectué permet de montrer la capacité à composer des modèles de lignes de produits logiciels en un temps raisonnable ainsi que l’importance de la consolidation des modèles structurels dans la réduction du nombre de produits structurellement incomplets. / The Software Product Line (SPL) engineering aims at modeling and developing a set of software systems with similarities rather than individual software systems. Modeling task can be, however, tedious or even infeasible for large scale and complex SPLs. To address such a problem, the modeling task is distributed among different stakeholders. At the end, the models separately developed have to be composed in order to obtain the global SPL model. Composing SPL models is not a trivial task; variability information of model elements has to be treated during the composition, as well as the variability constraints. Similarly, the model structure and the composition semantics are key points that have to be considered during the composition. This thesis aims at providing specific mechanisms to compose SPL models. Therefore, we propose two composition mechanisms: the merge and the aggregation mechanisms. The merge mechanism aims at combining models including structural similarities. The aggregation mechanism, however, intends to compose models without any structural similarity but having eventual constraints across their structural elements. We focus on UML composite structures of SPLs and use specific annotations to identify variable elements. Our composition mechanisms deal with the variability information of structural elements, the variability constraints associated with the variable elements as well as the structures of the manipulated models. We also specify a set of semantic properties that have to be considered during the composition process and show how to preserve them. At the end, we have carried out an assessment of the proposals and have showed their ability to compose SPL models in a reasonable time. We have also showed how model consolidation is important in reducing le number of products having incomplete structure.
|
8 |
Recovering traceability links between artifacts of software variants in the context of software product line engineering / Identification des liens de traçabilité entre les artefacts logiciels d'applications similaires dans le contexte de l'ingénierie des lignes de produitsEyal Salman, Hamzeh 17 June 2014 (has links)
L'ingénierie des lignes de produits logiciels (Software Product Line Engineering-SPLE en Anglais) est une discipline qui met en œuvre des principes de réutilisation pour le développement efficace de familles de produits. Une famille de produits logiciels est un ensemble de logiciels similaires, ayant des fonctionnalités communes, mais néanmoins différents selon divers aspects; nous parlerons des différentes variantes d'un logiciel. L'utilisation d'une ligne de produit permet de développer les nouveaux produits d'une famille plus vite et d'augmenter la qualité de chacun d'eux. Ces avantages sont liés au fait que les éléments communs aux membres d'une même famille (besoin, architecture, code source, etc.) sont réutilisés et adaptés. Créer de toutes pièces une ligne de produits est une tâche difficile, coûteuse et longue. L'idée sous-jacente à ce travail est qu'une ligne de produits peut être créée par la réingénierie de logiciels similaires (de la même famille) existants, qui ont été préalablement développés de manière ad-hoc. Dans ce contexte, la contribution de cette thèse est triple. La première contribution est la proposition d'une approche pour l'identification des liens de traçabilité entre les caractéristiques (features) d'une application et les parties du code source qui les implémentent, et ce pour toutes les variantes d'une application. Ces liens sont utiles pour générer (dériver) de nouveaux logiciels par la sélection de leurs caractéristiques. L'approche proposée est principalement basée sur l'amélioration de la technique conventionnelle de recherche d'information (Information Retrieval –IR en Anglais) et des approches les plus récentes dans ce domaine. Cette amélioration est liée à deux facteurs. Le premier facteur est l'exploitation des informations liées aux éléments communs ou variables des caractéristiques et du code source des produits logiciels analysés. Le deuxième facteur concerne l'exploitation des similarités et des dépendances entre les éléments du code source. Les résultats que nous avons obtenus par expérimentation confirment l'efficacité de notre approche. Dans la deuxième contribution, nous appliquons nos résultats précédents (contribution no 1) à l'analyse d'impact (Change Impact Analysis –CIA en Anglais). Nous proposons un algorithme permettant à un gestionnaire de ligne de produit ou de produit de détecter quelles les caractéristiques (choix de configuration du logiciel) impactées par une modification du code. Cet algorithme améliore les résultats les plus récents dans ce domaine en permettant de mesurer à quel degré la réalisation d'une caractéristique est impactée par une modification. Dans la troisième contribution nous exploitons à nouveau ces liens de traçabilité (contribution No 1) pour proposer une approche permettant de satisfaire deux objectifs. Le premier concerne l'extraction de l'architecture de la ligne de produits. Nous proposons un ensemble d'algorithmes pour identifier les points de variabilité architecturale à travers l'identification des points de variabilité au niveau des caractéristiques. Le deuxième objectif concerne l'identification des liens de traçabilité entre les caractéristiques et les éléments de l'architecture de la ligne de produits. Les résultats de l'expérimentation montre que l'efficacité de notre approche dépend de l'ensemble des configurations de caractéristiques utilisé (disponibles via les variantes de produits analysés). / Software Product Line Engineering (SPLE) is a software engineering discipline providing methods to promote systematic software reuse for developing short time-to-market and quality products in a cost-efficient way. SPLE leverages what Software Product Line (SPL) members have in common and manages what varies among them. The idea behind SPLE is to builds core assets consisting of all reusable software artifacts (such as requirements, architecture, components, etc.) that can be leveraged to develop SPL's products in a prescribed way. Creating these core assets is driven by features provided by SPL products.Unfortunately, building SPL core assets from scratch is a costly task and requires a long time which leads to increasing time-to-market and up-front investment. To reduce these costs, existing similar product variants developed by ad-hoc reuse should be re-engineered to build SPLs. In this context, our thesis proposes three contributions. Firstly, we proposed an approach to recover traceability links between features and their implementing source code in a collection of product variants. This helps to understand source code of product variants and facilitate new product derivation from SPL's core assets. The proposed approach is based on Information Retrieval (IR) for recovering such traceability links. In our experimental evaluation, we showed that our approach outperforms the conventional application of IR as well as the most recent and relevant work on the subject. Secondly, we proposed an approach, based on traceability links recovered in the first contribution, to study feature-level Change Impact Analysis (CIA) for changes made to source code of features of product variants. This approach helps to conduct change management from a SPL's manager point of view. This allows him to decide which change strategy should be executed, as there is often more than one change that can solve the same problem. In our experimental evaluation, we proved the effectiveness of our approach in terms of the most used metrics on the subject. Finally, based on traceability recovered in the first contribution, we proposed an approach to contribute for building Software Product Line Architecture (SPLA) and linking its elements with features. Our focus is to identify mandatory components and variation points of components. Therefore, we proposed a set of algorithms to identify this commonality and variability across a given collection of product variants. According to the experimental evaluation, the efficiency of these algorithms mainly depends on the available product configurations.
|
9 |
Metamodels and feature models : complementary approaches to formalize product comparison matrices / Méta-modèles et modèles de caractéristiques : deux approches complémentaires pour formaliser les matrices de comparaison de produitsBécan, Guillaume 23 September 2016 (has links)
Les Matrices de Comparaison de Produits (MCP) sont largement répandues sur le web. Elles fournissent une représentation simple des caractéristiques d'un ensemble de produits. Cependant, le manque de formalisation et la grande diversité des MCP rendent difficile le développement de logiciels pour traiter ces matrices. Dans cette thèse, nous développons deux approches complémentaires pour la formalisation de MCP. La première consiste en une description précise de la structure et la sémantique d'une MCP sous la forme d'un meta-modèle. Nous proposons aussi une transformation automatique d'une MCP vers un modèle de MCP conforme au meta-modèle. La seconde approche consiste à synthétiser des modèles de caractéristiques attribués à partir d'une classe de MCP. Grâce nos contributions, nous proposons une approche générique et extensible pour la formalisation et l'exploitation de MCP. / Product Comparison Matrices (PCMs) abound on the Web. They provide a simple representation of the characteristics of a set of products. However, the lack of formalization and the large diversity of PCMs challenges the development of software for processing these matrices. In this thesis, we develop two complementary approaches for the formalisation of PCMs. The first one consists in a precise description of the structure and semantics of PCMs in the form of a metamodel. We also propose an automated transformation from PCMs to PCM models conformant to the metamodel. The second one consists in synthesizing attributed feature models from a class of PCMs. With our contributions, we propose a generic and extensible approach for the formalization and exploitation of PCMs.
|
10 |
Prise en charge du « copie et appropriation » dans les lignes de produits logiciels / Supporting Clone-and-Own in software product lineGhabach, Eddy 11 July 2018 (has links)
Une Ligne de Produits Logiciels (LPL) supporte la gestion d’une famille de logiciels. Cette approche se caractérise par une réutilisation systématique des artefacts communs qui réduit le coût et le temps de mise sur le marché et augmente la qualité des logiciels. Cependant, une LPL exige un investissement initial coûteux. Certaines organisations qui ne peuvent pas faire face à un tel investissement, utilisent le « Clone-and-own » C&O pour construire et faire évoluer des familles de logiciels. Cependant, l'efficacité de cette pratique se dégrade proportionnellement à la croissance de la famille de produits, qui devient difficile à maintenir. Dans cette thèse, nous proposons une approche hybride qui utilise à la fois une LPL et l'approche C&O pour faire évoluer une famille de produits logiciels. Un mécanisme automatique d’identification des correspondances entre les « features » caractérisant les produits et les artéfacts logiciels, permet la migration des variantes de produits développées en C&O dans une LPL. L’originalité de ce travail est alors d’aider à la dérivation de nouveaux produits en proposant différents scenarii d’opérations C&O à effectuer pour dériver un nouveau produit à partir des features requis. Le développeur peut alors réduire ces possibilités en exprimant ses préférences (e.g. produits, artefacts) et en utilisant les estimations de coûts sur les opérations que nous proposons. Les nouveaux produits ainsi construits sont alors facilement intégrés dans la LPL. Nous avons étayé cette thèse en développant le framework SUCCEED (SUpporting Clone-and-own with Cost-EstimatEd Derivation) et l’avons appliqué à une étude de cas sur des familles de portails web. / A Software Product Line (SPL) manages commonalities and variability of a related software products family. This approach is characterized by a systematic reuse that reduces development cost and time to market and increases software quality. However, building an SPL requires an initial expensive investment. Therefore, organizations that are not able to deal with such an up-front investment, tend to develop a family of software products using simple and intuitive practices. Clone-and-own (C&O) is an approach adopted widely by software developers to construct new product variants from existing ones. However, the efficiency of this practice degrades proportionally to the growth of the family of products in concern, that becomes difficult to manage. In this dissertation, we propose a hybrid approach that utilizes both SPL and C&O to develop and evolve a family of software products. An automatic mechanism of identification of the correspondences between the features of the products and the software artifacts, allows the migration of the product variants developed in C&O in an SPL The originality of this work is then to help the derivation of new products by proposing different scenarios of C&O operations to be performed to derive a new product from the required features. The developer can then reduce these possibilities by expressing her preferences (e.g. products, artifacts) and using the proposed cost estimations on the operations. We realized our approach by developing SUCCEED, a framework for SUpporting Clone-and-own with Cost-EstimatEd Derivation. We validate our works on a case study of families of web portals.
|
Page generated in 0.1073 seconds