An Overview of ARBIUM and its Operation to Detect Antipattern Matches

Tool Support for Antipattern Detection

Even though antipatterns provide information to avoid bad UC modeling habits, they do not control the speed and accuracy of their application. Relying only on human analysts to search through the UC models for risky areas similar to those defined in the antipatterns may still require a lot of time and effort, depending on the skills of the analysts. The cumbersome task of manually juxtaposing antipatterns with UC models may significantly hinder the quality of the UC models as many antipatterns may go undetected.

Automated Risk-Based Inspection of UC Models (ARBIUM)

ARBIUM is an automated risk-based tool that facilitates that search for low quality structures described in antipatterns. An analyst is then required to judge whether the debatable section requires modification or fixing, or if it is a deliberate design decision. Deficiencies that can be found using static analysis mainly occur due to syntax errors in the UC models; such deficiencies can be programmatically detected (perhaps also fixed) by software tools, saving the analysts time and effort, which in turn will save money and other resources. However, ARBIUM is not intended to detect such type of deficiencies. Instead, ARBIUM targets the other type of deficiencies, those that require human intervention.

    The debatable low quality structures described in antipatterns are inputted into ARBIUM using OCL (Object Constraint Language). In addition to being able to describe any antipattern to be searched for, ARBIUM is provided with a set of predefined antipatterns, which analysts may utilize to improve their models. The predefined antipatterns are also described using OCL and will be searched for in the MAPSTEDI system’s UC diagram, later in section 5.

The juxtaposition process is carried out by the tool USE. USE is a system that checks the integrity of information systems against constraints described in OCL. ARBIUM will generate two input files for USE: (a) a specifications file and (b) a script file. The specifications file describes the class structure of a UC diagram, which is preset by ARBIUM. Moreover, the specifications file contains the set of antipatterns specified by the analyst. The script file loads an object representation of the properties of the given UC diagram. After completing the juxtaposition process, USE presents any antipattern matches for analysts to review. An overview of how ARBIUM along with USE can be used to search for antipatterns is shown below:

 

 

The static structure of the UC model incorporated by ARBIUM is based on the following simplified UC metamodel:

 

 

This static structure is represented under the USE specification language in the corresponding “.use” specifications file (UseCaseModel.use). The predefined and custom made written antipatterns are added to this specifications file.

A given UC model that is created using a UML modeling tool is entered into ARBIUM. ARBIUM was provided UC models created by MagicDraw 10.5. For more information about MagicDraw, please visit www.magicdraw.com. The UC model, which is entered in XML format, is converted into an object model representing the elements of the UC diagram, such as actors, UCs and relationships. For illustrative purposes, we will input the Database Integrator UC diagram from the MAPSTEDI system.

 

 

 

 

 

 

 

 

 

 

 

 


The object structure of structure is then created and a script file is created to represent the object structure of our given UC diagram. The object structure is presented on the left-hand pane of the tool and is represented as a tree structure. ARBIUM offers a feature that allows users to bypass the use of a UML modeling tool to enter their UC diagram properties. This feature allows users to enter their UC diagram properties manually. This can be achieved by clicking on the “Elements” menu.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


The script file is then created and its contents are displayed on the right-hand pane of the tool. The script file has a “.cmd” extension and can be obtained here (DBIntegrator.cmd).

 

 

At that point, ARBIUM will allow analysts to describe their antipatterns using OCL and to specify any of the predefined antipatterns to be searched for. The predefined antipatterns are those presented on the homepage. And these can be added to the “.use” file by clicking on the “Antipatterns” menu and adding the desired antipatterns:

 

 

Before adding the predefined antipatterns, ARBIUM will require the user to select the “.use” file that the user wishes the antipatterns to be added to. As mentioned earlier, a user can add custom made antipatterns using OCL statements, similarly by click on “Antipatterns” menu again:

 

 

As noticed, any OCL statement is usually written under a certain context. Therefore the user is provided a will a pull-down menu that lists all the contexts which OCL can be written in. If the OCL statement is not embodied under any context, then any arbitrary context can be used and will suffice.

 

Upon adding the desired antipatterns to the “.use” file, the final “.use” file will be UseCaseModel.use

 

At that point, the tool USE is utilized whereby our UseCaseModel.use file is inputted followed by the script file DBIntegrator.use

 

 

The model now is ready to undergo the juxtaposition process, which is effectively evaluating the invariants and checking if that have been satisfied or not:

 

 

ARBIUM is currently undergoing a few iterations of refinement and finalizations. ARBIUM will be made available upon its completion.

 

 

 

 

If you have any suggestions or concerns regarding this page, please send an email to the author melattar@ualberta.ca