9.3. 9.3 A Tangible Description for Parallel Software Systems

A tangible, architectural description for parallel software systems normally consists of software components, software connectors and a boundary of the parallel software system. The software components are made tangible by enclosing them in implementation containers. Every level of implementation container has a contained-in relationship with each other.

One description of parallel software systems is based on the concept of Layers of Change [Bra95] and their interpretation in hardware and software terms [OR99a] [OR99b]. In this description, software components are classified and grouped into 'layers' of design and implementation, depending on their change rate - the speed at which different software components tend to evolve during the lifetime of a software system. This generic architectural description of software provides a basis for designing emergent properties of the software system. Emergent properties include changeability, maintainability and other properties that depend on the whole system for their expression.

A three-layered architectural description model seems to be sufficient to analyze the characteristics of a parallel software system. The idea is to keep this model as simple as possible while making it an accurate description of software components and their interactions. Some software components are clearly related to elements of hardware, some are clearly just software components. An architectural ...

Get Patterns for Parallel Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.