• No results found

Vol 9, No 1 (2014)

N/A
N/A
Protected

Academic year: 2020

Share "Vol 9, No 1 (2014)"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 36

An Efficient Design Tool to Detect

Inconsistencies in UML Design Models

Mythili Thirugnanam

Assistant Professor (Senior)

School of Computing Science and Engineering VIT University,Vellore, Tamil Nadu

Sumathy Subramaniam

Assistant Professor (SG)

School of Information Technology and Engineering VIT University, Vellore, Tamil Nadu

ABSTRACT

Quality of any software developed is evaluated based on the design aspect. Design is one of the most important phases in software life cycle. Poor process design leads to high failure rate of the software. To design the software, various traditional and UML models are widely used. There are many tools proposed and are available to design the UML models as per the user requirements. However, these tools do not support validation of UML models which, ultimately leads to design errors. Most of the existing testing tools check for consistency of the UML models. Some tools check for inconsistency of the UML models that does not follow the consistency rule required for UML models. The proposed work aims to develop an efficient tool, which detects the inconsistency in the given UML models. Parsing techniques are applied to extract the XML tags. The extracted tags contain relevant details such as class name, attribute name, operation name and the association with their corresponding names in Class diagram in the Meta model format. On adopting the consistency rules for the given input UML model, inconsistency is detected and a report is generated. From the inconsistency report, error efficiency and design efficiency is computed.

Keywords

Software Design, Unified Modeling Language (UML), Testing, Extensible Markup Language (XML).

1. INTRODUCTION

(2)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 37 Modeling Language (UML) is now widely accepted as the standard modeling language for software construction and is gaining wide acceptance. The class diagram in its core view provides the backbone for any modeling effort and has well formed semantics.

2. BACKGROUND STUDY

Alexander Egyed [4, 5] presents an automated approach for detecting and tracking inconsistencies in real time and to automatically identify changes in various models that affect the consistency rules. The approach observes the behavior of consistency rules to understand how they affect the model. Techniques for efficiently detecting inconsistencies in UML Models identifying the changes required to fix problems are analyzed. The work describes a technique for automatically generating a set of concrete changes for fixing inconsistencies and providing information about the impact of each change on all consistency rules. The approach is integrated with the design tool IBM Rational Rose TM. Muhammad Usman [9] presents a survey of UML consistency checking techniques by analyzing various parameters and constructs an analysis table. The analysis table helps evaluate existing consistency checking techniques and concludes that most of the approaches validate intra and inter level consistencies between UML models by using monitoring strategy. UML class, sequence, and state chart diagrams are used in most of the existing consistency checking techniques. Alexander Egyed demonstrates [3] that a tool can assist the designer in discovering unintentional side effects, locating choices for fixing inconsistencies, and then in changing the design model.

The paper examines the impact of changes on UML design models [10] and explores the methodology to discover the negative side effects of design changes, and to predict the positive and negative impact of these choices. Alexander Egyed [1, 2] presents an approach for quickly, correctly, and automatically deciding the consistency rules required to evaluate when a model changes. The approach does not require consistency rules with special annotations. Instead, it treats consistency rules as black-box entities and observes their behavior during their evaluation to identify the different types of model elements they access.

(3)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 38 inconsistencies in few UML Models. The work proposed in [11] attempts to address and detect inconsistencies in UML Models like Class diagram, Use case diagram, Sequence diagram and so on. A survey exploring the impact of model driven software development is given in [12]. Change in impact analysis, consistency management and uncertainty management, inconsistency detection and resolution rules are dealt in the work.

3. FRAME WORK OF THE PROPOSED WORK

Figure 1. Framework of the proposed work

4. DETAILED DESCRIPTION OF THE PROPOSED WORK

The framework of the proposed work is given in Figure 1.

4.1. Converting UML model into XML file

An UML design diagram does not support to directly detect the inconsistency which is practically impossible. UML model is converted into XML file for detecting the inconsistency in the model. UML models such as use case diagram, class diagram and sequence diagram can be taken as input for this tool. The final output of this module is XML file which is used further to detect the inconsistency. The snapshot of getting input file is shown in Figure 2.

Extract the XML tags

Apply parsing Technique Applying consistency

rules

Detect Inconsistency in the given input Generate the

Inconsistency report

(4)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 39

Procedure used:

 Convert the chosen input design into a XML file

 Select Input File Export as XML file VP-UML project  Select the diagram that needs to be exported

 Select the location for exported file to be stored

The input file is read from the user to carry out further process (Figure 2). Here, Use Case Diagram is read as input file. The input diagram is stored as XML file and passed as the input to the next process that extracts the XML tags.

4.2. Extracting the XML tags and applying the parsing technique From the XML file, the XML tags are extracted. The parsing technique is applied on the XML tags to identify the related information of the given model which is in Meta model format [3]. For example, in class diagram, the class name, its attributes and methods are identified. All the related information of the given input model is extracted.

Procedure used:

 Open the XML file  Copy the file as text file

 Split the tag into tokens Extract the relevant information about the diagram

 Save the extracted result in a file.

Figure 3 & 4 describes the above mentioned procedure. The XML file is considered as the input for this step. This method adopts the tokenizer concept to split the tags and store.

4.3. Detecting the design inconsistency:

The consistency rules [8, 10] are applied on the related information of the given input design diagram to detect the inconsistency. The related information which does not satisfy the rule has design inconsistency for the given input model. All possible inconsistency is detected as described below. Figure 5 shows the inconsistencies in given use case diagram.

4.3.1. Consistency rule for the Class Diagram:  Visibility of a member should be given.  Visibility of all attributes should be private.  Visibility of all methods should be public.

 Associations should have cardinality relationship.

(5)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 40

