Enabling Iterative Software Architecture Derivation Using Early Non-Functional Property Evaluation

  • Authors:
  • K. Suzanne Barber;Tom Graser;Jim Holt

  • Affiliations:
  • -;-;-

  • Venue:
  • Proceedings of the 17th IEEE international conference on Automated software engineering
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The structure of a software architecture strongly influences the architecture's ability to prescribe systems satisfying functional requirements, non-functional requirements, and overall qualities such as maintainability, reusability, and performance. Achieving an acceptable architecture requires an iterative derivation and evaluation process that allows refinementbased on a series of tradeoffs. Researchers at the University of Texas at Austin are developing a suite of processes and supporting tools to guide architecture derivation from requirements acquisition through system design. The various types of decisions needed forconcurrent derivation and evaluation demand a synthesis of evaluation techniques, because no single technique is suitable for all concerns of interest. Two tools in this suite, RARE and ARCADE, cooperate to enable iterative architecture derivation and architecture propertyevaluation. RARE guides derivation by employing a heuristics knowledge base, and evaluates the resulting architecture by applying static property evaluation based on structural metrics. ARCADE provides dynamic property evaluation leveraging simulation and model-checking.This paper presents a study whereby RARE and ARCADE were employed in the early stages of an industrial project to derive a Domain Reference Architecture (DRA), a high-level architecture capturing domain functionality, data, and timing. The discussion emphasizes early evaluation of performance qualities, and illustrates how ARCADE and RARE cooperate toenable iterative derivation and evaluation. These evaluations influenced DRA refinement as well as subsequent design decisions involving application implementation and computing platform selection.