Content area

Abstract

Component-based programming can improve software productivity by eliminating the need to write code line by line. However, it also imposes barriers toward understanding and reusing the components. Techniques such as application frameworks, design patterns, and deductive synthesis can help the programmer in reusing existing components. However, all of these methods lack the flexibility of generating code from existing programs. Code pattern is a technology that can reduce the learning effort as well as automate the glue code synthesis process. Code patterns capture the basic usage scenarios and calling sequences of the components and, hence, the programmer can use the components at a higher level than having to write the glue code from scratch. The objective of this Dissertation is to provide a conceptual framework for finding and composing code patterns. Meta code pattern is defined for helping develop concrete code patterns. Pattern refinement is used to finding concrete code patterns from a meta pattern. Six composition operations, including map, concatenate, splice, invert, distribution, and exception handling are proposed to generate the glue code based on existing patterns and their functionalities. The notation of code patterns and the composition operations are formally defined and analyzed together with their verifications. Based on the formal specifications, methods for automatically generating code based on the patterns are described. Algorithms are introduced for using the right composition operations to compose a set of patterns in solving a problem. These principles are evolved to automated tool support. A system is developed to systematically manage and compose the patterns using the composition operations. This method is applied to several examples and case studies involving the program generation of an on-line test system and a real-time robot control system.

Details

Title
Pattern -directed code synthesis for component based software engineering
Author
Liu, Jian
Year
2006
Publisher
ProQuest Dissertations Publishing
ISBN
978-0-542-74888-2
Source type
Dissertation or Thesis
Language of publication
English
ProQuest document ID
304954743
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.