Alam, Farhana Eva (2010) A core generic meta-model for aspect-oriented programming languages. Masters thesis, Memorial University of Newfoundland.
- Accepted Version
Available under License - The author retains copyright ownership and moral rights in this thesis. Neither the thesis nor substantial extracts from it may be printed or otherwise reproduced without the author's permission.
Aspect Oriented Software Development (AOSD) has its roots in the need to deal with requirements that cut across the primary modularization of a software system. On the programming level, mature, industrial-strength tools like the de-facto standard AspectJ exist. However, on the modeling level, there is as yet little support for AOSD. Previous work, which was platform specific, has provided support for only AspectJ. However, as AspectJ does not support dynamic aspect-orientation, the developed model only provides support for static AOSD. Building on previous work, using standard UML extension mechanisms, this research develops UML modeling support for both static and dynamic AOSD. Comparing language and aspect-oriented features of AspectJ, AspectS and AspectML, as a first step to our generic profile, we present a profile which supports only static part of AspectJ and AspectS. This helps us to figure out the modeling elements that are required for dynamic profile but missing in the current profile. As the second step, a generic but only dynamic profile (does not provide support for static AOSD) is presented. These two profiles clearly show the difference between static and dynamic AOP in modeling level. We use the above steps and develop the final generic profile that allows existing UML tools to express AOSD models. The developed model ensures modeling support for both static and dynamic AOSD from the same profile. To verify the necessity and correctness of the profiles used as working steps, we apply each of those to several examples. Furthermore, the generic profile is applied to examples from AspectJ and AspectS to make sure that it can express both static and dynamic AOSD. Code generation is done by working from the UML XMI (XML Model Interchange) format, the standard UML serialization. This is one of the standardized mechanisms and is therefore compatible with existing modeling tools. Existing work has demonstrated the use of XSLT (XML Stylesheet Language Transforms) for generating XMI to AspectJ code. We leverage that mechanism. As a proof-of concept, we implement XSLTs that generates valid code for our target languages (AspectJ, AspectS).
|Item Type:||Thesis (Masters)|
|Additional Information:||Bibliography: leaves 211-217.|
|Department(s):||Science, Faculty of > Computer Science|
|Library of Congress Subject Heading:||Aspect-oriented programming; Programming languages (Electronic computers); UML (Computer science)|
Actions (login required)