Wei Zhao’s Home Page

  

Model-Driven Integration of Software and Service Components

 


Abstract

 

Building applications by composing pre-developed components has a promise for reuse and software engineering industrialization. As there is an ongoing demand and trend of exposing software applications as IT services and utilities, a new efficient way of building application is by integrating service components. Expressing integration requirements in a model and its supporting tools not only elevates the abstraction of the development of integration and automates reoccurring low-level integration code, but also leverages the integration tools for various supporting functionality such as analysis, transformation, simulation, optimization, and monitoring. This dissertation addresses integration of software and service components using two model-driven approaches.

 

1.       We first discuss a model-driven approach to integration of service components. The integration requirements are depicted as a domain neutral graphical process model in a Business Process Management (BPM) server. A transformation framework, called Regular Expression Language (REL), is offered which transforms graphical business process models to Business Process Execution Language (BPEL) so that the business processes (the integration of services components) can be executed. The theoretical and technical difficulty of transforming a process model to BPEL is that when the process model presents irreducibility, the generated code is either exponential or non-structure preserving. REL solves this problem and generates BPEL code of size O(n) for any arbitrary process model. Static analysis and compile-time optimizations are performed along with transformation. The REL framework also provides the capability of reverse engineering and efficient reengineering. In addition, we present methods for process monitoring and dynamic process adaptation, two other important aspects for business process management.

 

2.       Based on the second model-driven approach, the integration requirements are represented in a domain-specific application model, an instance of domain feature model. A feature model represents possible identified ways components in a particular domain can be composed. Two-Level Grammar++ (TLG++) is used to specify feature models so that the integration requirements can be validated against feature model specification. Glue/wrapper code is generated from the application model if components are developed in different component models and programming languages. A language paradigm named Model-driven Domain-specific Integration Language (MoDIL) is proposed to formalize the process of software components integration under this model-driven approach.

 

Two model-driven approaches presented in this dissertation show that it is possible and viable to use model-driven approach in integration of software and service components.

 

 

I started the Ph.D. study in January 2002.

I passed the qualifying exam in January 2003.

I passed the Ph.D. thesis proposal defense in November 2003.

My committee: Dr. Barrett Bryant, Dr. Jeff Gray, Dr. Anthony Skjellum, Dr. Rajeev Raje, Dr. Mikhail Auguston, Ms. Carol Burt

 

 

This work has been supported in part by U. S. Office of Naval Research under the award number N00014-01-1-0746 and the IBM 2004 internship program.

 

Selected publications on this work:

*      Zhao, W., Hauser, R., Bhattacharya, K., Bryant, B.R. and Cao, F. (2006) ‘Compiling business processes: untangling unstructured loops in irreducible flow graphs’, Int. J. Web and Grid Services, Vol. 2, No. 1, pp.68–91.

*      Wei Zhao, Kamal Bhattacharya, Barrett R. Bryant, Fei Cao, Rainer Hauser, “Transforming Business Process Models: Enabling Programming at a Higher Level”, The 2005 IEEE International Conference on Services Computing (SCC'05), pp. 173-180, 2005. (acceptance ratio: 17%)

*      Wei Zhao, Jun-Jang Jeng, Lianjun An, Fei Cao, Barrett R. Bryant, Rainer Hauser, Tao Tao, “Aligning Business Processes with Enterprise Service Computing Infrastructure”, accepted book chapter submission to the book Enterprise Service Computing: From Concept to Deployment edited by Robin G. Qiu, 2005.

*      Wei Zhao, Barrett R. Bryant, Fei Cao, Rainer Hauser, Kamal Bhattacharya, Tao Tao, “Transforming Business Process Models in the Presence of Irreducibility and Concurrency”, accepted to the International Journal of Business Process Integration and Management (IJBPIM), 2005.

*      Wei Zhao, Barrett R. Bryant, Fei Cao, Rajeev R. Raje, Mikhail Auguston, Carol C. Burt, and Andrew M. Olson, “The Language Oriented Domain Analysis Method”, submitted to journal of Computer Languages, Systems & Structures, 2005

*      W. Zhao, B. R. Bryant, R. R. Raje, M. Auguston, C. C. Burt, A. M. Olson, “Automated Glue/Wrapper Code Generation in Integration of Distributed and Heterogeneous Software Components”, Proc. of the 8th IEEE International Enterprise Distributed Object Computing Conference (EDOC2004), IEEE Press, pp. 275-285, Monterey, California, USA, 2004.

*      W. Zhao, B. R. Bryant, F. Cao, R. R. Raje, M. Auguston, C. C. Burt, M. Olson, “Grammatically Interpreting Feature Compositions”, Proceedings of the 16th International Conference on Software Engineering and Knowledge Engineering (SEKE’04), pp. 185-191, Alberta Canada, 2004.

*      Wei Zhao, Barrett R. Bryant, Jeff Gray, Carol C. Burt, Rajeev R. Raje, Mikhail Auguston, Andrew M. Olson. “A Generative and Model Driven Framework for Automated Software Product Generation”. Proc. of the 6th ICSE Workshop on Component-Based Software Engineering: Automated Reasoning and Prediction, pp. 103-108. Portland, Oregon, May 2003. http://www.csse.monash.edu.au/~hws/cgi-bin/CBSE6/Proceedings/proceedings.cgi

*      Wei Zhao, Barrett R. Bryant, Fei Cao, Rajeev R. Raje, Mikhail Auguston, Andrew M. Olson, Carol C. Burt. “A Component Assembly Architecture with Two-Level Grammar Infrastructure”. Proc. of OOPSLA’2002 Workshop Generative Techniques in the Context of Model Driven Architecture. Seattle, Washington State, November 2002. http://www.softmetaware.com/oopsla2002/zhaow.pdf

 

Source code for download:

Click here to download REL transformation engine.

Test file inputs are named as testN.txt; the corresponding graph is shown in the file tests.ppt.

The architecture of the system is shown as the follows:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Click here to download the parser for TLG++ according to its grammar in BNF and EBNF.

The parser is generated by using JLex and CUP. The CUP specification is named tpp.cup.

The running script is in this file.

 

Click here to download the glue/wrapper code generator.

Packages JAVA RMI and CORBA(orb2) are needed to run the system. setup.bat contains set up scripts examples. Comandes.txt contains commands to run the system.

The architecture of glue/wrapper code generation is as follows:


Last modified: September 2006 .