Defining the Output of a Software Architecture Process

M. Galster (Canada), A. Eberlein (UAE), and M. Moussavi (Canada)


Software architecture, framework, architecture representation


Software architectures can be represented in many different ways, e.g., using formalized notations, such as SDL, or less formal visualizations, like UML. Besides the notation, the representation also includes mechanisms for reasoning about the various concerns addressed in the architecture, e.g., functional aspects or run-time issues. However, deciding on an appropriate architecture representation in a software development project is a non trivial task. It mainly depends on the primary purpose of the architecture – or the individual models of the architecture in a particular context, the development resources available, and the expertise of developers involved. In this paper we present a framework that helps define and select an architecture representation for a particular purpose. Once a representation has been defined or selected, it can be used to create the actual architecture for a concrete software system. Thus, a representation determines the output format of a software architecture process. In the paper we also use this framework to define a view-based representation as an example of deploying the framework.

Important Links:

Go Back