A semantic web enabled approach to reuse functional requirements models in web engineering

Web engineering has emerged as a new software discipline to specifically address the challenges and complexities of developing high quality web applications. A main theme in different web engineering methodologies is to employ model driven development approaches. This increases the level of abstraction and formalism to the extent that machines can better involve in the development process and provide more automation, e.g. automatic code generation from the models. Despite their benefits, a main problem of these model-driven methodologies is that developing each new web application implies creating a probably large number of models from scratch. Hence, model reuse can be considered as the main solution to this problem. In this paper, a semantic web enabled approach is proposed for reusing models, specifically functional requirements models. It takes the brief description of the functional requirements of a new web application in terms of UML use case diagram, and semi-automatically generates the draft of the corresponding detailed description in terms of a set of UML activity diagrams. This is performed by utilizing a repository which contains semantic representation of the models of the previous web applications. The proposed approach is based on novel algorithms for annotating activity diagrams, measuring similarity of use cases, and adapting activity diagrams. The experimental evaluations demonstrate that the proposed approach is promising, and it has good precision and effectiveness.

[1]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[2]  Jim Conallen,et al.  Building Web applications with UML , 1999 .

[3]  Luciana C. Ballejos,et al.  Improving the Quality of Software Requirements Specifications with Semantic Web Technologies , 2012, WER.

[4]  Nakornthip Prompoon,et al.  Software Requirements Retrieval Using Use Case Terms and Structure Similarity Computation , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[5]  Rubén Prieto-Díaz,et al.  Domain analysis: an introduction , 1990, SOEN.

[6]  Juan Llorens Morillo,et al.  Towards an ontology-based retrieval of UML Class Diagrams , 2012, Inf. Softw. Technol..

[7]  Ying Liang,et al.  From use cases to classes: a way of building object model with UML , 2003, Inf. Softw. Technol..

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

[9]  Katsuro Inoue,et al.  Measuring Similarity of Large Software Systems Based on Source Code Correspondence , 2005, PROFES.

[10]  George A. Miller,et al.  WordNet: A Lexical Database for English , 1995, HLT.

[11]  Nora Koch,et al.  Uml-Based Web Engineering - An Approach Based on Standards , 2008, Web Engineering.

[12]  Nora Koch,et al.  Assessment of Effort Reduction due to Model-to-Model Transformations in the Web Domain , 2012, ICWE.

[13]  Michael Hausenblas,et al.  LD2SD: Linked Data Driven Software Development , 2009, SEKE.

[14]  Frank van Harmelen,et al.  Web Ontology Language: OWL , 2004, Handbook on Ontologies.

[15]  Reghu Anguswamy,et al.  Factors Affecting the Design and Use of Reusable Components , 2013 .

[16]  Collin McMillan,et al.  Exemplar: A Source Code Search Engine for Finding Highly Relevant Applications , 2012, IEEE Transactions on Software Engineering.

[17]  Bernhard Schätz,et al.  Clone detection in automotive model-based development , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[18]  Nora Koch,et al.  Requirements Models as First Class Entities in Model-Driven Web Engineering , 2012, ICWE Workshops.

[19]  Reidar Conradi,et al.  Quality, productivity and economic benefits of software reuse: a review of industrial studies , 2007, Empirical Software Engineering.

[20]  Christoph Treude,et al.  Difference computation of large models , 2007, ESEC-FSE '07.

[21]  Katsuro Inoue,et al.  Similarity of software system and its measurement tool SMMT , 2007, Syst. Comput. Jpn..

[22]  Hermann Kaindl,et al.  Tracing All Around in Reengineering , 2002, IEEE Softw..

[23]  Mark Neal,et al.  Why and how of requirements tracing , 1994, IEEE Software.

[24]  Stephan Roser,et al.  Semantic-enabled Software Engineering and Development , 2006, GI Jahrestagung.

[25]  Tom Mens,et al.  Supporting Disciplined Reuse and Evolution of UML Models , 1998, UML.

[26]  Paul Johannesson,et al.  A Survey of Process Model Reuse Repositories , 2012, ICISTM.

[27]  Olaf Hartig,et al.  Automatic Component Selection with Semantic Technologies , 2008 .

[28]  Sven J. Körner,et al.  Improving Natural Language Specifications with Ontologies , 2009, SEKE.

