Nothing Special   »   [go: up one dir, main page]

skip to main content
Template-assisted program restructuring with application to communications infrastructure evolution
Publisher:
  • The University of Western Ontario (Canada)
ISBN:978-0-612-58151-7
Order Number:AAINQ58151
Pages:
181
Reflects downloads up to 27 Nov 2024Bibliometrics
Skip Abstract Section
Abstract

Software, particularly application software, makes use of the infrastructure of a computing system. The infrastructure would include, for example, services in a distributed or network environment, operating system services, communication services and other middleware services, such as an object broker or directory. The software's run-time environment also involves infrastructure, such as the programming language in which the software is written and its run-time libraries. Restructuring software to deal with new or changing infrastructure is a major challenge.

This thesis addresses the problem of restructuring software to accommodate such changes in infrastructure. We refer to this class of problems as “infrastructure evolution”. The key characteristic of these problems is that there is a need to change the software to accommodate changes in the infrastructure without changing the functions performed by the software.

The particular problem that we focus on is transforming sequential programs into distributed ones. Our interest in this problem is motivated by the growth of distributed computing environments, particularly client-server applications, the growth of the Internet and intranets. The problem is compounded by the fact that the communications infrastructure to support the distributed operation of the program may vary depending on need and operational environment. Hence, we would like a means of changing the infrastructure of a particular program to the communication infrastructure of choice.

We address this problem by introducing a new, general methodology, Template-Assisted Program Restructuring (TAPR). This methodology is applicable not only to solving our particular restructuring problem, but also to other problems in the “infrastructure evolution” class.

The TAPR methodology relies on template specification languages, used by an “infrastructure expert”, to specify sets of templates to be applied in program restructuring. Once specified by an expert, the templates can be used to transform any number of programs. In essence, the expert does the work and the result is a restructuring machine through which any number of programs can be restructured.

We have demonstrated TAPR by creating two transformation machines for C language programs that create distributed programs using either Sun RPC or PVM as the underlying communications infrastructures.

This thesis demonstrates that restricting the scope of software restructuring to a well-defined problem domain and applying a template-based strategy is a fruitful approach that may be applicable to a wider variety of software restructuring problems.

Contributors
  • Western University
  • Western University
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations