Table 5.1 summarizes the discussion of the characteristics of the allocation viewtype. The elements of the allocation viewtype are software elements and environmental elements. An environmental element represents a piece of an environmental structure, such as a processor, a disk farm, a configuration item, or a development group. The software elements in a style of the allocation viewtype come from a style in either the module or the C&C viewtype. The elements, not relations, from the module or C&C styles are emphasized in an allocation style.
The relation in an allocation viewtype is the allocated-to relation, with the direction from the software element to the environmental element. A single software element can be allocated to multiple environmental elements, and multiple software elements can be allocated to a single environmental element. If these allocations change over timeboth during development and execution of the systemthe techniques of specifying architectural dynamism can be brought to bear.
Software elements and environmental elements have properties. What the specific properties are depends on the purpose of the allocation. Allocating software to an environmental element always means matching required properties of the software element to the provided properties of the environmental element. If that property match cannot be made, an allocated-to relation would not be valid. For example, to ensure the required response time of a component, it has to execute on a sufficiently fast processor. This might be a simple comparison: An IEEE 754 single-precision floating-point multiply must execute in 50 microseconds. You can look at the instruction timings for the target processor to verify that this requirement will be met. These comparisons might be more complicated: The task cannot use more than 10 kilobytes of virtual memory. In this case, an execution model of the software element in question must be performed, and then the virtual memory usage can be determined.
Elements | Software element and environmental element. |
Relations |
Allocated-to. A software element is allocated to an environmental element. |
Properties of elements | A software element has required properties. An environmental element has provided properties that need to be matched. |
Properties of relations | Dependent on the particular style. |
Topology | Varies by style. |
The specific uses and notations for styles of the allocation viewtype are style specific and are covered in their respective sections. Even though the notation constituents are different for each style, the styles are dominated by the environmental elements; the software elements take a secondary role.
We now look at some of the more common styles of the allocation viewtype. Each of these styles constrains the basic allocation viewtype, perhaps adding specialized versions of elements and relation types.
Software Architectures and Documentation
Part I. Software Architecture Viewtypes and Styles
The Module Viewtype
Styles of the Module Viewtype
The Component-and-Connector Viewtype
Styles of the Component-and-Connector Viewtype
The Allocation Viewtype and Styles
Part II. Software Architecture Documentation in Practice
Advanced Concepts
Documenting Software Interfaces
Documenting Behavior
Choosing the Views
Building the Documentation Package
Other Views and Beyond
Rationale, Background, and Design Constraints
References