[29]  Gustavo Rossi,et al.  Web Engineering: Modelling and Implementing Web Applications , 2008, Human-Computer Interaction Series.

[30]  Theo Dirk Meijler,et al.  Aligning the economic modeling of software reuse with reuse practices , 2008, Inf. Softw. Technol..

[31]  Sadahiro Isoda,et al.  Success factors of systematic reuse , 1994, IEEE Software.

[32]  Abraham Bernstein,et al.  Semantic Web Enabled Software Analysis , 2014, Semantic Web Enabled Software Engineering.

[33]  Ivar Jacobson,et al.  Use cases – Yesterday, today, and tomorrow , 2004, Software & Systems Modeling.

[34]  Alessandro Bozzon,et al.  Graph-Based Search over Web Application Model Repositories , 2011, ICWE.

[35]  Mohsen Kahani,et al.  A Semantic Web based approach for design pattern detection from source code , 2012, 2012 2nd International eConference on Computer and Knowledge Engineering (ICCKE).

[36]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[37]  Ajay S. Vinze,et al.  Barriers to adoption of software reuse: A qualitative study , 2003, Inf. Manag..

[38]  B. Srisura,et al.  Journal of Theoretical and Applied Information Technology Retrieving Use Case Diagram with Case-based Reasoning Approach , 2022 .

[39]  Lionel C. Briand,et al.  An Automated Approach to Transform Use Cases into Activity Diagrams , 2010, ECMFA.

[40]  Piotr Szwed,et al.  Formal Analysis of Use Case Diagrams , 2010, Comput. Sci..

[41]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

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

[43]  Tian Zhao,et al.  Retrieving Reusable Software Components Using Enhanced Representation of Domain Knowledge , 2012 .

[44]  Alessandro Bozzon,et al.  Searching Repositories of Web Application Models , 2010, ICWE.

[45]  Dragan Gasevic,et al.  Decision support for the software product line domain engineering lifecycle , 2011, Automated Software Engineering.

[46]  Jordi Cabot,et al.  MoScript: A DSL for Querying and Manipulating Model Repositories , 2011, SLE.

[47]  Reghu Anguswamy,et al.  A study of reusability, complexity, and reuse design principles , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[48]  Bente Anda,et al.  Investigating the Role of Use Cases in the Construction of Class Diagrams , 2005, Empirical Software Engineering.

[49]  Tian Zhao,et al.  Component search and reuse: An ontology-based approach , 2010, 2010 IEEE International Conference on Information Reuse & Integration.

[50]  Hamza Onoruoiza Salami,et al.  UML Artifacts Reuse: State of the Art , 2014, ArXiv.

[51]  Cheng Zhang,et al.  What Do We Know about the Effectiveness of Software Design Patterns? , 2012, IEEE Transactions on Software Engineering.

[52]  Nora Koch,et al.  Metamodeling the Requirements of Web Systems , 2006, WEBIST.

[53]  Vicente Pelechano,et al.  A Survey of Requirements Specification in Model-Driven Development of Web Applications , 2011, TWEB.

[54]  Jean-Marc Jézéquel,et al.  A Comparison of Six UML-Based Languages for Software Process Modeling , 2010, IEEE Transactions on Software Engineering.

[55]  Akito Monden,et al.  Software quality analysis by code clones in industrial legacy software , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[56]  Martin Gaedke,et al.  Web Engineering , 2002, J. Web Eng..

[57]  Tiffany Barnes,et al.  An integrated scenario management strategy , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[58]  Søren Lauesen,et al.  Task descriptions versus use cases , 2011, Requirements Engineering.

[59]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

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

[61]  Stefano Ceri,et al.  Web Modeling Language (WebML): a modeling language for designing Web sites , 2000, Comput. Networks.

[62]  Even-André Karlsson,et al.  Software reuse: a holistic approach , 1995 .

[63]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

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

[65]  Harold Boley,et al.  Representing Textual Requirements as Graphical Natural Language for UML Diagram Generation , 2008, SEKE.

[66]  Steve Hansen,et al.  Web Engineering: A New Discipline for Development of Web-Based Systems , 2001, Web Engineering.

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

[68]  Ruben Prieto-Diaz,et al.  Domain analysis for reusability , 1988 .

