57 research outputs found
Evaluation of Frame- and Feature-based Software Product Line Tools from the Viewpoint of Mass Customization by End Users
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
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
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
Ph.DDOCTOR OF PHILOSOPH
Integrating the common variability language with multilanguage annotations for web engineering
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
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
Taking advantage of the software product line paradigm to generate customized user interfaces for decision-making processes: a case study on university employability
[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
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
Exploiting similarity patterns in web applications for enhanced genericity and maintainability
Ph.DDOCTOR OF PHILOSOPH
- …