skip to main content
research-article

aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models

Published:13 May 2015Publication History
Skip Abstract Section

Abstract

The transition from an informal requirements specification in natural language to a structured, precise specification is an important challenge in practice. It is particularly so for object-oriented methods, defined in the context of the OMG's Model Driven Architecture (MDA), where a key step is to transition from a use case model to an analysis model. However, providing automated support for this transition is challenging, mostly because, in practice, requirements are expressed in natural language and are much less structured than other kinds of development artifacts. Such an automated transformation would enable at least the generation of an initial, likely incomplete, analysis model and enable automated traceability from requirements to code, through various intermediate models. In this article, we propose a method and a tool called aToucan, building on existing work, to automatically generate a UML analysis model comprising class, sequence and activity diagrams from a use case model and to automatically establish traceability links between model elements of the use case model and the generated analysis model. Note that our goal is to save effort through automated support, not to replace human abstraction and decision making.

Seven (six) case studies were performed to compare class (sequence) diagrams generated by aToucan to the ones created by experts, Masters students, and trained, fourth-year undergraduate students. Results show that aToucan performs well regarding consistency (e.g., 88% class diagram consistency) and completeness (e.g., 80% class completeness) when comparing generated class diagrams with reference class diagrams created by experts and Masters students. Similarly, sequence diagrams automatically generated by aToucan are highly consistent with the ones devised by experts and are also rather complete, for instance, 91% and 97% message consistency and completeness, respectively. Further, statistical tests show that aToucan significantly outperforms fourth-year engineering students in this respect, thus demonstrating the value of automation. We also conducted two industrial case studies demonstrating the applicability of aToucan in two different industrial domains. Results showed that the vast majority of model elements generated by aToucan are correct and that therefore, in practice, such models would be good initial models to refine and augment so as to converge towards to correct and complete analysis models. A performance analysis shows that the execution time of aToucan (when generating class and sequence diagrams) is dependent on the number of simple sentences contained in the use case model and remains within a range of a few minutes. Five different software system descriptions (18 use cases altogether) were performed to evaluate the generation of activity diagrams. Results show that aToucan can generate 100% complete and correct control flow information of activity diagrams and on average 85% data flAow information completeness. Moreover, we show that aToucan outperforms three commercial tools in terms of activity diagram generation.

Skip Supplemental Material Section

Supplemental Material

References

  1. R. J. Abbott. 1983. Program design by informal English descriptions Commun. ACM 26, 882--894 doi:http://doi.acm.org/10.1145/182.358441. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Achour, C. Rolland, C. Souveyet, and N. A. M. Maiden. 1999. Guiding use case authoring: Results of an empirical study. In Proceedings of the 4th IEEE International Symposium on Requirements Engineering (RE'99). 36--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Arisholm and D. I. K. Sjoberg. 2004. Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software. IEEE Trans. Software Eng. 30, 521--534. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. Bittner and I. Spence. 2002. Use Case Modeling. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. C. Briand, Y. Labiche, and T. Yue. 2006. Automated traceability analysis for UML model refinements Inf Software Tech 51, 512--527. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. Brown and J. Miller. 1992. Syntax: A Linguistic Introduction to Sentence Structure. 2nd Ed. Routledge.Google ScholarGoogle Scholar
  7. B. Bruegge and A. H. Dutoit. 2009. Object-Oriented Software Engineering Using UML, Patterns, and Java. 3rd Ed. Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CaseComplete The CaseComplete tool. http://www.casecomplete.com/.Google ScholarGoogle Scholar
  9. A. Cockburn. 2001. Writing Effective Use Cases. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. K. Deeptimahanti and R. Sanyal. 2011. Semi-automatic generation of UML models from natural language requirements. In Proceedings of the 4th India Software Engineering Conference. ACM, 165--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. C. Dias Neto, R. Subramanyan, M, Vieira, and G. H. Travassos. 2007. A survey on model-based testing approaches: A systematic review. In Proceedings of the 1st ACM International Workshop on Empirical Assessment of Software Engineering Languages and Technologies. ACM. doi:10.1145/1353673.1353681. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. I. Diaz, F. Losavio, A. Matteo, and O. Pastor. 2004. A specification pattern for use cases. Inf. Management 41, 961--975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. A. Duran, B. Bernardez, C. Ruíz, and B. M. Toro. 1999. A requirements elicitation approach based in templates and patterns. In Proceedings of the Workshop de Engenharia de Requisitos.Google ScholarGoogle Scholar
  14. M. B. Dwyer, L. A. Clarke, J. M. Cobleigh, and G. Naumovich, 2004. Flow analysis for verifying properties of concurrent software systems. ACM Trans. Softw. Engin. Methodol. 13, 359--430. doi:10.1145/1040291.1040292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Eclipse Foundation Eclipse Compare. http://www.eclipse.org/emt/compare/.Google ScholarGoogle Scholar
  16. Eclipse Foundation Eclipse modeling framework. http://www.eclipse.org/modeling/emf/.Google ScholarGoogle Scholar
  17. A. Egyed, S. Biffl, M. Heindl, and P. Grunbacher. 2005. Determining the cost-quality trade-off for automated software traceability. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering. ACM. doi:http://doi.acm.org/10.1145/1101908.1101970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Fantechi, S. Gnesi, Lami Giuseppe, Maccari Alessandro. 2003. Applications of linguistic techniques for use case analysis. Requirements Engin. 8, 161--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. J. Fillmore. 1968. The case for case. In Universals in Linguistic Theory. 3, 1--90.Google ScholarGoogle Scholar
  20. M. H. Fortuna, C. M. L. Werner, and M. R. S. Borges. 2008. Info cases: Integrating use cases and domain models. In Proceedings of the 16th IEEE Conference on International Requirements Engineering (RE'08). doi:10.1109/RE.2008.43 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Fowler. Refactoring home page. http://www.refactoring.com/.Google ScholarGoogle Scholar
  22. V. Gervasi and D. Zowghi. 2005. Reasoning about inconsistencies in natural language requirements ACM Trans. Softw. Engin. Methodol. 14, 277--330. doi:http://doi.acm.org/10.1145/1072997.1072999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Glinz. 2000. Improving the quality of requirements with scenarios. In Proceedings of the 2nd World Congress on Software Quality. 55--60.Google ScholarGoogle Scholar
  24. H. Gomaa. 2000. Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Greenbaum. 1998. The Oxford English Grammar. Oxford Paperback Reference. Oxford University Press.Google ScholarGoogle Scholar
  26. J. J. Gutiérrez, C. Nebut, M. J. Escalona, M. Mejías, and I. M. Ramos. 2008. Visualization of use cases through automatically generated activity diagrams. In Model Driven Engineering Languages and Systems Lecture Notes in Computer Science, vol. 5301, Springer, 83--96. doi:10.1007/978-3-540-87875-9_6 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. W. Holt, D. A. Boehm-Davis, and A. C. Shultz. 1987. Mental representations of programs for student and professional programmers. In Empirical Studies of Programmers: 2nd Workshop. Ablex Publishing Corp., 33--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Höst, B. Regnell, and C. Wohlin. 2000. Using students as subjects - comparative study of students and professionals in lead-time impact assessment Empirical Softw. Eng. 5, 201--214. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. IBM Rational Software Architect. http://www.ibm.com/developerworks/downloads/r/architect/.Google ScholarGoogle Scholar
  30. IBM Rational Unified Process. http://en.wikipedia.org/wiki/Rational_Unified_Process.Google ScholarGoogle Scholar
  31. I. Jacobson, G. Booch, and J. Rumbaugh. 1999. The Unified Software Development Process. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. H. Kaindl et al. 2007. ReDSeeDS Deliverable D2.4: Requirements Specification Language Definition.Google ScholarGoogle Scholar
  33. A. Kalnins et al. 2007. ReDSeeDS Deliverable D3.3: Reusable Case Transformation Rule Specification.Google ScholarGoogle Scholar
  34. Kermeta Kermeta metaprogramming environment. Triskell team. http://www.kermeta.org/.Google ScholarGoogle Scholar
  35. A. van Lamsweerde. 2009. Requirements Engineering: from Systems Goals to UML Models to Software Specifications. Wiley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. C. Larman. 2004. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3rd Ed. Prentice-Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. C. Manning and H. Schutze. 1999. Foundations of Statistical Natural Language Processing. 1st Ed. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. T. Nakatani, T. Urai, S. Ohmura, and T. Tetsuo. 2001. A requirements description metamodel for use cases. In Proceedings of the Asia-Pacific Conference on Software Engineering IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. OMG MOF 2.0 Core Specification formal/2006-01-01, 2.0 ed.Google ScholarGoogle Scholar
  40. OMG OMG Knowledge Discovery Meta-Model KDM formal/2009-01-02, 2.0 ed.Google ScholarGoogle Scholar
  41. OMG UML 2.2 Superstructure Specification formal/2009-02-04.Google ScholarGoogle Scholar
  42. Papyrus Papyrus UML modeler. http://www.eclipse.org/modeling/mdt/papyrus/.Google ScholarGoogle Scholar
  43. RAVENFLOW. http://www.ravenflow.com/.Google ScholarGoogle Scholar
  44. ReDSeeDS. http://www.redseeds.eu/.Google ScholarGoogle Scholar
  45. D. Richards. 2003. Merging individual conceptual models of requirements Requirements Engin. 8, 4, 195--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. C. Rolland, C. Souveyet, and C. B. Achour. 1998. Guiding goal modeling using scenarios. IEEE Trans. Softw. Eng. 24, 1055--1071. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. P. Runeson, M. Host, A. Rainer, and B. Regnell. 2012. Case Study Research in Software Engineering: Guidelines and Examples, 1st Ed. Wiley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. J. Ryser, M. Glinz. 1999. A practical approach to validating and testing software systems using scenarios In Proceedings of the 3rd Quality Week Europe.Google ScholarGoogle Scholar
  49. A. Sinha, A. Paradkar, P. Kumanan, and B. Boguraev. 2009. DA linguistic analysis engine for natural language use case description and its application to dependability analysis in industrial use cases. In Proceedings of the IEEE/IFIP International Conference on Dependable Systems & Networks (SN'09). IEEE, 327--336.Google ScholarGoogle Scholar
  50. M. Smialek, J, Bojarski, W. Nowakowski, A. Ambroziewicz, and T. Straszak. 2007. Complementary use case scenario representations based on domain vocabularies. In Model Driven Engineering Languages and Systems. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. M. Smialek, A. Kalnins, E. Kalnina, A. Ambroziewicz, T. Straszak, and K. Wolter. 2010. Comprehensive system for systematic case-driven software reuse. In Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science. Springer 697--708. doi:10.1007/978-3-642-11266-9_58 Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Stanford Parser version 1.6. http://nlp.stanford.edu/software/lex-parser.shtml.Google ScholarGoogle Scholar
  53. D. Svetinovic, D. M. Berry, N. A. Day, and M. W. Godfrey. 2007. Unified use case statecharts: Case studies Requirements Engin. 12, 4, 245--264. doi:10.1007/s00766-007-0053-1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Visual paradiagm International. Visual Paradigm for UML. http://www.visual-paradigm.com/.Google ScholarGoogle Scholar
  55. T. Yue. 2006. Towards Vertical Impact Analysis of UML Models. Carleton University.Google ScholarGoogle Scholar
  56. T. Yue. 2014. aToucan evaluation models. https://sites.google.com/site/taoyue/atoucan-models. 2014.Google ScholarGoogle Scholar
  57. T. Yue, S. Ali, and L. Briand. 2011a. Automated transition from use cases to UML state machines to support state-based testing. In Proceedings of the 7th European Conference on Modelling Foundations and Applications. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. T. Yue, L. C. Briand, and Y. Labiche. 2009. A use case modeling approach to facilitate the transition towards analysis models: Concepts and empirical evaluation. In Proceedings of the ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems. Springer, 484--498. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. T. Yue, L. C. Briand, and Y. Labiche. 2011b. A systematic review of transformation approaches between user requirements and analysis models Requirements Engin. 16, 2, 75--99. doi:10.1007/s00766-010-0111-y. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. T. Yue, L. C. Briand, and Y. Labiche. 2011c. Facilitating the transition from use case models to analysis models: Approach and experiments ACM Trans. Softw. Engin. Methodol. 22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. T. Yue, L. C. Briand, and Y. Labiche. 2013. Automatically deriving a UML analysis model from a use case model. Tech. Rep., Simula Research Laboratory.Google ScholarGoogle Scholar
  62. T. Yue, L. C. Briand, and Y. Labiche. 2010. An automated approach to transform use cases into activity diagrams. In Proceedings of the 6th European Conference on Modelling Foundations and Applications. Springer, 337--353. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Software Engineering and Methodology
        ACM Transactions on Software Engineering and Methodology  Volume 24, Issue 3
        May 2015
        293 pages
        ISSN:1049-331X
        EISSN:1557-7392
        DOI:10.1145/2776776
        Issue’s Table of Contents

        Copyright © 2015 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 13 May 2015
        • Accepted: 1 February 2014
        • Revised: 1 January 2013
        • Received: 1 January 2012
        Published in tosem Volume 24, Issue 3

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader