Towards an ontology-based retrieval of UML Class Diagrams

Context: Software Reuse has always been an important area amongst software companies in order to increase their productivity and the quality of their products, but code reuse is not the only answer for this. Nowadays, reuse techniques proposals include software designs or even software specifications. Therefore, this research focuses on software design, specifically on UML Class Diagrams. A semantic technology has been applied to facilitate the retrieval process for an effective reuse. Objective: This research proposes an ontology-based retrieval technique by semantic similarity in order to support effective retrieval process for UML Class Diagrams. Since UML Class Diagrams are a de facto standard in the design stages of a Software Development Process, a good technique is needed to reuse them, i.e. reusing during the design stage instead of just the coding stages. Method: An application ontology modeled using UML specifications was designed to compare UML Class Diagram element types. To measure their similarity, a survey was conducted amongst UML experts. Query expansion was improved by a domain ontology supporting the retrieval phase. The calculus of minimal distances in ontologies was solved using a shortest path algorithm. Results: The case study shows the domain ontology importance in the UML Class Diagram retrieval process as well as the importance of an element type expansion method, such as an application ontology. A correlation between the query complexity and retrieved elements has been identified, by analyzing results. Finally, a positive Return of Investment (ROI) was estimated using Poulin's Model. Conclusion: Because Software Reuse has not to be limited to the coding stage, approaches to reuse design stage must be developed, i.e. UML Class Diagrams reuse. This approach proposes a technique for UML Class Diagrams retrieval, which is one important step towards reuse. Semantic technology combined with information retrieval improves the retrieval results.

[1]  Nuno Seco,et al.  Case Retrieval of Software Designs using WordNet , 2002, ECAI.

[2]  Christine M. Mitchell,et al.  Case-based design browser to support software reuse: theoretical structure and empirical evaluation , 1999, Int. J. Hum. Comput. Stud..

[3]  Gerd Wagner,et al.  On the Foundations of UML as an Ontology Representation Language , 2004, EKAW.

[4]  Frank van Harmelen,et al.  Web Ontology Language , 2004 .

[5]  Rubén Prieto-Díaz,et al.  Status report: software reusability , 1993, IEEE Software.

[6]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[7]  Robert B. Allen,et al.  Using UMLS-based Re-Weighting Terms as a Query Expansion Strategy , 2006, 2006 IEEE International Conference on Granular Computing.

[8]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[9]  Jae Yun Lee,et al.  Optimization of some factors affecting the performance of query expansion , 2004, Inf. Process. Manag..

[10]  Deborah L. McGuinness,et al.  The Role of Frame-Based Representation on the Semantic Web , 2001 .

[11]  Aditi Sharan,et al.  THESAURUS AND QUERY EXPANSION , 2009 .

[12]  Stefan Seedorf,et al.  Applications of Ontologies in Software Engineering , 2006 .

[13]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[14]  Carsten Tautz,et al.  Using Case-Based Reasoning for Reusing Software Knowledge , 1997, ICCBR.

[15]  Anabel Fraga Vázquez A methodology for reusing any kind of knowledge at low cost: universal knowledge reuse , 2010 .

[16]  Wayne C. Lim Managing Software Reuse , 2004 .

[17]  Martin K. Purvis,et al.  UML as an Ontology Modelling Language , 1999, Intelligent Information Integration.

[18]  Guillermo Arango,et al.  Design as evolution and reuse , 1993, [1993] Proceedings Advances in Software Reuse.

[19]  Stephen J. Mellor,et al.  Model-driven development - Guest editor's introduction , 2003 .

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

[21]  Weichang Du,et al.  Toward reuse of object-oriented software design models , 2004, Inf. Softw. Technol..

[22]  Xiaohua Hu,et al.  A Comparison of Local Analysis, Global Analysis and Ontology-based Query Expansion Strategies for Bio-medical Literature Search , 2006, 2006 IEEE International Conference on Systems, Man and Cybernetics.

[23]  Colin Atkinson,et al.  The Normal Object Form: Bridging the Gap from Models to Code , 1999, UML.

[24]  Barry W. Boehm,et al.  An empirical study of eServices product UML sizing metrics , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[25]  Hinrich Schütze,et al.  Introduction to Information Retrieval: Scoring, term weighting, and the vector space model , 2008 .

[26]  Paulo Gomes,et al.  A Tool for Management and Reuse of Software Design Knowledge , 2006, EKAW.

[27]  Sylvie Ranwez,et al.  Ontological Distance Measures for Information Visualisation on Conceptual Maps , 2006, OTM Workshops.

[28]  Ronald J. Brachman,et al.  What IS-A Is and Isn't: An Analysis of Taxonomic Links in Semantic Networks , 1983, Computer.

[29]  Juan Llorens Morillo,et al.  Incremental Software Reuse , 2006, ICSR.

[30]  F. George Wilkie,et al.  Applying UML Extensions to Facilitate Software Reuse , 1998, UML.

[31]  Elina Kalnina,et al.  Comprehensive System for Systematic Case-Driven Software Reuse , 2010, SOFSEM.

[32]  Giancarlo Guizzardi,et al.  Ontological foundations for structural conceptual models , 2005 .

[33]  Alexander F. Gelbukh,et al.  Advanced Relevance Feedback Query Expansion Strategy for Information Retrieval in MEDLINE , 2004, CIARP.

[34]  Arun Sen,et al.  The Role of Opportunism in the Software Design Reuse Process , 1997, IEEE Trans. Software Eng..

[35]  William B. Frakes,et al.  DARE-COTS. A domain analysis support tool , 1997, Proceedings 17th International Conference of the Chilean Computer Science Society.

[36]  Mukund Raghavachari,et al.  Mapping UML designs to Java , 2000, OOPSLA '00.

[37]  Hinrich Schütze,et al.  Introduction to information retrieval , 2008 .

[38]  X. Allan Lu,et al.  Query Expansion/Reduction and its Impact on Retrieval Effectiveness , 1994, TREC.

[39]  Ali Mili,et al.  Toward an Engineering Discipline of Software Reuse , 1999, IEEE Softw..

[40]  Vladan Devedzic,et al.  Ontology Modeling and MDA , 2005, J. Object Technol..

[41]  Premkumar T. Devanbu,et al.  A Knowledge-Based Software Information System , 1989, IJCAI.

[42]  Arnold L. Rosenberg On Uniformly Inserting One Data Structure into Another , 1981, Commun. ACM.

[43]  Viviana Mascardi,et al.  An Ontology-Based Similarity between Sets of Concepts , 2005, WOA.

[44]  Nuno Seco,et al.  Using WordNet for case-based retrieval of UML models , 2004, AI Commun..

[45]  Roy Rada,et al.  Development and application of a metric on semantic nets , 1989, IEEE Trans. Syst. Man Cybern..

[46]  P. Smith,et al.  A review of ontology based query expansion , 2007, Inf. Process. Manag..

[47]  Bob J. Wielinga,et al.  From thesaurus to ontology , 2001, K-CAP '01.