All ETDs from UAB

Advisory Committee Chair

Barrett Bryant

Advisory Committee Members

Mikhail Auguston

Carol Burt

Jeff Gray

Rajeev Raje

Tony Skjellum

Document Type


Date of Award


Degree Name by School

Doctor of Philosophy (PhD) College of Arts and Sciences


Building applications by composing pre-developed components has much prom-ise for reuse and software engineering industrialization. Expressing integration require-ments in a model and its supporting tools not only elevates the abstraction of the devel-opment and automates reoccurring low-level integration code, but also leverages the inte-gration tools for various supporting functionality such as analysis, transformation, simu-lation, optimization, and monitoring. This dissertation addresses integration of compo-nents using two model-driven approaches. 1. There is an ongoing demand and trend of exposing software applications as IT services and utilities. We first discuss a model-driven approach to integration of service components. The integration requirements are depicted as a domain neu-tral 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 Execu-tion Language (BPEL). 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. The REL framework also provides the capability of reverse engineering, efficient reengineering, static analysis, and compile-time optimizations. iii 2. As opposed to dynamically integrating services delivered by software compo-nents, another way for integration is to integrate the source or binary code of the software components. In this scenario, the integration requirements are repre-sented in a domain-specific application model, an instance of a domain feature model that identifies ways components in a particular domain can be composed. Two-Level Grammar++ (TLG++) is used to specify feature models so that the in-tegration requirements can be validated against feature model specification. A framework is presented for glue/wrapper code generation for integrating hetero-geneous components. A language paradigm named Model-driven Domain-specific Integration Language (MoDIL) is proposed to formalize the process of software component integration under this model-driven approach. The two model-driven approaches presented in this dissertation show that it is possible and viable to use the model-driven approach in integration of software and ser-vice components.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.