![](/images/new-backgrounds/1147871/147871193x1.webp)
Locality semantics
Localities are used to capture the distribution characteristics of the system class, In particular, localities have class and instance attributes, and measures of effectiveness captured as tagged values. Because localities are parts of the system that host or implement functionality, they are used to reason about nonfunctional or quality aspects of the system.
Localities have two default sets of tags:
Quality: Reliability, availability, performance, capacity, and so forth
Management: Cost and technical risk
These locality characteristics form a nominal set. Each development team should determine the best set of characteristics for their project. This determination could be a development case specification activity.1
Locality characteristics are set to meet their derived requirements. There is a subtle difference between characteristics and requirements. For example, for good engineering reasons, you might specify a locality that exceeds requirements. In “Localities, services, and interfaces” on page 82 we show that localities host subsystem services.
Connection semantics
Localities are joined by connections, which represent the physical linkages between localities. Connections are stereotyped associations with tagged values, again capturing characteristics. Nominal connection tags are:
Throughput: Transfer rate, supported protocols
Management: Cost, technical risk
Because localities host services, connections must pass service invocations. In fact, there are at least three types of flow we have to consider in systems:
Control flow
Data flow
Material flow
Consider, for example, the throttle in an automobile. The throttle linkage is the control connection that transmits the service requests (open or close) to the
throttle. The gas line is also a connection to the throttle. The gasoline itself is not a service request, but rather a raw material used by the throttle to perform its
services. Finally, there can be a network data connection to the throttle containing an ongoing stream of environment and automobile status data that is used to adjust the response to the throttle.
1A development case is a RUP artifact to customize a development process.
Chapter 5. Understanding distribution of responsibility | 81 |