Information Systems Frontiers

, Volume 13, Issue 3, pp 359–370 | Cite as

Semantic enrichment process: An approach to software component reuse in modernizing enterprise systems

  • Noyan Ilk
  • J. Leon Zhao
  • Paulo Goes
  • Paul Hofmann


In today’s dynamic business environments, organizations are under pressure to modernize their existing software systems in order to respond to changing business demands. Service oriented architectures provide a composition framework to create new business functionalities from autonomous building blocks called services, enabling organizations to quickly adapt to changing conditions and requirements. Characteristics of services offer the promise of leveraging the value of enterprise systems through source code reuse. In this respect, existing system components can be used as the foundation of newly created services. However, one problem to overcome is the lack of business semantics to support the reuse of existing source code. Without sufficient semantic knowledge about the code in the context of business functionality, it would be impossible to utilize source code components in services development. In this paper, we present an automated approach to enrich source code components with business semantics. Our approach is based on the idea that the gap between the two ends of an enterprise system—(1) services as processes and (2) source code—can be bridged via similarity of data definitions used in both ends. We evaluate our approach in the framework of a commercial enterprise systems application. Initial results indicate that the proposed approach is useful for annotating source code components with business specific knowledge.


Service-oriented architecture Information retrieval Enterprise systems Systems modernization 


  1. Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D. (2006). Compilers: Principles, techniques, and tools (2nd edition). Addison-Wesley Longman Publishing Co., Inc.Google Scholar
  2. Balasooriya, J., Padhye, M., Prasad, S. K., & Navathe, S. B. (2005). BondFlow: A system for distributed coordination of workflows over web services. In Proceedings of 19th IEEE International Parallel and Distributed Processing Symposium.Google Scholar
  3. Chapman, S. (2006). String similarity metrics for information integration. Retrieved from
  4. Chapman, S. (2007). SimMetrics (Version 1.6.2.) [Computer Software]. Available from
  5. Chikofsky, E. J., & Cross, J. H., II. (1990). Reverse engineering and design recovery: a taxonomy. Software, IEEE, 7(1), 13–17.CrossRefGoogle Scholar
  6. Cohen, W. W., Ravikumar, P., & Fienberg, S. E. (2006). SecondString [Computer Software]. Available from
  7. Cohen, W. W., Ravikumar, P., & Fienberg, S. E. (2003). A comparison of string distance metrics for name-matching tasks. In Proceedings of the IJCAI Workshop on Information Integration on the Web (IIWeb) (pp. 73–78).Google Scholar
  8. Cornella-Dorda, S., Wallnau, K., Seacord, R. C., & Robert, J. (2000). A survey of legacy system modernization approaches. Technical Report CMU/SEI-2000-TN-003, Carnegie Mellon University, Pittsburgh, PA, USA.Google Scholar
  9. DeBaud, J. M., Moopen, B., & Rugaber, S. (1994). Domain analysis and reverse engineering. In Proceedings of International Conference on Software Maintenance (pp. 326–335).Google Scholar
  10. Gabriel, D. (2008). SAP Network Wiki. Retrieved from
  11. Guo, G. Y., Atlee, J. M., & Kazman, R. (1999). A software architecture reconstruction method. In Proceedings of Working Conference on Software Architecture (WICSA) (pp. 15–33).Google Scholar
  12. Gravano, L., Ipeirotis, P. G., Jagadish, H. V., Koudas, N., Muthukrishnan, S., Pietarinen, L., et al. (2001). Using q-grams in a DBMS for approximate string processing. IEEE Data Engineering Bulletin, 24(4), 28–34.Google Scholar
  13. Ilk, N., Zhao, J. L., & Hofmann, P. (2008). On reuse of source code components in modernizing enterprise systems. In Proceedings of the IEEE Symposium on Advanced Management of Information for Globalized Enterprises (AMIGE’08). Google Scholar
  14. Jaro, M. A. (1995). Probabilistic linkage of large public health data files. Statistics in Medicine, 14(5), 491–198.CrossRefGoogle Scholar
  15. Kazman, R., & Carriére, S. J. (1999). Playing detective: reconstructing software architecture from available evidence. Automated Software Engineering, 6(2), 107–138.CrossRefGoogle Scholar
  16. Kondrak, G. (2005). N-Gram similarity and distance. In String Processing and Information Retrieval, 115–126.Google Scholar
  17. Kuhn, A., Ducasse, S., & Girba, T. (2005). Enriching reverse engineering with semantic clustering. In Proceedings of 12th Working Conference on Reverse Engineering (pp. 133–142).Google Scholar
  18. Kumar, A., & Zhao, J. L. (1999). Dynamic routing and operational controls in workflow management systems. Management Science, 45(2), 253–272.Google Scholar
  19. Lawrie, D., Field, H., & Binkley, D. (2007). Extracting meaning from abbreviated identifiers. In Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM’07).Google Scholar
  20. Lemahieu, W. (2001). Web Service description, advertising and discovery: WSDL and beyond. In J. Vandenbulcke & M. Snoeck (Eds.), New Directions in Software Engineering. Leuven University Press.Google Scholar
  21. Murphy, G. C., & Notkin, D. (1996). Lightweight lexical model extraction. ACM Transactions on Software Engineering and Methodology, 5(3), 262–292.CrossRefGoogle Scholar
  22. Panchenko, O., & Zeier, A. (2008). Searching and finding concepts in service-oriented enterprise software. In Proceedings of the IEEE Symposium on Advanced Management of Information for Globalized Enterprises (AMIGE’08). Google Scholar
  23. Peltz, C. (2003). Web services orchestration and choreography. Computer, 36(10), 46–52.CrossRefGoogle Scholar
  24. Pinzger, M., Fischer, M., Gall, H., & Jazayeri, M. (2002). Revealer: A lexical pattern matcher for architecture recovery. In Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE). Google Scholar
  25. Singla, P., & Domingos, P. (2006). Entity resolution with Markov Logic. In Proceedings of the Sixth International Conference on Data Mining (ICDM) (pp. 572–582).Google Scholar
  26. Stohr, E. A., & Zhao, J. L. (2001). Workflow automation: overview and research issues. Information System Frontiers, 3(3), 281–296.Google Scholar
  27. van den Brand, M., Klint, P., & Verhoef, C. (1997). Re-engineering needs generic programming language technology. ACM SIGPLAN Notices, 32, 54–61.CrossRefGoogle Scholar
  28. Vara, J. M., de Castro, V., & Marcos, E. (2005). WSDL automatic generation from UML models in a MDA framework. International Journal of Web Services Practices, 1(1), 1–12.Google Scholar
  29. Vitharana, P., Bhaskaran, K., Jain, H., Wang, H. J., & Zhao, J. L. (2007). Service-oriented enterprises and architectures: State of the art and research opportunities. In Proceedings of the Americas Conferences on Information Systems 2007 (ACIS’07).Google Scholar
  30. W3C, World Wide Web Consortium (2001). Web Services Description Language (WSDL) 1.1. Retrieved on April 8, 2009, from W3C Web site:
  31. Weiderman, N. H., Bergey, J. K., Smith, D. B., & Tilley, S. R. (1997). Approaches to legacy system evolution. Technical Report CMU/SEI-97-TR-014, Carnegie Mellon University, Pittsburgh, PA, USA.Google Scholar
  32. Wirth, N. (1996). Compiler construction. Addison Wesley Longman Publishing Co., Inc.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Noyan Ilk
    • 1
  • J. Leon Zhao
    • 2
  • Paulo Goes
    • 1
  • Paul Hofmann
    • 3
  1. 1.Department of Management Information SystemsThe University of ArizonaTucsonUSA
  2. 2.Department of Information SystemsCity University of Hong KongKowloon TongHong Kong
  3. 3.SAP Research Americas and China, SAP Labs LLCPalo AltoUSA

Personalised recommendations