PSE322 ASPECT ORIENTED PROGRAMMING
Introduction: Evolution of programming methodologies, What are aspects and how are they useful, OOPS Vs. AOP, What kind of problems can AOP solve, Tips and tricks for effective use of AOP , different AOP tools, importance of AOP in software development. Global trends in software development using AOP.
Aspect-Oriented Programming: Thinking aspects - in software design, code and testing. Writing and deploying reusable aspects, Using AOP to get more value from design patterns, Writing efficient AOP code Separation of concerns, point-cuts, Static aspects Dynamic aspects, Introduction to AspectJ, Meta-AspectJ.
Template-based Program Generation: String templates, Template meta-programming
Model-based Software Development: Domain modelling, Model transformations, Model-driven Architecture (MDA) , Embedding Domain-specific Languages.
Experiments using AspectJ highlighting the use of static aspects, dynamic aspects and meta aspects. Domain modelling in AspectJ.