Analysis of FAIN System UC Model
Active networks provide a mechanism to enable third parties to dynamically inject application-specific services into networks. The injected applications will then be able to benefit from the support provided in terms of network and network management resources. However, dynamic injection of code from untrustworthy sources compromises the integrity of active networks. FAIN “Future Active IP Network” is a generic architecture for active networks which addresses this issue by achieving suitable tradeoffs between flexibility, performance, security and manageability. The use case model for the FAIN architecture is shown in Fig. 5.2.1.
Fig. 5.2.1. The original FAIN system use case diagram
This use case diagram yielded many antipattern matches all of which were the same type ‘Multiple actors initiating the same use case’. Table 10 shown below presents further details regarding the antipattern matches. Table 11 provides analyses of the antipattern matches and a description of any required countermeasures.
Table 10. First Iteration Matches:
Match No. |
Antipattern Matched |
Elements involved |
1 |
Multiple actors initiating the same use case |
Actors: Application
Provider and Management Service
Provider Use cases: New Application service Provision |
2 |
Multiple actors initiating the same use case |
Actors: Application
Provider, Protocol Provider, Customer and Active Network Operator Use cases: Terminal Connectivity |
3 |
Multiple actors initiating the same use case |
Actors: Management
Service Provider, and Active Network
Operator Use cases:
Connectivity Service |
4 |
Multiple actors initiating the same use case |
Actors: Sub Active
Network Operator and Active Network Operator Use cases: Layer Network Federation |
5 |
Multiple actors initiating the same use case |
Actors: Sub Active
Network Operator and Active Network
Operator Use cases:
Client-Server Layer Network |
6 |
Multiple actors initiating the same use case |
Actors: Active
Middleware Provider and Active Network
Operator Use cases: AN Platform Provision |
7 |
Multiple actors initiating the same use case |
Actors: Active Node
and Active Middleware Provider Use cases: A Node Vending |
Table 11. First Iteration Analyses:
Antipattern Match 1: Analysis: The actors
play different roles when the use case is performed. However, it is the Application Provider actor that initiates the use case. Corrective Actions: The arrow at
the end of the association with the Management Service Provider actor should be removed. |
Antipattern Match 2: Analysis: The actors
play different roles when the use case is performed. However, upon reviewing
the description of the Terminal Connectivity
use case, it is discovered that the use case was not initiated by any actor.
The use case describes a task that is required to be completed at the end of
the New
Application Service Provision use
case for the successful completion of the New Application Service Provision use case. Terminal Connectivity does not offer the actors any service on
its own. Corrective Actions: The behavior of the Terminal
Connectivity use case should be merged into the New Application Service
Provision use case. Terminal
Connectivity should then be removed from the diagram and all of its
association should be redirected to the New Application Service Provision use case. All association arrows should be
removed, except the original association with Application Provider. |
Antipattern Match 3: Analysis: The actors
play different roles when the use case is performed. However, it is the Management Service
Provider actor that initiates
the use case. Corrective Actions: The arrow at
the end of the association with the Active Network Operator actor should be removed. |
Antipattern Match 4: Analysis: The actors
play different roles when the use case is performed. Upon reviewing the
description of the Layer Network Federation
use case, it is discovered that the use case can be initiated by either actor
depending on the situation at hand. Corrective Actions: The arrows
at the end of both associations with the actors should be removed. |
Antipattern Match 5: Analysis: The actors
play different roles when the use case is performed. Upon reviewing the
description of the Client-Server Layer Network use case, it is discovered that the use case can be initiated by
either actor depending on the situation at hand. Corrective Actions: The arrows
at the end of both associations with the actors should be removed. |
Antipattern Match 6: Analysis: The actors
play different roles when the use case is performed. However, it is the Active Network Operator actor that initiates the use case. Corrective Actions: The arrow at
the end of the association with the Active Middleware Provider actor should be removed. |
Antipattern Match 7: Analysis: The actors
play different roles when the use case is performed. However, it is the Active Middleware
Provider actor that initiates
the use case. Corrective Actions: The arrow at
the end of the association with the Active Node Vendor actor should be removed. |
The corrective actions undertaken from the first iteration resulted in the use case diagram shown below in Fig. 5.2.2. No further antipattern matches were detected in the new use case diagram.
Fig. 5.2.2. The FAIN System after reviewing the antipattern matches