Helping Software Engineers Reusing UML Class Diagrams

  • Paulo Gomes
  • Pedro Gandola
  • Joel Cordeiro
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4626)


Software development is a knowledge-intensive task, with an increasing demand for higher productivity. During the design phase, the use of visual modelling languages like UML (Unified Modeling Language) are wide spread across the software industry. In this paper we present a CBR tool that helps the software engineers to reuse UML diagrams. We describe our system, REBUILDER UML, and present experimental work showing that our system decreases the number of errors made by software engineers during the design of UML diagrams.


Software Engineer Domain Ontology Target Case Case Library Case Retrieval 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Liebowitz, J.: Knowledge Management Handbook. CRC Press, New York (1999)Google Scholar
  2. 2.
    Nonaka, I., Takeuchi, H.: The Knowledge-Creating Company. Oxford University Press, New York (1995)Google Scholar
  3. 3.
    Coulange, B.: Software Reuse. Springer, London (1997)Google Scholar
  4. 4.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  5. 5.
    Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture Process and Organization for Business Success. ACM Press, New York (1997)Google Scholar
  6. 6.
    Meyer, B.: Reusability: The case for object-oriented design. IEEE Software 4, 50–64 (1987)CrossRefGoogle Scholar
  7. 7.
    Prieto-Diaz, R.: Status report: Software reusability. IEEE Software 3 (May 1993)Google Scholar
  8. 8.
    Boehm, B.: A Spiral Model of Software Development and Enhancement. IEEE Press, Los Alamitos (1988)Google Scholar
  9. 9.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading, MA (1998)Google Scholar
  10. 10.
    Aamodt, A., Plaza, E.: Case–based reasoning: Foundational issues, methodological variations, and system approaches. AI Communications 7(1), 39–59 (1994)Google Scholar
  11. 11.
    Kolodner, J.: Case-Based Reasoning. Morgan Kaufman, San Francisco (1993)Google Scholar
  12. 12.
    Althoff, K.D.: Case-based reasoning. In: Chang, S.K. (ed.) Handbook on Software Engineering and Knowledge Engineering, vol. 1, pp. 549–588. World Scientific, Singapore (2001)Google Scholar
  13. 13.
    Gomes, P., Pereira, F.C., Paiva, P., Seco, N., Carreiro, P., Ferreira, J.L., Bento, C.: Case retrieval of software designs using wordnet. In: Harmelen, F. (ed.) European Conference on Artificial Intelligence (ECAI 2002), Lyon, France, IOS Press, Amsterdam (2002)Google Scholar
  14. 14.
    Gomes, P., Pereira, F.C., Paiva, P., Seco, N., Carreiro, P., Ferreira, J.L., Bento, C.: Using wordnet for case-based retrieval of UML models. AI Communications 17(1), 13–23 (2004)zbMATHMathSciNetGoogle Scholar
  15. 15.
    Gomes, P.: Software design retrieval using bayesian networks and wordnet. In: Funk, P., González Calero, P.A. (eds.) ECCBR 2004. LNCS (LNAI), vol. 3155, pp. 184–197. Springer, Heidelberg (2004)Google Scholar
  16. 16.
    Fernández-Chamizo, C., González-Calero, P., Gómez-Albarrán, M., Hernández-Yánez, L.: Supporting object reuse through case-based reasoning. In: Smith, I., Faltings, B.V. (eds.) Advances in Case-Based Reasoning. LNCS, vol. 1168, pp. 150–163. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  17. 17.
    Smyth, B., Cunningham, P.: Deja vu: A hierarchical case-based reasoning system for software design. In: Neumann, B. (ed.) 10th European Conference on Artificial Intelligence (ECAI’92), Vienna, Austria, John Wiley and Sons, West Sussex, England (1992)Google Scholar
  18. 18.
    Fouqué, G., Matwin, S.: Compositional software reuse with case-based reasoning. In: 9th Conference on Artificial Intelligence for Applications (CAIA 1993), IEEE Computer Society Press, Orlando, FL (1993)Google Scholar
  19. 19.
    Althoff, K.D., Birk, A., Wangenheim, C.G. v., Tautz, C.: Case–based reasoning for experimental software engineering. Technical Report 063.97/E, Fraunhofer IESE (1997)Google Scholar
  20. 20.
    Burton, B.A., Aragon, R.W., Bailey, S.A., Koehler, K.D., Mayes, L.A.: The reusable software library. IEEE Software 4, 25–32 (1987)CrossRefGoogle Scholar
  21. 21.
    Borgo, S., Guarino, N., Masolo, C., Vetere, G.: Using a large linguistic ontology for internet-based retrieval of object-oriented components. In: 9th International Conference on Software Engineering and Knowledge Engineering, SEKE 1997, Madrid, Spain, pp. 528–534. Knowledge Systems Institute, Illinois (1997)Google Scholar
  22. 22.
    Miller, G., Beckwith, R., Fellbaum, C., Gross, D., Miller, K.J.: Introduction to wordnet: an on-line lexical database. International Journal of Lexicography 3(4), 235–244 (1990)CrossRefGoogle Scholar
  23. 23.
    Seco, N., Gomes, P., Pereira, F.C.: Using CBR for semantic analysis of software specifications. In: Funk, P., González Calero, P.A. (eds.) ECCBR 2004. LNCS (LNAI), vol. 3155, pp. 778–792. Springer, Heidelberg (2004)Google Scholar
  24. 24.
    Seco, N., Gomes, P., Pereira, F.C.: Modelling software specifications with case based reasoning. In: Sharp, B. (ed.) NLUCS, pp. 135–144. INSTICC Press (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Paulo Gomes
    • 1
  • Pedro Gandola
    • 1
  • Joel Cordeiro
    • 1
  1. 1.AILab - CISUC, University of Coimbra, 3030 CoimbraPortugal

Personalised recommendations