Quality of Service-Driven Requirements Analyses for Component Composition: A Two-Level Grammar++ Approach

Abstract

Component-based software engineering provides developers the opportunity to assemble entire systems from components. When applied to Distributed Real-Time and Embedded (DRE) systems, which components to assemble and how to assemble them are determined not only from functional correctness criteria but also assurance of the system's quality of service (QoS). This paper presents a grammatical QoS-driven approach to optimizing component assembly by reducing the search space of assembly alternatives through the elimination of infeasible components, with feasible components selected based on reasoning about nonfunctional requirements. The reasoning is realized through a rule engine with a knowledge base derived from the requirements phase of the software life cycle. In addition, the grammatical approach introduces well-defined semantics among the components being composed. The semantics assist in precisely and efficiently evaluating the individual component QoS, as well as system-wide QoS in a programmable fashion. The result is to facilitate straightforward and manageable component composition analyses from the perspective of QoS requirements.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jul 01, 2005
Accession Number
ADA486399

Entities

People

  • Andrew M. Olson
  • Barrett R. Bryant
  • Fei Cao
  • Jeff Gray
  • Mikhail Auguston
  • Rajeev R. Raje
  • Shih-hsi Liu

Organizations

  • University of Alabama

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Algebraic Functions
  • Assembly
  • Computer Programming
  • Computer Science
  • Computers
  • Engineering
  • Grammars
  • Inference Engines
  • Information Science
  • Language
  • Linguistics
  • Production
  • Programming Languages
  • Reasoning
  • Semantics
  • Software Development
  • Specifications

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Distributed Systems and Data Platform Development
  • Software Engineering.

Technology Areas

  • Space