57 research outputs found

    Evaluation of Frame- and Feature-based Software Product Line Tools from the Viewpoint of Mass Customization by End Users

    Get PDF
    Customers expect Information and Communications Technology (ICT) platforms and applications to deliver services customized to their needs. Software product line (SPL) paradigm uses platforms and variability management to develop mass-customizable software applications. The paradigm necessitates effective software tools to manage platform and application artifacts and traceability and variability information. This paper constructs a comprehensive but lightweight tool evaluation framework and uses it to evaluate two tools, XML-based variant configuration language (XVCL) and FeaturePlugin – a feature modeling plug-in for Eclipse Integrated Development Environment. The paper analyzes the capabilities of the tools for enabling the mass customization of software applications by the end users performing complex workflows. Both the XVCL and FeaturePlugin tool envisage more efficient software system development by means of reusability, support for abstraction, and configuration mechanisms. Future research is needed to refine and validate the evaluation framework in the context of other types of SPL tools

    Managing Product Line Asset Bases

    Get PDF
    Product lines are predicated on collecting assets common to the desired product portfolio, commonly known as the asset base. For many product lines, the size of asset base has become large enough to create a variety of difficulties. The techniques for managing large product line asset bases are unaddressed in the literature. This research presents new techniques that take advantage of asset base characteristics, unavailable in more general collections, to both reduce the number of assets and to organize the asset base that go beyond what is possible with other software collections. The result is an asset base that is more efficient to use. Research related to improving the organization of the asset base was performed by taking the component assets of a research SPL and arranging them based on three different organizational criteria - according to the structure of the architecture, important abstractions (Key Domain Abstractions), and product features. The three resulting organizations were then studied using four evaluation criteria - natural division of assets into groups (assets fit into the groups provided by the organization), easy to map assets to organization criteria (mapping between the selection of a particular product variant and the assets needed to produce it), reasonably sized groups, and similarly sized groups. The effectiveness of the different organizations was then compared and recommendations concerning asset base organization provided. The literature indicates that large product lines are likely to contain multiple assets that provide the same functionality, but that differ in the program context that they support. The presence of the duplicative assets creates a number of problems including organization difficulties. In a SPL these differences in program context are the result of requirements expressed at the product`s variation points. The limited differences in program context make it practical to attempt to provide a modular solution which permits the desired variation to be assembled as needed. The research explored a number of different implementation mechanisms to provide these modular variation points. The result is a recommendation on how to implement SPL variation points provided in the form of a pattern language

    Addressing Fine-Grained Variability in User-Centered Software Product Lines: A Case Study on Dashboards

    Get PDF
    Software product lines provide a theoretical framework to generate and customize products by studying the target domain and by capturing the commonalities among the potential products of the family. This domain knowledge is subsequently used to implement a series of configurable core assets that will be systematically reused to obtain products with different features to match particular user requirements. Some kind of interactive systems, like dashboards, require special attention as their features are very fine-grained. Having the capacity of configuring a dashboard product to match particular user requirements can improve the utility of these products by providing the support to users to reach useful insights, in addition to a decrease in the development time and an increase in maintainability. Several techniques for implementing features and variability points in the context of SPLs are available, and it is important to choose the right one to exploit the SPL paradigm benefits to the maximum. This work addresses the materialization of fine-grained variability in SPL through code templates and macros, framed in the particular domain of dashboards

    Reengineering legacy software products into software product line

    Get PDF
    Ph.DDOCTOR OF PHILOSOPH

    Integrating the common variability language with multilanguage annotations for web engineering

    Get PDF
    Web applications development involves managing a high diversity of files and resources like code, pages or style sheets, implemented in different languages. To deal with the automatic generation of custom-made configurations of web applications, industry usually adopts annotation-based approaches even though the majority of studies encourage the use of composition-based approaches to implement Software Product Lines. Recent work tries to combine both approaches to get the complementary benefits. However, technological companies are reticent to adopt new development paradigms such as feature-oriented programming or aspect-oriented programming. Moreover, it is extremely difficult, or even impossible, to apply these programming models to web applications, mainly because of their multilingual nature, since their development involves multiple types of source code (Java, Groovy, JavaScript), templates (HTML, Markdown, XML), style sheet files (CSS and its variants, such as SCSS), and other files (JSON, YML, shell scripts). We propose to use the Common Variability Language as a composition-based approach and integrate annotations to manage fine grained variability of a Software Product Line for web applications. In this paper, we (i) show that existing composition and annotation-based approaches, including some well-known combinations, are not appropriate to model and implement the variability of web applications; and (ii) present a combined approach that effectively integrates annotations into a composition-based approach for web applications. We implement our approach and show its applicability with an industrial real-world system.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech

    Integration Features in the Development of Software Product Line Architecture

    Get PDF
    Title from PDF of title page, viewed on August 17, 2015Thesis advisor: Yongjie ZhengVitaIncludes bibliographic references (pages 33-36)Thesis (M.S.)--School of Computing and Engineering. University of Missouri--Kansas City, 2015Software product line architecture (PLA) is one of the most promising applications of software architecture. This paper presents a pragmatic PLA development approach with tool support. It addresses two existing issues of PLA development, the difficulty of relating product line features to PLA, and the overhead of manually creating and maintaining variation points in PLA. The approach is implemented and integrated in ArchStudio, an Eclipse-based architecture development toolset. The developed tool supports (1) side-by-side integrated development of features, PLA, and their relationships, (2) automatic variability modeling in PLA, and (3) derivation of architecture instances from the PLA model. To evaluate the scalability and effectiveness of the approach, I have used the work done by Adam Carter and Jeffrey Lanning [30] as a case study using the developed tool to create a feature-integrated architecture for the Apache Solr software system - a Java-based enterprise search server used in the Cerner Corporation.Introduction -- Background and related work -- Tools developed -- Implementation -- Results and evaluation -- Conclusion, availability, and future wor

    Managing Big Clones to Ease Evolution: Linux Kernel Example

    Full text link

    Taking advantage of the software product line paradigm to generate customized user interfaces for decision-making processes: a case study on university employability

    Get PDF
    [EN]University employment and, specifically, employability has gained relevance since research in these fields can lead to improvement in the quality of life of individual citizens. However, empirical research is still insufficient to make significant decisions, and relying on powerful tools to explore data and reach insights on these fields is paramount. Information dashboards play a key role in analyzing and visually exploring data about a specific topic or domain, but end users can present several necessities that differ from each other, regarding the displayed information itself, design features and even functionalities. By applying a domain engineering approach (within the software product line paradigm), it is possible to produce customized dashboards to fit into particular requirements, by the identification of commonalities and singularities of every product that could be part of the product line. Software product lines increase productivity, maintainability and traceability regarding the evolution of the requirements, among other benefits. To validate this approach, a case study of its application in the context of the Spanish Observatory for University Employability and Employment system has been developed, where users (Spanish universities and administrators) can control their own dashboards to reach insights about the employability of their graduates. These dashboards have been automatically generated through a domain specific language, which provides the syntax to specify the requirements of each user. The domain language fuels a template-based code generator, allowing the generation of the dashboards' source code. Applying domain engineering to the dashboards' domain improves the development and maintainability of these complex software products given the variety of requirements that users might have regarding their graphical interfaces

    A Systematic Study on Approaches to deal with the Systems’ Evolution and Customization

    Get PDF
    System developers often face problems in the maintenance and evolution of software systems when they need to customize products to meet different customers needs, by creating new components and modifying existing source code. In this work, it is presented a comparative analysis of existing approaches that deal with variations in Software Product Lines (LPS) through a rigorous study of the state of the art, observing their applicability to handle customizations
    corecore