A two-stage framework for UML specification matching

Context: Specification matching techniques are crucial for effective retrieval processes. Despite the prevalence for object-oriented methodologies, little attention has been given to Unified Modeling Language (UML) for matching. Objective: This paper presents a two-stage framework for matching two UML specifications and quantifying the results based on the systematic integration of their structural and behavioral similarities in order to identify the candidate component set for reuse. Method: The first stage in the framework is an evaluation of the similarities between UML class diagrams using the Structure-Mapping Engine (SME), a simulation of the analogical reasoning approach known as the structure-mapping theory. The second stage, performed on the components identified in the first stage, is based on a graph-similarity scoring algorithm in which UML class diagrams and sequence diagrams are transformed into an SME representation and a Message-Object-Order Graph (MOOG). The effectiveness of the proposed framework was evaluated using a case study. Results: The experimental results showed a reduction in potential mismatches and an overall high precision and recall. Conclusion: It is concluded that the two-stage framework is capable of performing more precise matching compared to those of other single-stage matching frameworks. Moreover, the two-stage framework could be utilized within a reuse process, bypassing the need for extra information for retrieval of the components described by UML.

[1]  Neil A. M. Maiden,et al.  Analogical retrieval in reuse-oriented requirements engineering , 1996, Softw. Eng. J..

[2]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[3]  William N. Robinson,et al.  Reuse of scenario specifications using an automated relational learner: a lightweight approach , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[4]  William J. Tracz,et al.  Confessions of a Used Program Salesman: In-stitutionalizing Software Reuse , 1995 .

[5]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[6]  Nuno Seco,et al.  Rebuilder: a case-based reasoning approach to knowledge management in software design , 2005 .

[7]  Reiko Heckel,et al.  Structural and behavioural compatibility of graphical service specifications , 2007, J. Log. Algebraic Methods Program..

[8]  Neil A. M. Maiden,et al.  Analogy as a paradigm for specification reuse , 1991, Softw. Eng. J..

[9]  George C. Verghese,et al.  Graph similarity scoring and matching , 2008, Appl. Math. Lett..

[10]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[11]  Matthew L. Ginsberg,et al.  Non-Monotonic Reasoning Using Dempster's Rule , 1984, AAAI.

[12]  Nuno Seco,et al.  The importance of retrieval in creative design analogies , 2006, Knowl. Based Syst..

[13]  Brian Falkenhainer,et al.  The Structure-Mapping Engine: Algorithm and Examples , 1989, Artif. Intell..

[14]  Paul Van Dooren,et al.  A MEASURE OF SIMILARITY BETWEEN GRAPH VERTICES . WITH APPLICATIONS TO SYNONYM EXTRACTION AND WEB SEARCHING , 2002 .

[15]  D. Gentner Structure‐Mapping: A Theoretical Framework for Analogy* , 1983 .

[16]  Fatemeh Zahedi,et al.  Knowledge-Based Repository Scheme for Storing and Retrieving Business Components: A Theoretical Design and an Empirical Analysis , 2003, IEEE Trans. Software Eng..

[17]  William J. Tracz Collected confessions of a used program salesman - institutionalizing software reuse , 1995 .

[18]  Kenneth D. Forbus,et al.  MAC/FAC: A Model of Similarity-Based Retrieval , 1995, Cogn. Sci..

[19]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

[20]  Gerald T. Mackulak,et al.  Analogy-based domain analysis approach to software reuse , 2006, Requirements Engineering.

[21]  Solveig Bjørnestad,et al.  Analogical Reasoning for Reuse of Object-Oriented Specifications , 2003, ICCBR.

[22]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[23]  Sudipto Ghosh,et al.  Software component specification: a study in perspective of component selection and reuse , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[24]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .

[25]  Lamia Labed Jilani,et al.  Defining and Applying Measures of Distance Between Specifications , 2001, IEEE Trans. Software Eng..

[26]  Perry Alexander,et al.  SPARTACAS: automating component reuse and adaptation , 2004, IEEE Transactions on Software Engineering.

[27]  Letha H. Etzkorn,et al.  Automated classification and retrieval of reusable software components , 2008, J. Assoc. Inf. Sci. Technol..

[28]  Paulo Gomes,et al.  Helping Software Engineers Reusing UML Class Diagrams , 2007, ICCBR.

[29]  Yi Liu Software Component Specification Using Design by Contract , 2002 .

[30]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

[31]  Eleni Stroulia,et al.  A study on the current state of the art in tool-supported UML-based static reverse engineering , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[32]  Roland Mittermeir,et al.  A survey of software reuse libraries , 1998, Ann. Softw. Eng..

[33]  Andrew M. Sutton,et al.  Recovering UML class models from C++: A detailed explanation , 2007, Inf. Softw. Technol..

[34]  Rubén Prieto-Díaz Implementing faceted classification for software reuse , 1991, CACM.

[35]  William N. Robinson,et al.  Finding reusable UML sequence diagrams automatically , 2004, IEEE Software.

[36]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[37]  Martin Girschick,et al.  Difference Detection and Visualization in UML Class Diagrams , 2006 .

[38]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[39]  Gail E. Kaiser,et al.  An Information Retrieval Approach For Automatically Constructing Software Libraries , 1991, IEEE Trans. Software Eng..

[40]  Alexander Chatzigeorgiou,et al.  Design Pattern Detection Using Similarity Scoring , 2006, IEEE Transactions on Software Engineering.