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.
Supplemental Material
Available for Download
Supplemental movie, appendix, image and software files for, aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- K. Bittner and I. Spence. 2002. Use Case Modeling. Addison-Wesley. Google ScholarDigital Library
- L. C. Briand, Y. Labiche, and T. Yue. 2006. Automated traceability analysis for UML model refinements Inf Software Tech 51, 512--527. Google ScholarDigital Library
- K. Brown and J. Miller. 1992. Syntax: A Linguistic Introduction to Sentence Structure. 2nd Ed. Routledge.Google Scholar
- B. Bruegge and A. H. Dutoit. 2009. Object-Oriented Software Engineering Using UML, Patterns, and Java. 3rd Ed. Prentice Hall. Google ScholarDigital Library
- CaseComplete The CaseComplete tool. http://www.casecomplete.com/.Google Scholar
- A. Cockburn. 2001. Writing Effective Use Cases. Addison-Wesley. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- I. Diaz, F. Losavio, A. Matteo, and O. Pastor. 2004. A specification pattern for use cases. Inf. Management 41, 961--975. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Eclipse Foundation Eclipse Compare. http://www.eclipse.org/emt/compare/.Google Scholar
- Eclipse Foundation Eclipse modeling framework. http://www.eclipse.org/modeling/emf/.Google Scholar
- 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 ScholarDigital Library
- A. Fantechi, S. Gnesi, Lami Giuseppe, Maccari Alessandro. 2003. Applications of linguistic techniques for use case analysis. Requirements Engin. 8, 161--170. Google ScholarDigital Library
- C. J. Fillmore. 1968. The case for case. In Universals in Linguistic Theory. 3, 1--90.Google Scholar
- 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 ScholarDigital Library
- M. Fowler. Refactoring home page. http://www.refactoring.com/.Google Scholar
- 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 ScholarDigital Library
- M. Glinz. 2000. Improving the quality of requirements with scenarios. In Proceedings of the 2nd World Congress on Software Quality. 55--60.Google Scholar
- H. Gomaa. 2000. Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley. Google ScholarDigital Library
- S. Greenbaum. 1998. The Oxford English Grammar. Oxford Paperback Reference. Oxford University Press.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- IBM Rational Software Architect. http://www.ibm.com/developerworks/downloads/r/architect/.Google Scholar
- IBM Rational Unified Process. http://en.wikipedia.org/wiki/Rational_Unified_Process.Google Scholar
- I. Jacobson, G. Booch, and J. Rumbaugh. 1999. The Unified Software Development Process. Addison-Wesley Professional. Google ScholarDigital Library
- H. Kaindl et al. 2007. ReDSeeDS Deliverable D2.4: Requirements Specification Language Definition.Google Scholar
- A. Kalnins et al. 2007. ReDSeeDS Deliverable D3.3: Reusable Case Transformation Rule Specification.Google Scholar
- Kermeta Kermeta metaprogramming environment. Triskell team. http://www.kermeta.org/.Google Scholar
- A. van Lamsweerde. 2009. Requirements Engineering: from Systems Goals to UML Models to Software Specifications. Wiley. Google ScholarDigital Library
- C. Larman. 2004. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3rd Ed. Prentice-Hall. Google ScholarDigital Library
- C. Manning and H. Schutze. 1999. Foundations of Statistical Natural Language Processing. 1st Ed. MIT Press. Google ScholarDigital Library
- 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 ScholarDigital Library
- OMG MOF 2.0 Core Specification formal/2006-01-01, 2.0 ed.Google Scholar
- OMG OMG Knowledge Discovery Meta-Model KDM formal/2009-01-02, 2.0 ed.Google Scholar
- OMG UML 2.2 Superstructure Specification formal/2009-02-04.Google Scholar
- Papyrus Papyrus UML modeler. http://www.eclipse.org/modeling/mdt/papyrus/.Google Scholar
- RAVENFLOW. http://www.ravenflow.com/.Google Scholar
- ReDSeeDS. http://www.redseeds.eu/.Google Scholar
- D. Richards. 2003. Merging individual conceptual models of requirements Requirements Engin. 8, 4, 195--205. Google ScholarDigital Library
- C. Rolland, C. Souveyet, and C. B. Achour. 1998. Guiding goal modeling using scenarios. IEEE Trans. Softw. Eng. 24, 1055--1071. Google ScholarDigital Library
- P. Runeson, M. Host, A. Rainer, and B. Regnell. 2012. Case Study Research in Software Engineering: Guidelines and Examples, 1st Ed. Wiley. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Stanford Parser version 1.6. http://nlp.stanford.edu/software/lex-parser.shtml.Google Scholar
- 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 ScholarDigital Library
- Visual paradiagm International. Visual Paradigm for UML. http://www.visual-paradigm.com/.Google Scholar
- T. Yue. 2006. Towards Vertical Impact Analysis of UML Models. Carleton University.Google Scholar
- T. Yue. 2014. aToucan evaluation models. https://sites.google.com/site/taoyue/atoucan-models. 2014.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models
Recommendations
Facilitating the transition from use case models to analysis models: Approach and experiments
Use case modeling, including use case diagrams and use case specifications (UCSs), is commonly applied to structure and document requirements. UCSs are usually structured but unrestricted textual documents complying with a certain use case template. ...
Formalization of UML diagrams and their consistency verification: A Z notation based approach
ISEC '08: Proceedings of the 1st India software engineering conferenceIn this paper, we have suggested a methodology for formalizing some of the commonly used UML diagrams that are used in different phases of software development in Z notation, establish their relationship and then represent the "formalized" diagrams ...
UMLAnT: an Eclipse plugin for animating and testing UML designs
eclipse '05: Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchangeWe describe the UML Animator and Tester (UMLAnT), which is an Eclipse plug-in for animating and testing UML models. UMLAnT can be used both by developers in the software industry and students who are learning concepts in object-oriented modeling. UMLAnT ...
Comments