A Meta Model for AspectJ
نویسندگان
چکیده
A meta model specifies a particular visual modeling language. Aspect oriented modeling (AOM) needs meta models for aspect visual modeling to bridge the gap between crosscut concerns conceptual modeling and aspect oriented programming (AOP). Many researchers have proposed extensions of the UML towards graphical notations for aspects. However, notations without an underlying formal semantics and syntax are not amenable to automated tool support. Tool-supported aspect modeling requires an aspect meta model as a basis specification. This paper follows a bottom-up approach, focusing on a meta model for AspectJ, an Aspect oriented language extending Java. By tailoring UML meta classes, a Java meta model is built firstly, and then it is extended into an AspectJ meta model. The semantics, attributes and associations of the main meta classes are specified. These meta classes are visualized by a set of corresponding notations, and three structural views are suggested for aspect related diagrams. The meta model is precise, pragmatic and enables implementation of aspect modeling tools. The work promises to narrow the gap between crosscut conceptual modeling of aspects and concrete implementations in AspectJ.
منابع مشابه
Towards Visual AspectJ by a Meta Model and Modeling Notation
A meta model specifies a particular visual modeling language. Aspect oriented modeling (AOM) needs meta models for aspect visual modeling to bridge the gap between the conceptual modeling of crosscut concerns and aspect oriented programming (AOP). Many researchers have proposed extensions of the UML towards graphical notations for aspects. However, notations without an underlying formal semanti...
متن کاملGenerating AspectJ Programs with Meta-AspectJ
Meta-AspectJ (MAJ) is a language tool for generating AspectJ programs using code templates. MAJ itself is an extension of Java, so users can interleave arbitrary Java code with AspectJ code templates. MAJ is a structured meta-programming tool: a well-typed generator implies a syntactically correct generated program. MAJ promotes a methodology that combines aspect-oriented and generative program...
متن کاملProceedings of the First workshop on Virtual Machines and Intermediate Languages for emerging modularization
Current implementations for aspect-oriented programming languages map the aspect-oriented concepts of source programs to object-oriented bytecode. This hinders execution environments with dedicated support for such concepts in applying their optimizations, as they have to recover the original aspect definition from bytecode. To address this representational gap we propose an architecture for im...
متن کاملExtended Code Coverage for AspectJ-Based Runtime Verification Tools
Many runtime verification tools for the Java virtual machine rely on aspect-oriented programming, particularly on AspectJ, to weave the verification logic into the observed program. However, AspectJ imposes several limitations on the verification tools, such as a restricted join point model and the inability of weaving certain classes, particularly the Java and Android class libraries. In this ...
متن کاملModifying Reflexion Model with AspectJ
Aspect-oriented tracing is one of several practical applications that can be used in analyzing and understanding an existing software system. In fact, some researchers try to adopt AspectJ into dynamic reverse engineering tools due to the powerful tracing capabilities of AspectJ. This research seeks to address the following question: Given a real situation where a software system is modified, w...
متن کامل