An Ontology-Based Approach to Reengineering Enterprise Software for Cloud Computing

Cloud computing is the future trend for enterprise software solutions, which means a lot of legacy systems will need to be either adapted to fit the requirement of cloud computing or to be purged and redesigned from scratch. However, enterprise software is far too complex for any human being to understand as a whole. This paper proposes a novel approach to reengineering enterprise software for cloud computing by building an ontology for enterprise software and then partitioning the enterprise software ontology to decompose enterprise software into potential service candidates. Ontology development process includes three steps, namely, building ontologies for source code, data, and application framework respectively, integrating captured ontologies and deploying the final produced ontology. Firstly, the ontology development process is supported by the reverse engineering and model transformation techniques. Secondly, the ontology integration is based on ontology engineering research. Thirdly, the deployment of enterprise software ontology is done through the software reengineering activities. Once the ontology is built, there will be a link between ontology and enterprise software. By analysing the concepts and relations in ontology, the enterprise software will be understood and decomposed as different service candidates.

[1]  Hong Zhou,et al.  An Ontology-based Approach to Portable Embedded System Development , 2009, International Conference on Software Engineering and Knowledge Engineering.

[2]  Hong Zhou COSS: Comprehension by ontologising software system , 2008, 2008 IEEE International Conference on Software Maintenance.

[3]  Jian Kang,et al.  Service Identification via Ontology Mapping , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[4]  Hongji Yang,et al.  OPTIMA: An Ontology-Based PlaTform-specIfic software Migration Approach , 2007 .

[5]  Gerardo Canfora,et al.  Migrating interactive legacy systems to Web services , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[6]  Hong Zhou,et al.  OPTIMA: An Ontology-Based PlaTform-specIfic software Migration Approach , 2007, Seventh International Conference on Quality Software (QSIC 2007).

[7]  L. Youseff,et al.  Toward a Unified Ontology of Cloud Computing , 2008, 2008 Grid Computing Environments Workshop.

[8]  Heiner Stuckenschmidt,et al.  A Flexible Partitioning Tool for Large Ontologies , 2008, 2008 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology.

[9]  Hong Zhou,et al.  Developing Application Specific Ontology for Program Comprehension by Combining Domain Ontology with Code Ontology , 2008, 2008 The Eighth International Conference on Quality Software.

[10]  T. H. Tse,et al.  A Tale of Clouds: Paradigm Comparisons and Some Thoughts on Research Issues , 2008, 2008 IEEE Asia-Pacific Services Computing Conference.

[11]  Hongji Yang,et al.  Incubating services in legacy systems for architectural migration , 2004, 11th Asia-Pacific Software Engineering Conference.

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

[13]  Michael Uschold,et al.  Ontologies: principles, methods and applications , 1996, The Knowledge Engineering Review.

[14]  Hongji Yang,et al.  Extracting ontologies from legacy systems for understanding and re-engineering , 1999, Proceedings. Twenty-Third Annual International Computer Software and Applications Conference (Cat. No.99CB37032).