Qospl: a quality of service-driven software product line engineering framework for design and analysis of component-based distributed real-time and embedded systems

  • Authors:
  • Barrett R. Bryant;Shih-Hsi Liu

  • Affiliations:
  • The University of Alabama at Birmingham;The University of Alabama at Birmingham

  • Venue:
  • Qospl: a quality of service-driven software product line engineering framework for design and analysis of component-based distributed real-time and embedded systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software complexity may be reduced and productivity may be increased by the synergy of Component-Based Software Engineering and Software Product Line Engineering. The synergistic techniques decrease complexity by uplifting software artifacts to a higher abstraction level, namely the component level, and defining the interfaces, interactions, and contexts of such artifacts for composing software systems. Such synergistic techniques also facilitate productivity increase by promoting feature reusability, leveraging component replacement and offering selectivity among product variants. When applied to Distributed Real-time and Embedded (DRE) systems, however, these technologies must fulfill such systems' time-critical missions and numerous functional and Quality of Service (QoS) requirements. New critical challenges to be solved are QoS sensitivity that influences functional validity and performance quality, tangled requirements that increase the complexity of requirements evaluation and abundant unsatisfactory design artifacts that introduce unnecessary development workload. With an aim to answer the QoS sensitivity problem and alleviate the requirements evaluation complexity and development workload in the analysis and design workflows of a DRE software product line construction, this dissertation introduces a Quality of Service-driven software Product Line engineering framework (QoSPL). Such a framework consists of domain engineering, application engineering and quantitative analysis processes. The domain engineering process analyzes QoS requirements, represented as the execution flows of application-specific and functionality-determined tasks, and their common and variable features by means of a grammar-oriented specification language. The application engineering process models a set of execution flows to describe the behavioral characteristics of a DRE system by means of formalism with concurrent and asynchronous behaviors in a timely manner. A DRE software product line can be realized by varying different components and/or execution flows. The quantitative analysis process utilizes evolutionary algorithms to simulate the influence factors of the deployment environment and to search the optimal simulation results. Less probable design artifacts in terms of their QoS requirements can be eliminated by means of programs written in a domain-specific language. Adaptive approaches written in the domain-specific language hasten the convergence rates and/or obtain better optimal results for the quantitative analysis process. This dissertation provides two case studies and a number of experimental results to show the benefits of using QoSPL for a DRE software product line construction.