4.3.2. Consistency rule for the Use Case Diagram Every actor has at least one relationship with the use case.

 System boundary should be defined.

 All the words that suggest incompleteness should be removed such as some and etc.

4.3.3. Consistency rule for the Sequence Diagram

 All objects should have at least one interaction with any other object  For each message proper parameters should be included

Procedure used:

 Select the Input design model

 Based on the chosen design model (Class diagram, Use case diagram and Sequence diagram) inconsistency is detected and the extracted result is compared with given consistency rule.

4.4. Generating the inconsistency report

A collective report is generated for all the inconsistencies that are detected in the given input model. The report provides the overall inconsistency of the given input model which is taken care during the implementation.

4.5. Computing Design Efficiency

The total number of possible errors in the design model is estimated [10]. Then the total number of errors found in the input design model is determined with the procedures discussed. The error efficiency is computed using equation 1. From the calculated error efficiency of the design, the design efficiency is computed using equation 2. The implementation of the same is shown in Figure 6.

[eq 1]

[eq 2]

5. RESULTS & DISCUSSION

(6)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 41 any constraint on the maximum number of lines of code. This added feature makes this tool more versatile when compared with the existing tools. Various design models for different scenarios were taken as samples and tested for consistency. The results obtained proved that the developed tool was able to detect all the inconsistencies available in the given input model.

Figure 2. Selecting input model (UML model is the chosen Use Case Design)

(7)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 42 Figure 4. Snapshot shows relavent information obtained from the given design from XML file

(8)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 43

Figure 6 . Snapshot shows efficency of the given input design model

6. CONCLUSION AND FUTURE ENHANCEMENT

Inspection and testing of the software are the important approaches in software engineering practice that addresses to reduce the amount of defects in software products. Software inspection focuses on design specifications in early phases of software development whereas traditional testing approaches focus on implementation phases or later. Software inspection is widely regarded as an effective defect finding technique. Recent research has considered the application of tool support as a means to increase its efficiency. During the design model, construction and validation of variety of faults can be found. Testing at the early phase in software life cycle not only increases quality but also reduces the cost incurred. The developed tool can help to enforce the inspection process and provide support for finding defects in the design model, and also compute the design efficiency on deriving the error efficiency. This work would take care of the major constraints imposed while creating design models such as class diagram, use case diagram and sequence diagram. Further enhancement of the proposed work is to address the other major constraints in class diagrams such as inheritance, association, cardinality constraints and so on.

REFERENCES

[1] A.Egyed and D.S.Wile, Supporting for Managing Design-Time Decision, IEEE Transactions on Software Engineering, 2006.

(9)

IJCSBI.ORG

ISSN: 1694-2108 | Vol. 9, No. 1. JANUARY 2014 44 [3] A.Egyed, Instant Consistency Checking for UML, Proceedings of the International

Conference on Software Engineering, 2006.

[4] A.Egyed, E.Letier, A.Finkelstein, Generating and Evaluating Choices for Fixing Inconsisentices in UML Design Models, International Conference on Software Engineering, 2008.

[5] A Egyed, Automatically Detecting and Tracking Inconsistencies in Software Design Models IEEE Transactions on Software Engineering, ISSN: 0098-5589, 2009.

[6] C.Nentwich, I.Capra and A.Finkelstein, xlinkit: a consistency checking and smart link generation service, ACM transactions on Internet Technology, 2002.

[7] C.Nentwich, W. Emmerich and A.Finkelstein, Consistency Management with Repair Actions, ICSE, 2003.

[8] Diana kalibatiene , Olegas Vasilecas , Ruta Dubauskaite , Ensuring Consistency in Different IS models – UML case study , Baltic J.Modern Computing , Vol.1 , No.1-2,pp.63-76 ,2013.

[9] Muhammad Usman, Aamer Nadeem, Tai-hoon Kim, Eun-suk Cho, A Survey of Consistency Checking Techniques for UML Models , Advanced Software Engineering & Its Applications,2008.

[10]R. Dubauskaite, O.Vasilecas, Method on specifying consistency rules among different aspect models, expressed in UML, Elektronika ir elekrotechnika , ISSN 1392 -1215. Vol.19, No.3, 2013.

[11]Rumbaugh, J., Jacobson, I., Booch, G., The Unified Modeling Language Reference Manual. AddisonWesley, 1999.

[12] Amal Khalil and Juergen Dingel, Supporting the evolution of UML models in model driven software developmeny: A Survey, Technical Report, School of Computing, Queen’s University, Canada, Feb 2013.

This paper may be cited as:

Thirugnanam, M. and Subramaniam, S., 2014. An Efficient Design Tool to Detect Inconsistencies in UML Design Models. International Journal of

References

Related documents

This study was focused on concentration analysis of heavy metals, namely Aluminium (Al), Iron (Fe), Cadmium (Cd), and Lead (Pb) in tissue of Meretrix meretrix

availability of a dental clinic on campus, the value of preventive care regarding their oral health, the barriers preventing them from accessing the dental clinic, and lastly, do the

followed fairly closely in seven of the sectors (coal, irrigation, oil/gas, power, roads, telecommaunications and water/sewerage), but in the other six the focus is heavily

Black parents created Operation Exodus, a grassroots movement aimed at enrolling Roxbury children in other Boston schools, in response to the Boston School Committee's

As a result, moving from the complete-market economy with simple utility function to our benchmark economy with incomplete markets and non-constant elasticity of substitution lowers

provided, however, that (x) no Exercise Form shall specify that Warrant Shares be delivered to, or for the account of, any Person to whom the Holder would not have been permitted

based on the Pediatric Sleep Questionnaire (Chervin et al, 2000). •

Based on the literature review and technical interviews conducted from mobile development community and Agile experts respectively with mobile development