A semi-automated approach to adapt activity diagrams for new use cases

Abstract Context Web engineering methodologies generally assign a crucial role to design models. Therefore, providing a model reuse approach is very interesting since it reduces development costs and improves quality. Current works on model reuse mainly focus on retrieval of the promising reusable assets, and much less is done regarding adaptation of the retrieved assets. This research proposes a semi-automatic approach for adaptation of UML activity diagrams to new use cases. Objective UML use case diagrams and activity diagrams are traditionally used for the brief and the detailed specification of the functional requirements. Since many web applications have similar functionalities, and hence similar functional requirements, this research proposes an approach to take a use case diagram as input and semi-automatically create corresponding activity diagrams by adapting existing activity diagrams. Method The proposed approach includes five main components: (1) a model repository, (2) an ontology repository as a source of domain knowledge, (3) an algorithm for annotating activity diagrams, (4) a similarity metric for retrieval of similar use cases, and (5) an adaptation algorithm for creating activity diagram of a new use case from an existing activity diagram The proposed approach uses the semantic web data model as the underlying representation format. Results The initial experiments show that the proposed approach is promising and it provides an average reuse percent of 76%. However, it has still some weaknesses like being much dependent on the quality of the model repository and having low tolerance in case of inconsistency in the model repository. Conclusion Enabling model reuse in the early stages of a model based development approach is very important in reducing development costs. This paper proposes a semi-automatic approach to reuse activity diagrams through their adaptation for new use cases. The approach is demonstrated to be promising although it has still some limitations.

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

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

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

[4]  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..

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

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

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

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

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

[10]  Flavius Frasincar,et al.  Modeling User Input and Hypermedia Dynamics in Hera , 2004, ICWE.

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

[12]  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.

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

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

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

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

[17]  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).

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

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

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

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

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

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

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

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

[26]  Jeffrey S. Poulin,et al.  The Business Case for Software Reuse , 1993, IBM Syst. J..

[27]  Nicola Guarino,et al.  Identity, Unity, and Individuality: Towards a Formal Toolkit for Ontological Analysis , 2000, ECAI.

[28]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[29]  Jens Lehmann,et al.  DBpedia - A crystallization point for the Web of Data , 2009, J. Web Semant..

[30]  Letha H. Etzkorn,et al.  Automated classification and retrieval of reusable software components , 2008 .

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

[32]  Derek H. Sleeman,et al.  CleanONTO: Evaluating Taxonomic Relationships in Ontologies , 2006, EON@WWW.

[33]  Angelo Corallo,et al.  KIWI: A Framework for Enabling Semantic Knowledge Management , 2009 .

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

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

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

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

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

[39]  M. F. Porter,et al.  An algorithm for suffix stripping , 1997 .

[40]  Marlon Dumas,et al.  Pattern-based analysis of UML activity diagrams , 2004 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[60]  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).

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

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

[63]  Yugyung Lee,et al.  A Panoramic Approach to Integrated Evaluation of Ontologies in the Semantic Web , 2007, EON.

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

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

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

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

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

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

[70]  Abraham Bernstein,et al.  Semantic Web Enabled Software Analysis , 2010, Semantic Web Enabled Software Engineering.

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

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

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

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

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

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

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

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

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

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

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

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

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

[84]  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).

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

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

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

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

[89]  Paolo Paolini,et al.  A Conceptual Model and a Tool Environment for Developing More Scalable, Dynamic, and Customizable Web Applications , 1998, EDBT.