The University of Southampton
University of Southampton Institutional Repository

Extension in domain specific code generation with meta-model based aspect weaving

Extension in domain specific code generation with meta-model based aspect weaving
Extension in domain specific code generation with meta-model based aspect weaving
Domain specific code generation improves software productivity and reliability. However, these advantages are lost if the generated code needs to be manually modified or adapted before deployment. Thus, the systematic extensibility of domain specific code generation becomes increasingly important to ensure that these advantages are maintained. However, the traditional extension approaches, like round-trip engineering, have their limitations in supporting certain code customization scenarios. In this thesis, we address this problem with aspect-oriented techniques. We first show that the meta-model and the code generator can be used to derive a domain specific aspect language whose join points are based on domain specific elements. We then show that a corresponding aspect weaver can be derived as well, provided a proper model tracing facility can be made available for the code generator. We demonstrate the viability of our approach on several concrete domain specific code generation case studies, respectively with the AUTOFILTER code generator, the ANTLR parser generator, and the CUP parser generator. We successfully construct a few Java program analysis tools as a result of these case studies.
University of Southampton
Tian, Meng
241f4774-03ff-46f6-9c8b-a2bf5dcec141
Tian, Meng
241f4774-03ff-46f6-9c8b-a2bf5dcec141
Rathke, Julian
dba0b571-545c-4c31-9aec-5f70c231774b

Tian, Meng (2016) Extension in domain specific code generation with meta-model based aspect weaving. University of Southampton, Doctoral Thesis, 284pp.

Record type: Thesis (Doctoral)

Abstract

Domain specific code generation improves software productivity and reliability. However, these advantages are lost if the generated code needs to be manually modified or adapted before deployment. Thus, the systematic extensibility of domain specific code generation becomes increasingly important to ensure that these advantages are maintained. However, the traditional extension approaches, like round-trip engineering, have their limitations in supporting certain code customization scenarios. In this thesis, we address this problem with aspect-oriented techniques. We first show that the meta-model and the code generator can be used to derive a domain specific aspect language whose join points are based on domain specific elements. We then show that a corresponding aspect weaver can be derived as well, provided a proper model tracing facility can be made available for the code generator. We demonstrate the viability of our approach on several concrete domain specific code generation case studies, respectively with the AUTOFILTER code generator, the ANTLR parser generator, and the CUP parser generator. We successfully construct a few Java program analysis tools as a result of these case studies.

Text
Thesis - Version of Record
Available under License University of Southampton Thesis Licence.
Download (77MB)

More information

Published date: May 2016

Identifiers

Local EPrints ID: 416607
URI: http://eprints.soton.ac.uk/id/eprint/416607
PURE UUID: e6eabf3d-4a3a-4504-9dad-9bd3d2e775ed

Catalogue record

Date deposited: 03 Jan 2018 17:30
Last modified: 15 Mar 2024 17:36

Export record

Contributors

Author: Meng Tian
Thesis advisor: Julian Rathke

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×