UWSpace is currently experiencing technical difficulties resulting from its recent migration to a new version of its software. These technical issues are not affecting the submission and browse features of the site. UWaterloo community members may continue submitting items to UWSpace. We apologize for the inconvenience, and are actively working to resolve these technical issues.
 

Model-guided Code Assistance for Framework Application Development

Loading...
Thumbnail Image

Date

2009-04-30T13:13:15Z

Authors

Lee, Hon Man

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

<p>Object-oriented frameworks are currently widely used in software application development. Unfortunately, they are known to be generally difficult to use because of the difficulty in understanding the concepts and constraints in different frameworks. With the formalization of framework concepts and constraints in domain-specific modeling languages called framework-specific modeling languages (FSMLs), previous works have shown that round-trip engineering between models of applications using frameworks and the application code is possible to aid framework application development.</p> <p>Framework-specific modeling languages only capture, however, framework concepts and constraints and hence, lack the expressiveness of general-purpose modeling languages. For this reason, the complete code for an entire framework application cannot be generated from the model in the model editor using round-trip engineering, and the user would need to switch to the code editor to program the application logic code. Also, since models are only abstractions of code, implementation details in code may be missing in models. Although default implementation details can be used when generating code from a model, the generated code might require further customization by the user, which would also require switching to the code editor.</p> <p>To reduce the need for the user to switch between the model editor and the code editor and to reduce the need to customize the generated code, this thesis presents a model-guided approach to providing code assistance for framework application development directly in the code editor, where additional implementation details can also be obtained. An approach to building a context-sensitive code assistant that aids the user in the implementation of framework concepts with the consideration of framework constraints is described. A prototype has further been implemented and applied on two widely popular frameworks. The evaluation in this thesis analyzes and characterizes framework concepts and shows that the framework-based code assistant can reduce the need to customize the generated code in the code editor when compared to code generation from the model editor.</p>

Description

Keywords

forward engineering, round-trip engineering, code generation, framework instantiation, autocompletion, code assistants, Framework-Specific Modeling Languages

LC Keywords

Citation