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

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.

[1]  David Notkin,et al.  Lightweight lexical source model extraction , 1996, TSEM.

[2]  Luis Gravano,et al.  Using q-grams in a DBMS for Approximate String Processing , 2001, IEEE Data Eng. Bull..

[3]  Stéphane Ducasse,et al.  Enriching reverse engineering with semantic clustering , 2005, 12th Working Conference on Reverse Engineering (WCRE'05).

[4]  Kumar Bhaskaran,et al.  Service-Oriented Enterprises and Architectures: State of the Art and Research Opportunities , 2007, AMCIS.

[5]  Pradeep Ravikumar,et al.  A Comparison of String Distance Metrics for Name-Matching Tasks , 2003, IIWeb.

[6]  Nelson Weiderman,et al.  Approaches to Legacy System Evolution. , 1997 .

[7]  Kathryn A. Ingle,et al.  Reverse Engineering , 1996, Springer US.

[8]  J. Leon Zhao,et al.  Workflow Automation: Overview and Research Issues , 2001, Inf. Syst. Frontiers.

[9]  C. Peltz,et al.  Web Services Orchestration and Choreography , 2003, Computer.

[10]  Monique Snoeck,et al.  New directions in software engineering , 2001 .

[11]  Paul Klint,et al.  Re-engineering needs generic programming language technology , 1997, SIGP.

[12]  Akhil Kumar,et al.  Dynamic Routing and Operational Controls in Workflow Management Systems , 1999 .

[13]  Rick Kazman,et al.  Playing Detective: Reconstructing Software Architecture from Available Evidence , 1999, Automated Software Engineering.

[14]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[15]  Rick Kazman,et al.  A Software Architecture Reconstruction Method , 1999, WICSA.

[16]  Harald C. Gall,et al.  Revealer: a lexical pattern matcher for architecture recovery , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[17]  Matthew A. Jaro,et al.  Probabilistic linkage of large public health data files. , 1995, Statistics in medicine.

[18]  Shamkant B. Navathe,et al.  BondFlow: a system for distributed coordination of workflows over Web services , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[19]  A. Zeier,et al.  Searching and Finding Concepts in Service-Oriented Enterprise Software , 2008, 2008 IEEE Symposium on Advanced Management of Information for Globalized Enterprises (AMIGE).

[20]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[21]  Schahram Dustdar,et al.  A survey on web services composition , 2005, Int. J. Web Grid Serv..

[22]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools (2nd Edition) , 2006 .

[23]  Valeria de Castro,et al.  WSDL automatic generation from UML models in a MDA framework , 2005, International Conference on Next Generation Web Services Practices (NWeSP'05).

[24]  Santiago Comella-Dorda,et al.  A Survey of Legacy System Modernization Approaches , 2000 .

[25]  Grzegorz Kondrak,et al.  N-Gram Similarity and Distance , 2005, SPIRE.

[26]  Harry M. Sneed Encapsulation of legacy software: A technique for reusing legacy software components , 2000, Ann. Softw. Eng..

[27]  David Binkley,et al.  Extracting Meaning from Abbreviated Identifiers , 2007 .

[28]  Spencer Rugaber,et al.  Domain analysis and reverse engineering , 1994, Proceedings 1994 International Conference on Software Maintenance.

[29]  Wilfried Lemahieu Web service description, advertising and discovery: WSDL and beyond , 2001 .

[30]  Pedro M. Domingos,et al.  Entity Resolution with Markov Logic , 2006, Sixth International Conference on Data Mining (ICDM'06).

[31]  P. Hofmann,et al.  On Reuse of Source Code Components in Modernizing Enterprise Systems , 2008, 2008 IEEE Symposium on Advanced Management of Information for Globalized Enterprises (AMIGE).