Concepts: Analysis Mechanisms
Topics
- Persistency
For all classes whose instances may become persistent, we need to identify:
- Granularity: Range of size of the objects to keep persistent.
- Volume: Number of objects to keep persistent.
- Duration: How long does the object typically need to be kept.
- Retrieval mechanism: How is a given object uniquely identified and retrieved?
- Update frequency: Are the objects more or less constant; are they permanently
updated?
- Reliability: Shall the objects survive a crash of the process; the processor; or
the whole system?
- Inter-process Communication
For all model elements which needs to communicate with objects, components or services
executing in other processes or threads, we need to identify:
- Latency: How fast must processes communicate with another?
- Synchronicity: Asynchronous communication
- Size of message: A spectrum might be more appropriate than a single number.
- Protocol, flow control, buffering, and so on.
Other typical patterns include:
- Message routing
- Process control and synchronization
- Transaction management
- Information Exchange
- Security
- Redundancy
- Error reporting
- Format conversion
The process for describing analysis mechanisms is:
- Collect all analysis mechanisms in a list
The same analysis mechanism may appear under several different names across
different use-case realizations, or different designers. For example, storage,
persistency, database, and repository
might all refer to a persistency mechanism. Or inter-process communication,
message passing, or remote invocation might all refer to
and inter-process communication mechanism.
- Draw a map of the client classes to the analysis mechanisms

The classes and component subsystems identified need to be mapped
onto the identified Analysis Mechanisms: the arrows indicate that the class utilizes
the mechanism. It is not uncommon for a client class to require the services of several
mechanisms.
- Identify Characteristics of the Analysis Mechanisms
To discriminate across a range of potential designs, identify the key characteristics used
to qualify each analysis mechanism. These characteristics are part functionality, and part
size and performance.
| |

|