Spelling suggestions: "subject:"lignes dde produits"" "subject:"lignes dee produits""
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 |
A Generic Approach for Automated Verification of Product Line ModelsMazo, Raul 24 November 2011 (has links) (PDF)
This thesis explores the subject of automatic verification of product line models. This approach is based on the hypothesis that to automatically verify product line models, they should first be transformed into a language that makes them computable. In this thesis, product line models are transformed into constraint (logic) programs, then verified against a typology of verification criteria. The typology enumerates, classifies and formalizes a collection of generic verification criteria, i.e. criteria that can be applied (with or without adaptation) to any product line formalism. The typology makes the distinction between two categories of criteria: criteria that deal with the formalism in which models are represented, and the formalism-independent criteria. To identify defects in the first category, the thesis proposes a conformance checking approach directly related with verification of the abstract syntactic aspects of a model. To identify defects in the second category, the thesis proposes a domain-specific verification approach. An optimal algorithm is specified and implemented in constraint logic program for each criterion in the typology. These can be used independently -or in combination- to verify individual product line models. The thesis offers to support the verification of multiple product line models using an integration approach. Besides, this thesis proposes a series of integration strategies that can be used before applying the verification as for individual models. The product line verification approach proposed in this thesis is generic in the sense that it can be reused for any kind of product line model that instantiates the generic meta model based on which it was developed. It is general in the sense that it supports the verification of a comprehensive collection of criteria defined in the typology. This approach was implemented in a prototype tool that supports the specification, transformation, integration, configuration, analysis and verification of product line models via constraints (logic) programming. A benchmark gathering a corpus of 54 product line models was developed, then used in a series of experiments. The experiments showed that (i) the implementation of the domain-specific verification approach is fast and scalable to product line models up-to 2000 artefacts; (ii) the implementation of the conformance checking approach is fast and scalable to product line models up-to 10000 artefacts; and (iii) both approaches are correct and useful for industrial-size models.
|
3 |
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.
|
4 |
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.
|
5 |
Leveraging software product lines engineering in the construction of domain specific languages / Usage de l'ingénierie de lignes de produits pour la construction de langages dédiésMéndez Acuña, David Fernando 16 December 2016 (has links)
La complexité croissante des systèmes logiciels modernes a motivé la nécessité d'élever le niveau d'abstraction dans leur conception et mis en œuvre. L'usage des langages dédiés a émergé pour répondre à cette nécessité. Un langage dédié permet de spécifier un système logiciel à travers des concepts relatifs au domaine d'application. Cette approche a plusieurs avantages tels que la diminution des détails techniques auxquels les développeurs doivent faire face, la séparation des préoccupations et la participation des experts du domaine dans le processus de développement. Malgré les avantages fournis par l'usage des langages dédiés, cette approche présente des inconvénients qui remettent en question sa pertinence dans des projets réels de développement logiciel. L'un de ces inconvénients est le coût de la construction des langages dédiés. La définition et l'outillage de ces langages est une tâche complexe qui prend du temps et qui requiert des compétences techniques spécialisées. Le processus de développement des langages dédiés devient encore plus complexe lorsque nous prenons en compte le fait que ces langages peuvent avoir plusieurs dialectes. Dans ce contexte, un dialecte est une variante d'un langage qui introduit des différences au niveau de la syntaxe et/ou de la sémantique. Afin de réduire le coût du processus de développement des langages dédiés, les concepteurs des langages doivent réutiliser autant de définitions que possible pendant la construction des variantes. Le but est d'exploiter les définitions et l'outillage définis précédemment pour dunaire au maximum, la mis en ouvre des zéro dans la construction de langages. Afin de répondre à la question de recherche précédemment énoncée, la communauté de recherche autour de l'ingénierie des langages a proposé l'usage des lignes de produits. En conséquence, la notion de lignes de langages a récemment émergé. Une ligne de langages est une ligne de produis où les produits sont des langages. Le principal but dans les lignes de langages est la définition indépendante de morceaux de langage. Ces morceaux peuvent être combinées de manières différentes pour configurer des langages adaptés aux situations spécifiques. D'une manière similaire aux lignes de produits, les lignes de langages peuvent être construites à partir de deux approches différentes: top-down et bottom-up . Dans l'approche top-down, les lignes de langages sont conçues et mis en œuvre au travers d'un processus d'analyse du domaine où les connaissances du domaine sont utilisées pour définir un ensemble de modules de langage qui réalisent les caractéristiques de la ligne de langages. En outre, les connaissances du domaine sont aussi utilisées pour représenter la variabilité de la ligne de langages à travers des modèles bien structurés qui, en plus, servent à configurer des langages particuliers. Dans l'approche bottom-up, les lignes des langages sont construites à partir d'un ensemble de variantes des langages existant au travers de techniques d'ingénierie inverse. À partir des approches précédemment énoncées, nous proposons deux contributions : (1) Des facilités pour supporter l'approche top-down. Nous proposons une approche de modularisation des langages qui permet la décomposition des langages dédiés comme modules de langages interdépendants. En plus, nous introduisons une stratégie de modélisation pour représenter la variabilité dans une ligne de langages. (2) Techniques d'ingénierie inverse pour supporter l'approche bottom-up. Comme deuxième contribution, nous proposons une technique d'ingénierie inverse pour construire, de manière automatique, une ligne de langages à partir d'un ensemble de variantes de langages existantes. Nos contributions sont validées à travers des cas d'étude industriels. / The use of domain-specific languages (DSLs) has become a successful technique in the development of complex systems because it furnishes benefits such as abstraction, separation of concerns, and improvement of productivity. Nowadays, we can find a large variety of DSLs providing support in various domains. However, the construction of these languages is an expensive task. Language designers are intended to invest an important amount of time and effort in the definition of formal specifications and tooling for the DSLs that tackle the requirements of their companies. The construction of DSLs becomes even more challenging in multi-domain companies that provide several products. In this context, DSLs should be often adapted to diverse application scenarios, so language development projects address the construction of several variants of the same DSL. At this point, language designers face the challenge of building all the required variants by reusing, as much as possible, the commonalities existing among them. The objective is to leverage previous engineering efforts to minimize implementation from scratch. As an alternative to deal with such a challenge, recent research in software language engineering has proposed the use of product line engineering techniques to facilitate the construction of DSL variants. This led the notion of language product lines i.e., software product lines where the products are languages. Similarly to software product lines, language product lines can be built through two different approaches: top-down and bottom-up. In the top-down approach, a language product line is designed and implemented through a domain analysis process. In the bottom-up approach, the language product line is built up from a set of existing DSL variants through reverse-engineering techniques. In this thesis, we provide support for the construction of language product lines according to the two approaches mentioned before. On one hand, we propose facilities in terms of language modularization and variability management to support the top-down approach. Those facilities are accompanied with methodological insights intended to guide the domain analysis process. On the other hand, we introduce a reverse-engineering technique to support the bottom-up approach. This technique includes a mechanism to automatically recover a language modular design for the language product line as we as a strategy to synthesize a variability model that can be later used to configure concrete DSL variants. The ideas presented in this thesis are implemented in a well-engineered language workbench. This implementation facilitates the validation of our contributions in three case studies. The first case study is dedicated to validate our languages modularization approach that, as we will explain later in this document, is the backbone of any approach supporting language product lines. The second and third case studies are intended to validate our contributions on top-down and bottom-up language product lines respectively.
|
6 |
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.
|
7 |
Configuration par modèle de caractéristiques adapté au contexte pour les lignes de produits logiciels : application aux Smart Buildings / Configuring context adapted feature models for software product linesPossompès, Thibaut 04 October 2013 (has links)
Les lignes de produits logiciels ont pour objectif la réutilisation des documents, codes sources, architectures, et plus généralement tout artefact créé durant le développement de logiciels d'un même domaine. Pour cette réutilisation, on utilise aujourd'hui des ``modèles de caractéristiques''. L'approche consiste à décrire dans ce modèle les caractéristiques des artefacts créés et les contraintes permettant de les assembler, puis à sélectionner les caractéristiques représentatives d'un nouveau produit en le générant en tout ou partie. Dans certaines situations, une caractéristique représente un artefact associé à un élément du contexte que le produit doit gérer. Une telle caractéristique, et les contraintes relatives à sa mise en œuvre, peuvent être clonées pour chaque occurrence de l'élément dans le contexte. Dans le cadre de cette thèse, nous cherchons à déterminer l'impact du contexte d'exécution d'un futur produit sur les caractéristiques d'une ligne de produits logiciels. Nous explorons tout d'abord les différentes manières de représenter un modèle de caractéristiques et le contexte d'un produit. Nous proposons ensuite une méthode générique pour adapter un modèle de caractéristiques aux éléments d'un contexte. Cette thèse a été réalisée dans le contexte du projet RIDER (Reasearch for ITDriven EneRgy efficiency). Ce projet a pour objectif la réduction des pertes énergétiques subies à cause d'une gestion inappropriée des sources et des besoins énergétiques des bâtiments. La variété des équipements et les spécificités de chaque bâtiment nécessitent une adaptation au cas par cas des logiciels d'optimisation énergétique. Nous proposons donc d'appliquer à ce projet une approche par lignes de produits logiciels, et plus particulièrement, notre méthode d'adaptation de modèles de caractéristiques au contexte, pour adapter les logiciels d'optimisation énergétique au contexte spécifique de chaque bâtiment. / Software product lines aim at reusing documents, source code, architectures, and, all artefact created during software development achieved in a given domain. Nowadays, we use ``feature models'' to facilitate the reuse of such elements. The approach consists in describing, in this feature model, artefacts and their usage constraints, and then to identify representative features for creating a new product. In some situations, a feature represents an artefact associated to a context element that must be handled by the product. Such a feature, and its related constraints, can be cloned for each occurrence of instances of this element in a given context. In this thesis, we are try to determine the impact of a product execution context on a future product features. We first explore different ways for representing feature models and a product context. Then, we propose a generic method to adapt a feature model to context elements. This thesis has been achieved in the context of the RIDER project (Research for IT Driven EneRgy efficiency). This project aims at reducing energy waste due to an inappropriate management of energy sources and needs. The heterogeneousness of building equipments and each building specificities require to adapt energy optimisation software. We propose to apply a software product line approach to this project. More precisely, we propose to apply to this project our feature model context adaptation methodology, in order to adapt energy optimisation software to each building specific context.
|
8 |
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.
|
9 |
CO-OVM: Une approche pratique pour la modélisation de la variabilité en Ingénierie SystèmeDumitrescu, Cosmin 02 June 2014 (has links) (PDF)
Systems engineering has emerged as an approach that enables the successful realization of individual complex systems. In the automotive industry, product variety introduces a complexity that renders systems engineering models difficult to manage. Models Based Systems Engineering increases the level of abstraction and of detail to which systems are documented, thus providing the perfect context for reuse. Our purpose was to adopt "Product Line Engineering" techniques and enable efficient reuse of systems engineering assets, while satisfying process needs in an automotive industry context. The challenge is twofold: (i) to understand the needs of a mass production industry for which the reuse is usually focused towards physical parts and (ii) to satisfy the needs for capturing variability in complement to systems engineering models, by drawing on software product lines techniques. The main proposal of the thesis is a metamodel that extends OVM models in order to adopt and adapt variability modeling to MBSE needs. Furthermore, several subjects were developed around this theme of variability modeling in order to improve and complete the systems engineering framework: a derivation approach based on viewpoints and a set of recommendation-based heuristics for the configuration process. In collaboration with the CEA-LIST, a tool prototype was developed, which enabled us to refine, test and validate the contributions, in the industrial context at Renault.
|
10 |
Méthodologie pour la dérivation comportementale de produits dans une ligne de produit logicielleIstoan, Paul 21 February 2013 (has links) (PDF)
Méthodologie pour la dérivation comportementale de produits dans une ligne de produit logicielle
|
Page generated in 0.0918 seconds