Characteristics of Higher-Level Languages for Software Architecture.

Abstract

As the size and complexity of software systems increases, the design and specification of overall system structure-or software architecture-emerges as a central concern. Architectural issues include the gross organization of the system, protocols for communication and data access, assignment of functionality to design elements, and selection among design alternatives. Currently system designers have at their disposal two primary ways of defining software architecture: they can use the modularization facilities of existing programming languages and module interconnection languages; or they can describe their designs using informal diagrams and idiomatic phrases (such as 'client-server organization'). In this paper we explain why neither alternative is adequate. We consider the nature of architectural description as it is performed informally by systems designers. Then we show that regularities in these descriptions can form the basis for architectural description languages. Next we identify specific properties that such languages should have. Finally, we illustrate how current notations fail to satisfy those properties.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 1994
Accession Number
ADA292215

Entities

People

  • David Garlan
  • Mary Shaw

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Engineering
  • Governments
  • High Level Languages
  • Kernels (Operating System)
  • Language
  • Notation
  • Operating Systems
  • Programming Languages
  • Shell Scripts
  • Software Design
  • Software Development
  • United States Government

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Software Engineering.