Publication

ETH Zürich, Diss. Nr. 17193, January 2007
Supervised by: Prof. Donald Kossmann
The inherent complexity of modern software systems has reached a critical level. One way this affects the deployment and maintenance processes of software in the form of a vast amount of varying non-functional requirements (NFR). With regard to complexity and flexibility, changes to software systems must be automated in order to, for instance, deploy different system configurations based on a given set of NFRs. This thesis proposes a generally applicable Automated Software Engineering (ASE) approach which addresses the automated compile time/deployment time adaptation of non-functional requirements in the context of Web Service- and XML-centric middleware (OpenXL). The thesis illustrates how a high-level representation of code can be advantageous for the requirement-based optimization of a software system, and how flexible, adaptable Web Service middleware can be implemented using ASE techniques. Additionally, the thesis describes the required tool support and the underlying architecture of OpenXL, and explains in detail how an automated middleware composition process has been implemented. It is shown how a single code source can be used for the deployment of multiple applications which all address different requirements. With regard to a complex benefit and trade-off evaluation, a standardized benchmark (TPC-W [34]) is utilized. This thesis makes contributions in the following areas: Creation of a modelling and code generation framework. In the context of this work, the Flexible XML-based Languages (FXL) framework [31] was developed, which supports the creation of Domain Specific Languages (DSLs) and the transformation/generation of source code. FXL is an essential part of the proposed ASE process. Creation of a flexible Web Service representation layer. This layer is called Service Language Layer (SLL) [23]. SLL comprises a Web Service programming language (SLLP) as well as an XML-based Web Service model (xSLL) and provides a new abstraction layer on top of traditional programming languages. SLL has the required expressiveness and simplicity with regard to Web Service programming, is extensible and ready for automation. The creation of an adaptable WS middleware (OpenXL). The thesis introduces a modular middleware architecture skeleton which can be completely generated using the syntax description (XML Schema) of the aforementioned xSLL model. The resulting middleware can be statically or dynamically adapted via the deployment of reusable middleware modules. A feature-based, automated middleware (re)configuration process is addressed using semantically annotated middleware modules and a flexible reasoning engine. Thus, an automated as well as distributed deployment process (based on given requirements such as throughput, physical size, response time) can be realized. It is important to mention that the techniques and methodologies introduced in this thesis can be applied generally to the automated, requirement-based adaptation of software systems.
@phdthesis{abc,
	abstract = {The inherent complexity of modern software systems has reached a critical level. One way this affects the deployment and maintenance processes of software in the form of a vast amount of varying non-functional requirements (NFR). With regard to complexity and flexibility, changes to software systems must be automated in order to, for instance, deploy different system configurations based on a given set of NFRs. This thesis proposes a generally applicable Automated Software Engineering (ASE) approach which addresses the automated compile time/deployment time adaptation of non-functional requirements in the context of Web Service- and XML-centric middleware (OpenXL). The thesis illustrates how a high-level representation of code can be advantageous for the requirement-based optimization of a software system, and how flexible, adaptable Web Service middleware can be implemented using ASE techniques. Additionally, the thesis describes the required tool support and the underlying architecture of OpenXL, and explains in detail how an automated middleware composition process has been implemented. It is shown how a single code source can be used for the deployment of multiple applications which all address different requirements. With regard to a complex benefit and trade-off evaluation, a standardized benchmark (TPC-W [34]) is utilized.
This thesis makes contributions in the following areas:
Creation of a modelling and code generation framework. In the context of this work, the Flexible XML-based Languages (FXL) framework [31] was developed, which supports the creation of Domain Specific Languages (DSLs) and the transformation/generation of source code. FXL is an essential part of the proposed ASE process.
Creation of a flexible Web Service representation layer. This layer is called Service Language Layer (SLL) [23]. SLL comprises a Web Service programming language (SLLP) as well as an XML-based Web Service model (xSLL) and provides a new abstraction layer on top of traditional programming languages. SLL has the required expressiveness and simplicity with regard to Web Service programming, is extensible and ready for automation.
The creation of an adaptable WS middleware (OpenXL). The thesis introduces a modular middleware architecture skeleton which can be completely generated using the syntax description (XML Schema) of the aforementioned xSLL model. The resulting middleware can be statically or dynamically adapted via the deployment of reusable middleware modules.
A feature-based, automated middleware (re)configuration process is addressed using semantically annotated middleware modules and a flexible reasoning engine. Thus, an automated as well as distributed deployment process (based on given requirements such as throughput, physical size, response time) can be realized.
It is important to mention that the techniques and methodologies introduced in this thesis can be applied generally to the automated, requirement-based adaptation of software systems.},
	author = {Christian Reichel},
	school = {17193},
	title = {Open XL: An Adaptable Web Service Middleware},
	year = {2007}
}