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