SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Aspect-oriented  programming RAVITEJA.K.V.S
Introduction ,[object Object],[object Object],[object Object],[object Object]
Introduction ,[object Object],[object Object],[object Object]
What are aspects? ,[object Object],[object Object],[object Object],[object Object]
Concerns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example of crosscutting concerns ,[object Object],[object Object],[object Object],[object Object]
Example of crosscutting concerns Display Figure FigureElement * Point Line getX() getY() getP1 setP1 DisplayUpdating setX(int) setY(int) setP1(Point) setP2(Point) 2 The red box is drawn around every method that must implement this concern DisplayUpdating  fits neither inside of nor around the other boxes in the figure DisplayUpdating cuts across the other boxes
What are aspects? ,[object Object],[object Object],[object Object],[object Object],[object Object]
aspects  vs  class ,[object Object],[object Object],[object Object],[object Object]
What are aspect? ,[object Object],[object Object]
Examples of how 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 Library  printers,  traffic,  services  synchronization  constraints, failure handling
Examples of how aspects cross-cut components ,[object Object],[object Object],[object Object],[object Object]
The role of aspects    in software design ,[object Object],[object Object],[object Object],[object Object],[object Object]
Language-based approach ,[object Object],[object Object],[object Object]
Framework-based approach ,[object Object],[object Object],[object Object],[object Object]
Architecture-oriented  approach ,[object Object],[object Object],[object Object]
Architecture-oriented  approach ,[object Object],[object Object],Concerns are initially mapped to architectural construct
AOP technologies example ,[object Object],[object Object],[object Object]
AOP technologies example Relevant aspects in TCS Aspect It refers to how the simulated entities should run Relationships Synchronization Scheduling It basically involves access to shared variables and race condition Description It works together with scheduling It works together with synchronization
AOP technologies example ,[object Object],[object Object],[object Object],[object Object],[object Object]
AOP technologies example ,[object Object],[object Object],[object Object],[object Object]
AOP technologies example ,[object Object],[object Object],[object Object],[object Object],In particular, the best results were obtained with EBA (this payoff comes mainly from the autonomy of component and decoupling prescribed by framework).
AOP issues ,[object Object],[object Object],[object Object],[object Object]
AOP issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AOP issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AspectJ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AspectJ ,[object Object],[object Object],[object Object],[object Object],[object Object]
AspectJ ,[object Object],[object Object],[object Object],[object Object]
What next? ,[object Object],[object Object],[object Object],[object Object],[object Object]
What next? ,[object Object],[object Object],[object Object],[object Object]
Terminology ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AspectJ example ,[object Object],[object Object],[object Object]
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

Weitere ähnliche Inhalte

Was ist angesagt?

Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
Bill Duncan
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplate
Jo Marques
 
Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody Eclipse
Bill Duncan
 

Was ist angesagt? (20)

Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languages
 
Clean coding in plsql and sql
Clean coding in plsql and sqlClean coding in plsql and sql
Clean coding in plsql and sql
 
Introduction to programming languages part 2
Introduction to programming languages   part 2Introduction to programming languages   part 2
Introduction to programming languages part 2
 
Java quick reference
Java quick referenceJava quick reference
Java quick reference
 
5 software design
5 software design5 software design
5 software design
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplate
 
Aspect Oriented Development
Aspect Oriented DevelopmentAspect Oriented Development
Aspect Oriented Development
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms
 
Using Automation to Improve Software Services
Using Automation to Improve Software ServicesUsing Automation to Improve Software Services
Using Automation to Improve Software Services
 
Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody Eclipse
 
Learning uml 2_part_1
Learning uml 2_part_1Learning uml 2_part_1
Learning uml 2_part_1
 
Software Design 1: Coupling & cohesion
Software Design 1: Coupling & cohesionSoftware Design 1: Coupling & cohesion
Software Design 1: Coupling & cohesion
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite Automata
 
Design Principles
Design PrinciplesDesign Principles
Design Principles
 
OOP Comparative Study
OOP Comparative StudyOOP Comparative Study
OOP Comparative Study
 
Software Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & Connectors
 
Software design
Software designSoftware design
Software design
 
Software Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularitySoftware Architecture Taxonomies - modularity
Software Architecture Taxonomies - modularity
 

Andere mochten auch

Andere mochten auch (10)

Chapter 10: Crosscutting Concerns
Chapter 10: Crosscutting Concerns Chapter 10: Crosscutting Concerns
Chapter 10: Crosscutting Concerns
 
Cross cutting concerns
Cross cutting concernsCross cutting concerns
Cross cutting concerns
 
DBA Lounge - Data Recovery and Fixing Database Corruptions
DBA Lounge - Data Recovery and Fixing Database CorruptionsDBA Lounge - Data Recovery and Fixing Database Corruptions
DBA Lounge - Data Recovery and Fixing Database Corruptions
 
Introduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software DevelopmentIntroduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software Development
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Spiral model
Spiral modelSpiral model
Spiral model
 
What is an aspect in aspect oriented requirements engineering
What is an aspect in aspect oriented requirements engineeringWhat is an aspect in aspect oriented requirements engineering
What is an aspect in aspect oriented requirements engineering
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 

Ähnlich wie ASPECT ORIENTED PROGRAMING(aop)

SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
B.T.L.I.T
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesign
randhirlpu
 

Ähnlich wie ASPECT ORIENTED PROGRAMING(aop) (20)

Aop2007
Aop2007Aop2007
Aop2007
 
3 analysis and design overview
3 analysis and design overview3 analysis and design overview
3 analysis and design overview
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdf
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-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
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-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
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptxchapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
chapter-6-Software_Engineering_P1_MohamedElhawy_19135002.pptx
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...Design Engineering is a topic of software engineering of second year fourth s...
Design Engineering is a topic of software engineering of second year fourth s...
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 
Chapter1
Chapter1Chapter1
Chapter1
 
Ssad system design
Ssad system designSsad system design
Ssad system design
 
UNIT V TESTING.pptx
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptx
 
Ooad
OoadOoad
Ooad
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesign
 
06 fse design
06 fse design06 fse design
06 fse design
 

ASPECT ORIENTED PROGRAMING(aop)

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Example of crosscutting concerns Display Figure FigureElement * Point Line getX() getY() getP1 setP1 DisplayUpdating setX(int) setY(int) setP1(Point) setP2(Point) 2 The red box is drawn around every method that must implement this concern DisplayUpdating fits neither inside of nor around the other boxes in the figure DisplayUpdating cuts across the other boxes
  • 8.
  • 9.
  • 10.
  • 11. Examples of how 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 Library printers, traffic, services synchronization constraints, failure handling
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. AOP technologies example Relevant aspects in TCS Aspect It refers to how the simulated entities should run Relationships Synchronization Scheduling It basically involves access to shared variables and race condition Description It works together with scheduling It works together with synchronization
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. 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