6 research outputs found

    Aspectual separation of feature dependencies for flexible feature composition

    Get PDF
    Aspect-oriented programming (AOP) provides effective mechanisms for improving the modularity of feature implementations. However, as features in general are not independent of each other, changes in the implementation of one feature may cause changes to or side effects in the implementation of other features. We address this challenge by separating feature dependencies from feature implementations using AOP techniques. Specifically, this paper contributes by providing aspect-oriented implementation patterns for feature dependencies (e.g., modification dependency and activation dependency). With the resulting clear separation of dependencies, this approach makes each feature implementation easier to understand and reuse. A product line of scientific calculator applications is used to demonstrate and evaluate the proposed approach

    A Generic method for assembling software product line components

    Get PDF
    Software product lines (SPL) facilitate the industrialization of software development. The main goal is to create a set of reusable software components for the rapid production of a software systems family. Many authors propose different approaches to implement and assemble the reusable components of an SPL. However, the construction and assembly of these components continue to be a complex and time-consuming process. This thesis analyzes the advantages and disadvantages of the current approaches to implement and assemble the reusable components of an SPL. Taking advantage of these elements and with the goal of developing a generic method (which can be applied to several software components developed in different software languages), we develop Fragment-oriented programming (FragOP), a framework to design, implement and reuse SPL domain components. FragOP is based on: (i) domain components, (ii) domain files, (iii) fragmentation points, (iv) fragments, (v) customization points, and (vi) customization files. FragOP was implemented in an open-source tool called VariaMos, and we also carried out three evaluations: (i) we created a clothing stores SPL, derived five different products, and discussed the results. (ii) We developed a discussion about the comparison between FragOP and other approaches. And (iii) we designed and executed a usability test of VariaMos to support the FragOP approach. The results show preliminary evidence that the use of FragOP reduces the manual intervention when assembling SPL domain components and it can be used as a generic method for assembling assets and SPL components developed in different software languages.Las líneas de productos de software (LPS) promueven la industrialización del desarrollo de software mediante la definición y ensamblaje de componentes reutilizables de software. Actualmente existen diferentes propuestas para implementar y ensamblar estos componentes. Sin embargo, su construcción y ensamblaje continúa siendo un proceso complejo y que requiere mucho tiempo. Esta tesis analiza las ventajas y desventajas de las diferentes estrategias actuales para implementación y ensamblaje de componentes de LPS. Con base en esto y con el objetivo de desarrollar un método genérico (el cual se pueda aplicar a múltiples componentes de software desarrollados en diferentes lenguajes), esta tesis desarrolla la programación orientada a fragmentos (FragOP), la cual define un marco de trabajo para diseñar, implementar y reutilizar componentes de dominio de LPS. FragOP se basa en: (i) componentes de dominio, (ii) archivos de dominio, (iii) puntos de fragmentación, (iv) fragmentos, (v) puntos de personalización, y (vi) archivos de personalización. Además, se realizó una implementación de FragOP en una herramienta llamada VariaMos, y se llevaron a cabo tres evaluaciones: (i) se creó una LPS de tiendas de ropa, se derivaron cinco productos y se discutieron los resultados. (ii) Se realizó una discusión acerca de la comparación de FragOP y otras propuestas actuales. Y (iii) se diseñó una prueba de usabilidad acerca del soporte de VariaMos para FragOP. Los resultados muestran evidencia preliminar de que el uso de FragOP reduce la intervención manual cuando se ensamblan componentes, y que FragOP puede usarse como un método genérico para el ensamblaje de componentes.Doctorad

    Une modélisation de la variabilité multidimensionnelle pour une évolution incrémentale des lignes de produits

    Get PDF
    Le doctorat s'inscrit dans le cadre d'une bourse CIFRE et d'un partenariat entre l'ENSTA Bretagne, l'IRISA et Thales Air Systems. Les préoccupations de ce dernier, et plus particulièrement de l'équipe de rattachement, sont de réaliser des systèmes à logiciels prépondérants embarqués. La complexité de ces systèmes et les besoins de compétitivité associés font émerger la notion de "Model-Based Product Lines(MBPLs)". Celles-ci tendent à réaliser une synergie de l'abstraction de l'Ingénierie Dirigée par les Modèles (IDM) et de la capacité de gestion de la capitalisation et réutilisation des Lignes de Produits (LdPs). La nature irrévocablement dynamique des systèmes réels induit une évolution permanente des LdPs afin de répondre aux nouvelles exigences des clients et pour refléter les changements des artefacts internes de la LdP. L'objectif de cette thèse est unique, maîtriser des incréments d'évolution d'une ligne de produits de systèmes complexes, les contributions pour y parvenir sont duales. La thèse est que 1) une variabilité multidimensionnelle ainsi qu'une modélisation relationnelle est requise dans le cadre de lignes de produits de systèmes complexes pour en améliorer la compréhension et en faciliter l'évolution (proposition d'un cadre générique de décomposition de la modélisation et d'un langage (DSML) nommé PLiMoS, dédié à l'expression relationnelle et intentionnelle dans les MBPLs), et que 2) les efforts de spécialisation lors de la dérivation d'un produit ainsi que l'évolution de la LdP doivent être guidé par une architecture conceptuelle (introduction de motifs architecturaux autour de PLiMoS et du patron ABCDE) et capitalisés dans un processus outillé semi-automatisé d'évolution incrémentale des lignes de produits par extension.The PhD (CIFRE fundings) was supported by a partnership between three actors: ENSTA Bretagne, IRISA and Thales Air Systems. The latter's concerns, and more precisely the ones from the affiliation team, are to build embedded software-intensive systems. The complexity of these systems, combined to the need of competitivity, reveal the notion of Model-Based Product Lines (MBPLs). They make a synergy of the capabilities of modeling and product line approaches, and enable more efficient solutions for modularization with the distinction of abstraction levels and separation of concerns. Besides, the dynamic nature of real-world systems induces that product line models need to evolve continually to meet new customer requirements and to reflect changes in product line artifacts. The aim of the thesis is to handle the increments of evolution of complex systems product lines, the contributions to achieve it are twofolds. The thesis claims that i) a multidimensional variability and a relational modeling are required within a complex system product line in order to enhance comprehension and ease the PL evolution (Conceptual model modularization framework and PliMoS Domain Specific Modeling Language proposition; the language is dedicated to relational and intentional expressions in MBPLs), and that ii) specialization efforts during product derivation have to be guided by a conceptual architecture (architectural patterns on top of PLiMoS, e.g.~ABCDE) and capitalized within a semi-automatic tooled process allowing the incremental PL evolution by extension.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF
    corecore