UNIX Vol. II
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
JastAdd: an aspect-oriented compiler construction system
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Reengineering C++ Component Models via Automatic Program Transformation
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
Separation of concerns in compiler development using aspect-orientation
Proceedings of the 2006 ACM symposium on Applied computing
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Continuous Integration: Improving Software Quality and Reducing Risk (The Addison-Wesley Signature Series)
The Definitive ANTLR Reference: Building Domain-Specific Languages
The Definitive ANTLR Reference: Building Domain-Specific Languages
A quantitative analysis of aspects in the eCos kernel
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
The design and implementation of AspectC++
Knowledge-Based Systems
Dynamic AspectC++: Generic Advice at Any Time
Proceedings of the 2009 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the Eighth SoMeT_09
CiAO: an aspect-oriented operating-system family for resource-constrained embedded systems
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Lean and efficient system software product lines: where aspects beat objects
Transactions on Aspect-Oriented Software Development II
Aspect-aware operating system development
Proceedings of the tenth international conference on Aspect-oriented software development
Hi-index | 0.00 |
PUMA is a framework for the development of applications that analyze and optionally transform C or C++ source code. It supports all standard ISO C and C++ language features as well as many language extensions of the GNU Compiler Collection and Microsoft Visual C++. Aspects played an important role during the design and implementation of the framework. It is written in the AspectC++ language. By employing AOSD concepts we gained clean separation of concerns and, thereby, very good configurability and extensibility. All these -ilities are of vital importance for our project, because the available manpower for maintenance tasks is limited. This paper describes the tools, which we used for the development, the principles behind the design of PUMA, and its implementation. Even though criticized during the last few years, our experiences show that aspect technology has clear benefits for the development of complex industrial applications.