[69]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[70]  Doo-Hwan Bae,et al.  A two-stage framework for UML specification matching , 2011, Inf. Softw. Technol..

[71]  Miroslaw Ochodek,et al.  Building Benchmarks For Use Cases , 2010, Comput. Informatics.

[72]  Steve Riddle,et al.  Overcoming the traceability benefit problem , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[73]  Iman Keivanloo,et al.  SE-CodeSearch: A scalable Semantic Web-based source code search infrastructure , 2010, 2010 IEEE International Conference on Software Maintenance.

[74]  Natalya F. Noy,et al.  Ontology-Driven Software : What We Learned From Using Ontologies As Infrastructure For Software Or How Does It Taste to Eat Our Own Dogfood , 2009 .

[75]  Frederico Araújo Durão,et al.  Applying a semantic layer in a source code search tool , 2008, SAC '08.

[76]  Martin F. Porter,et al.  An algorithm for suffix stripping , 1997, Program.

[77]  Olga De Troyer,et al.  WSDM: A User Centered Design Method for Web Sites , 1998, Comput. Networks.

[78]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[79]  Collin McMillan,et al.  Recommending source code for use in rapid software prototypes , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[80]  Nora Koch,et al.  Software Engineering for Adaptive Hypermedia Applications , 2001 .

[81]  Irene Garrigós,et al.  An MDA Approach for Goal-oriented Requirement Analysis in Web Engineering , 2010, J. Univers. Comput. Sci..

[82]  Katsuro Inoue,et al.  Similarity of software system and its measurement tool SMMT , 2007 .

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

[84]  Jun Li,et al.  A Model Search Engine Based on Cluster Analysis of User Search Terms , 2005 .

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

[86]  Juergen Rilling,et al.  Semantic Web-based Source Code Search , 2010 .

[87]  Richard F. Paige,et al.  Building Model-Driven Engineering Traceability Classifications , 2008 .

[88]  Cagatay Catal,et al.  Barriers to the adoption of software product line engineering , 2009, SOEN.

[89]  Wayne C. Lim,et al.  Effects of reuse on quality, productivity, and economics , 1994, IEEE Software.

[90]  Gustavo Rossi,et al.  From Domain Models to Hypermedia Applications: an Object-Oriented Approach , 1994 .

[91]  David N. Card,et al.  Why do so many reuse programs fail? , 1994, IEEE Software.

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

[93]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[94]  M. L. Caliusco,et al.  The Use of Ontologies in Requirements Engineering , 2010 .

[95]  Jacob L. Cybulski,et al.  Reusing UML specifications in a constrained application domain , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[96]  James Milne Neighbors,et al.  Software construction using components , 1980 .

[97]  Robert J. Walker,et al.  Approximate Structural Context Matching: An Approach to Recommend Relevant Examples , 2006, IEEE Transactions on Software Engineering.

[98]  Mohammad El-Ramly,et al.  Similarity in Programs , 2006, Duplication, Redundancy, and Similarity in Software.

[99]  Rubén Prieto-Díaz,et al.  DARE: Domain analysis and reuse environment , 1998, Ann. Softw. Eng..

[100]  San Murugesan,et al.  Web Application Development: Challenges And The Role Of Web Engineering , 2008, Web Engineering.

[101]  Stéphane S. Somé An Approach for the Synthesis of State Transition Graphs from Use Cases , 2003, Software Engineering Research and Practice.

[102]  Udo Kelter,et al.  A Generic Difference Algorithm for UML Models , 2005, Software Engineering.

[103]  Rick Kazman,et al.  Decision-making techniques for software architecture design: A comparative survey , 2011, CSUR.

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

[105]  Mario Cannataro,et al.  Protein-to-protein interactions: Technologies, databases, and algorithms , 2010, CSUR.

[106]  Anavin Trakarnviroj,et al.  A Storage and Retrieval of Requirement Model and Analysis Model for Software Product Line , 2012 .

[107]  Dekang Lin,et al.  An Information-Theoretic Definition of Similarity , 1998, ICML.

[108]  E. K. Park,et al.  Reuse system: An artificial intelligence - based approach , 1994, J. Syst. Softw..

[109]  B. Ramesh,et al.  Issues in the development of a requirements traceability model , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[110]  Martha Palmer,et al.  Verb Semantics and Lexical Selection , 1994, ACL.

