On the Role of Connectors in Modeling and Implementing Software Architectures

Abstract

Software architectures are software system models that represent the design of a system at a high level of abstraction. A software architecture typically focuses on the coarse-grained organization of functionality into components and on the explicit representation and specification of inter-component communication. A notable feature of many architectural models \201and the languages used to express them\202 is their representation of communication concerns in explicit model elements, which are typically called connectors. However there is little consensus yet in the software engineering community on the role of connectors in an architectural model, or even on the necessity of making them first-class model elements. In this paper we demonstrate the utility of explicit connectors in architectural models through a presentation and analysis of an architecture for a meeting scheduler system. We show how the functional abstraction provided by connectors contributes to the mobility, distribution and extensibility of the design, as well as its ability to sustain runtime structural change. Furthermore, we demonstrate how connectors encapsulate important aspects of inter-component communication, including the number and identity of communication recipients, the policy used to select these recipients, the choice of implementation technology for the communications, and architectural constraints on component composition.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 15, 1998
Accession Number
ADA634242

Entities

People

  • David S. Rosenblum
  • Peyman Oreizy
  • Richard N. Taylor

Organizations

  • University of California, Irvine

Tags

DTIC Thesaurus Topics

  • Air Force
  • California
  • Computer Networks
  • Computer Science
  • Computers
  • Computing System Architectures
  • Connectors
  • Engineering
  • Language
  • Network Topology
  • Networks
  • Software Design
  • Software Development
  • Specifications
  • Standards
  • User Interface
  • Wide Area Networks

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.
  • Software Engineering.
  • Strategic Security Studies