Subject-oriented design: towards improved alignment of requirements, design, and code
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Communications of the ACM
Legacy Systems: Transformation Strategies
Legacy Systems: Transformation Strategies
Compiling language definitions: the ASF+SDF compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Cracking the 500-Language Problem
IEEE Software
Aspect Weaving with Graph Rewriting
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Fowards a Generic Framework for AOP
ECOOP '98 Workshop ion on Object-Oriented Technology
Aspect-Oriented Programming of Sparse Matrix Code
ISCOPE '97 Proceedings of the Scientific Computing in Object-Oriented Parallel Environments
Language-independent aspect-oriented programming
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Proceedings of the 3rd international conference on Aspect-oriented software development
A technique for constructing aspect weavers using a program transformation engine
Proceedings of the 3rd international conference on Aspect-oriented software development
Using AspectJ to separate concerns in parallel scientific Java code
Proceedings of the 3rd international conference on Aspect-oriented software development
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
What does aspect-oriented programming mean to Cobol?
Proceedings of the 4th international conference on Aspect-oriented software development
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
The TXL source transformation language
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
TCS:: a DSL for the specification of textual concrete syntaxes in model engineering
Proceedings of the 5th international conference on Generative programming and component engineering
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Case study: Re-engineering C++ component models via automatic program transformation
Information and Software Technology
Behavioral similarity matching using concrete source code templates in logic queries
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
ATL: A model transformation tool
Science of Computer Programming
A practical approach to model extension
ECMDA-FA'07 Proceedings of the 3rd European conference on Model driven architecture-foundations and applications
Parallelisation of sequential programs by invasive composition and aspect weaving
APPT'05 Proceedings of the 6th international conference on Advanced Parallel Processing Technologies
KM3: a DSL for metamodel specification
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
An object-oriented framework for aspect-oriented languages
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Modulo-X: a simple transformation language for HPC programs
Proceedings of the 50th Annual Southeast Regional Conference
Hi-index | 0.01 |
Aspect orientation has been used to improve the modularization of crosscutting concerns that emerge at different levels of software abstraction. Although initial research was focused on imparting aspect-oriented (AO) capabilities to programming languages, the paradigm was later on extended to software artifacts that appear at higher levels of abstraction (e.g., models). In particular, the Model-Driven Engineering (MDE) paradigm has largely benefitted from the inclusion of aspect-oriented techniques. In a converse way, we believe it may also be productive to investigate how MDE techniques can be adopted to benefit the development of aspect-oriented tools. The main objective of this paper is to show how MDE techniques can be used to improve the construction of aspect weavers for General-Purpose Languages (GPLs) through reusable models and transformations. The approach described in the paper uses models to capture the concepts of various Aspect-Oriented Programming (AOP) language constructs at a metamodeling level. These models are then mapped to concrete weavers for GPLs through a combination of higher-order model transformation and program transformation rules. A generic extension to the framework further supports reusability of artifacts among weavers during the construction process. Aspect weavers for FORTRAN and Object Pascal have been constructed using the framework, and their features evaluated against several case study applications.