[111]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[112]  Hai Zhuge,et al.  A process matching approach for flexible workflow process reuse , 2002, Inf. Softw. Technol..

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

[114]  Ali Mili,et al.  An integrated cost model for software reuse , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[115]  Ruth Malan,et al.  Economics of Software Reuse Revisited , 1993 .

[116]  Mario Piattini,et al.  Ontologies for Software Engineering and Software Technology , 2010 .

[117]  Renata Pontin de Mattos Fortes,et al.  MOOGLE: A Model Search Engine , 2008, MoDELS.

[118]  Lionel C. Briand,et al.  Facilitating the transition from use case models to analysis models: Approach and experiments , 2013, TSEM.

[119]  Ricardo Baeza-Yates,et al.  Information Retrieval: Data Structures and Algorithms , 1992 .

[120]  Stéphane S. Somé,et al.  Generating a Domain Model from a Use Case Model , 2005, IASSE.

[121]  James A. Hendler,et al.  Software Configuration Management Using Ontologies , 2007 .

[122]  Daniel Bildhauer,et al.  Similarity-driven software reuse , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[123]  Sven J. Körner,et al.  RESI - A Natural Language Specification Improver , 2009, 2009 IEEE International Conference on Semantic Computing.

[124]  Sungwon Kang,et al.  Transformation Rules for Synthesis of UML Activity Diagram from Scenario-Based Specification , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[125]  Wang Pu,et al.  Ontology-Based Measure of Semantic Similarity between Concepts , 2009, 2009 WRI World Congress on Software Engineering.

[126]  William B. Frakes,et al.  Software reuse: metrics and models , 1996, CSUR.

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

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

[129]  Tao Yue,et al.  Automatically deriving a uml analysis model from a use case model , 2010 .

[130]  Mehrdad Sabetzadeh,et al.  Traceability in viewpoint merging: a model management perspective , 2005, TEFSE '05.

[131]  Sushil Krishna Bajracharya,et al.  Sourcerer: An infrastructure for large-scale collection and analysis of open-source code , 2014, Sci. Comput. Program..

[132]  María José Escalona Cuaresma,et al.  NDT. A Model-Driven Approach for Web Requirements , 2008, IEEE Transactions on Software Engineering.

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

[134]  Lionel C. Briand,et al.  A systematic review of transformation approaches between user requirements and analysis models , 2011, Requirements Engineering.

[135]  Maurizio Morisio,et al.  Success and Failure Factors in Software Reuse , 2002, IEEE Trans. Software Eng..

[136]  Clifton Clunie,et al.  Reuse of use cases diagrams: an approach based on ontologies and semantic web technologies , 2012 .

[137]  Sushil Krishna Bajracharya,et al.  CodeGenie: using test-cases to search and reuse source code , 2007, ASE '07.

[138]  Patricia Vilain,et al.  Use Cases and Scenarios in the Conceptual Design of Web Applications , 2000 .

[139]  Roy Grønmo,et al.  From UML 2 Sequence Diagrams to State Machines by Graph Transformation , 2011, J. Object Technol..

[140]  George Spanoudakis,et al.  Software Traceability : A Roadmap , 2005 .

[141]  Jens von Pilgrim,et al.  A survey of traceability in requirements engineering and model-driven development , 2010, Software & Systems Modeling.

[142]  J. Cordy,et al.  A Survey of Methods and Applications of Model Comparison Technical Report 2011-582 Rev . 3 , 2011 .

[143]  Fernando Barros,et al.  Increasing Software Quality through Design Reuse , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[144]  Tom Gelhausen,et al.  Improving Automatic Model Creation Using Ontologies , 2008, SEKE.

[145]  Russ Miles,et al.  Learning UML 2.0 , 2006 .

[146]  Juan Carlos Trujillo Mondéjar,et al.  An MDA approach for goal-oriented requirement analysis in Web engineering , 2010 .

[147]  Zuhair Bandar,et al.  Sentence similarity based on semantic nets and corpus statistics , 2006, IEEE Transactions on Knowledge and Data Engineering.

[148]  Hamza Onoruoiza Salami,et al.  A Framework for Class Diagram Retrieval Using Genetic Algorithm , 2012, SEKE.

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

[150]  M. Saeki,et al.  Reusing use case descriptions for requirements specification: towards use case patterns , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).