SlideShare a Scribd company logo
Guided By: Prof. Manoj Chaudary Presented By:- Tuhin Das VI SEM  CSE Smt.Bhagwati Chaturvedi  College of Engineering, Nagpur “ EXPRESSION” - THE PAPER PRESENTATION
CONTENTS INTRODUCTION ABOUT OOP ASPECT ASPECTS & CLASSES KEY  CONCEPTS EXAMPLE OF ASPECTS CROSS-CUT COMPONENTS THE ROLE OF ASPECTS IN SOFTWARE DESIGN ASPECTJ ASPECTJ EXAMPLE CONCLUSION REFERENCES
INTRODUCTION A new programming technique called aspect-oriented programming (AOP): makes it possible to clearly express those programs that OOP fail to support enables the modularization of cross-cutting concerns by supporting a new unit of s/w modularity aspects  that provide encapsulation for crosscutting concerns
ASPECT An  ASPECT  is defined very much like a class and can have methods, field, advice initializers named pointcuts The current working definition : modular units that cross-cut the structure of other modular units units that is defined in terms of partial information from other units exist in both design and implementation
ASPECTS & CLASSES Similarities with classes: have type can extend classes and other aspects can be abstract or concrete can have fields, methods, and types as members   Differences with classes: can additionally include as members pointcuts (picks out join points), advice (code that executes at each join point )  do not have constructor or finalizer and they cannot be created with the new operator privileged aspects can access private members of other types
KEY  CONCEPTS Cross-cutting:   Crosscutting is how to characterize a concern than spans multiple  units of OO modularity. cross-cutting is respnsible for tangling in the code. Pointcut: This is the term given to the point of execution in the application at  which cross-cutting concern needs to be applied.   Join Points:   Well defined points in code that can be identified.
EXAMPLE OF ASPECTS CROSS-CUT COMPONENTS We wanted to implement a distributed digital library that stores documents in many forms and provides a wide range of operations on those documents APPLICATION  COMPONENTS  ASPECTS digital  database,  minimizing network traffic,  Library  printers,  synchronization constraints,    services   failure handling
EXAMPLES OF HOW ASPECTS CROSS-CUT COMPONENTS There are several aspects of concerns, including:
THE ROLE OF ASPECTS IN SOFTWARE DESIGN AOP aims at providing better means of addressing the well-known problem of separation of concerns. Three basic approaches to addressing the process of  separation of concerns:
JOINT POINT MODEL The advice-related component of an aspect-oriented language defines a join point model (JPM). A JPM defines three things: JOIN POINTS POINTCUTS ADVICE
AspectJ AspectJ   is: a general-purpose AO extension to Java Java platform compatible easy to learn and use freely available under an Open Source license AspectJ  enables the modular implementation of a wide range of crosscutting concerns
AspectJ When written as an aspect the structure of a crosscutting concern is explicit and easy to reason about Aspects are modular AspectJ  enables: name-based crosscutting (tend to affect a small number of other classes) property-based crosscutting (range from small to large scale) The goals of the  AspectJ  project are to make AOP technology available to a wide range of programmers, to build and support an  AspectJ  user community
AspectJ EXAMPLE An example is tracing aspect that prints messages before certain display operation The overall effect of this aspect is to print a descriptive message whenever the traced methods are called
AspectJ   EXAMPLE Aspect SimpleTracing { pointcut traced() : call (void Display.update () ) ||call (void Display.repaint (..) ); before() : traced () {  println(“Entering:” + thisJoinPoint);  } void println (String str)  { <write to appropriate stream> } } Traced identifies calls to several key methods on Display Before advice on this pointcut uses a helper method of the aspect to print a message Advice uses the thisJoinPoint special variable to an object that describes the current join point
CONCLUSION In the coming years Aspect Oriented Programming will replace all the programming like POP, OOP, etc. and  it is being implemented in large scale in upcoming IT industries.  Languages C/C++,.NETFramework languages (C# / VB.NET) Delpi, Java, etc have implemented AOP, within the language, or as an external library.
REFERENCES web site: http://aosd.net/   http://aspectj.org/ http://www.ccs.neu.edu/home/lieber/connection-to-aop.html
ANY  QUESTIONS ??

More Related Content

PDF
Design dimensions of DSLs
PPT
Representing Design Patterns In Uml Andy Bulka Oct2006
ODP
Me2011 presentation by Manfred Jeusfeld
PPT
Representing Patterns In Uml Andy Bulka 200610
PPT
Executable UML – UML2
PPT
Bridge pattern
PDF
Bridge Pattern
PDF
Surrogate modeling for industrial design
Design dimensions of DSLs
Representing Design Patterns In Uml Andy Bulka Oct2006
Me2011 presentation by Manfred Jeusfeld
Representing Patterns In Uml Andy Bulka 200610
Executable UML – UML2
Bridge pattern
Bridge Pattern
Surrogate modeling for industrial design

What's hot (9)

PPTX
Bridge Design Pattern
PDF
Software Design Patterns. Part I :: Structural Patterns
PPT
Jeremiah Yancy - Objectives for Software design and testing
PPT
Topic 1 PBO
ODP
Bridge
PDF
Openflexo presentation at SIMF Workshop @Models2013
PPT
Bridge Design Pattern
PDF
Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
PDF
Gof design pattern
Bridge Design Pattern
Software Design Patterns. Part I :: Structural Patterns
Jeremiah Yancy - Objectives for Software design and testing
Topic 1 PBO
Bridge
Openflexo presentation at SIMF Workshop @Models2013
Bridge Design Pattern
Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
Gof design pattern
Ad

Viewers also liked (7)

PDF
Operating System
PDF
Operating System
DOC
DOCS ON NETWORK SECURITY
PPTX
Shannon and 5 good criteria of a good cipher
DOC
PPTX
Workshop Assembler
PPTX
Clientserver Presentation
Operating System
Operating System
DOCS ON NETWORK SECURITY
Shannon and 5 good criteria of a good cipher
Workshop Assembler
Clientserver Presentation
Ad

Similar to Aop2007 (20)

PPT
ASPECT ORIENTED PROGRAMING(aop)
PPT
Aspect Oriented Software Development
PPTX
Programming in c++
PPTX
Programming in c++
PDF
Spring aop
PDF
AspectC++: Language Proposal and Prototype Implementation
PPTX
Lecture 1 uml with java implementation
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPTX
Lesson5-Algorithms-Flowcharts-DataTypes-Pseudocode.pptx
PDF
A Program Transformation Technique To Support AOP Within C Template
PPTX
Performance analysis of synchronisation problem
PDF
Unit-1_Notes(OOAD).pdf
PDF
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
PPT
Ooad
PPT
Software development effort reduction with Co-op
PDF
Design Engineering is a topic of software engineering of second year fourth s...
PPTX
7a Good Programming Practice.pptx
PPTX
06 fse design
ASPECT ORIENTED PROGRAMING(aop)
Aspect Oriented Software Development
Programming in c++
Programming in c++
Spring aop
AspectC++: Language Proposal and Prototype Implementation
Lecture 1 uml with java implementation
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
Lesson5-Algorithms-Flowcharts-DataTypes-Pseudocode.pptx
A Program Transformation Technique To Support AOP Within C Template
Performance analysis of synchronisation problem
Unit-1_Notes(OOAD).pdf
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Ooad
Software development effort reduction with Co-op
Design Engineering is a topic of software engineering of second year fourth s...
7a Good Programming Practice.pptx
06 fse design

More from Tuhin_Das (8)

PPT
Presentation
PDF
Malware Trends Developments
PPT
Malware
DOCX
GPS DOCUMENT
PPTX
Presentation On Gps
PPTX
Brain Machine Interfacenew
PPTX
Laser & Its Application
PPTX
A NETWORK SECURITY APPROACH USING RSA.
Presentation
Malware Trends Developments
Malware
GPS DOCUMENT
Presentation On Gps
Brain Machine Interfacenew
Laser & Its Application
A NETWORK SECURITY APPROACH USING RSA.

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
Teaching material agriculture food technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
August Patch Tuesday
PDF
Mushroom cultivation and it's methods.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
A Presentation on Artificial Intelligence
PPTX
Spectroscopy.pptx food analysis technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Univ-Connecticut-ChatGPT-Presentaion.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Programs and apps: productivity, graphics, security and other tools
Assigned Numbers - 2025 - Bluetooth® Document
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Spectral efficient network and resource selection model in 5G networks
OMC Textile Division Presentation 2021.pptx
MIND Revenue Release Quarter 2 2025 Press Release
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Teaching material agriculture food technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
Getting Started with Data Integration: FME Form 101
August Patch Tuesday
Mushroom cultivation and it's methods.pdf
Approach and Philosophy of On baking technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
A Presentation on Artificial Intelligence
Spectroscopy.pptx food analysis technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Aop2007

  • 1. Guided By: Prof. Manoj Chaudary Presented By:- Tuhin Das VI SEM CSE Smt.Bhagwati Chaturvedi College of Engineering, Nagpur “ EXPRESSION” - THE PAPER PRESENTATION
  • 2. CONTENTS INTRODUCTION ABOUT OOP ASPECT ASPECTS & CLASSES KEY CONCEPTS EXAMPLE OF ASPECTS CROSS-CUT COMPONENTS THE ROLE OF ASPECTS IN SOFTWARE DESIGN ASPECTJ ASPECTJ EXAMPLE CONCLUSION REFERENCES
  • 3. INTRODUCTION A new programming technique called aspect-oriented programming (AOP): makes it possible to clearly express those programs that OOP fail to support enables the modularization of cross-cutting concerns by supporting a new unit of s/w modularity aspects that provide encapsulation for crosscutting concerns
  • 4. ASPECT An ASPECT is defined very much like a class and can have methods, field, advice initializers named pointcuts The current working definition : modular units that cross-cut the structure of other modular units units that is defined in terms of partial information from other units exist in both design and implementation
  • 5. ASPECTS & CLASSES Similarities with classes: have type can extend classes and other aspects can be abstract or concrete can have fields, methods, and types as members Differences with classes: can additionally include as members pointcuts (picks out join points), advice (code that executes at each join point ) do not have constructor or finalizer and they cannot be created with the new operator privileged aspects can access private members of other types
  • 6. KEY CONCEPTS Cross-cutting: Crosscutting is how to characterize a concern than spans multiple units of OO modularity. cross-cutting is respnsible for tangling in the code. Pointcut: This is the term given to the point of execution in the application at which cross-cutting concern needs to be applied. Join Points: Well defined points in code that can be identified.
  • 7. EXAMPLE OF ASPECTS CROSS-CUT COMPONENTS We wanted to implement a distributed digital library that stores documents in many forms and provides a wide range of operations on those documents APPLICATION COMPONENTS ASPECTS digital database, minimizing network traffic, Library printers, synchronization constraints, services failure handling
  • 8. EXAMPLES OF HOW ASPECTS CROSS-CUT COMPONENTS There are several aspects of concerns, including:
  • 9. THE ROLE OF ASPECTS IN SOFTWARE DESIGN AOP aims at providing better means of addressing the well-known problem of separation of concerns. Three basic approaches to addressing the process of separation of concerns:
  • 10. JOINT POINT MODEL The advice-related component of an aspect-oriented language defines a join point model (JPM). A JPM defines three things: JOIN POINTS POINTCUTS ADVICE
  • 11. AspectJ AspectJ is: a general-purpose AO extension to Java Java platform compatible easy to learn and use freely available under an Open Source license AspectJ enables the modular implementation of a wide range of crosscutting concerns
  • 12. AspectJ When written as an aspect the structure of a crosscutting concern is explicit and easy to reason about Aspects are modular AspectJ enables: name-based crosscutting (tend to affect a small number of other classes) property-based crosscutting (range from small to large scale) The goals of the AspectJ project are to make AOP technology available to a wide range of programmers, to build and support an AspectJ user community
  • 13. AspectJ EXAMPLE An example is tracing aspect that prints messages before certain display operation The overall effect of this aspect is to print a descriptive message whenever the traced methods are called
  • 14. AspectJ EXAMPLE Aspect SimpleTracing { pointcut traced() : call (void Display.update () ) ||call (void Display.repaint (..) ); before() : traced () { println(“Entering:” + thisJoinPoint); } void println (String str) { <write to appropriate stream> } } Traced identifies calls to several key methods on Display Before advice on this pointcut uses a helper method of the aspect to print a message Advice uses the thisJoinPoint special variable to an object that describes the current join point
  • 15. CONCLUSION In the coming years Aspect Oriented Programming will replace all the programming like POP, OOP, etc. and it is being implemented in large scale in upcoming IT industries. Languages C/C++,.NETFramework languages (C# / VB.NET) Delpi, Java, etc have implemented AOP, within the language, or as an external library.
  • 16. REFERENCES web site: http://aosd.net/ http://aspectj.org/ http://www.ccs.neu.edu/home/lieber/connection-to-aop.html