ISSemminaryWS00/01 1
TheImpactofAspect-Oriented ProgrammingonFuture ApplicationDesign
AndreiPopovici InformationandCommunicationResearchGroup ISSeminarJan.17th,2001
TheImpactofAspect-Oriented ProgrammingonFuture ApplicationDesign - - PowerPoint PPT Presentation
ISSemminaryWS00/01 TheImpactofAspect-Oriented ProgrammingonFuture ApplicationDesign AndreiPopovici InformationandCommunicationResearchGroup ISSeminarJan.17th,2001 1 ISSemminaryWS00/01
ISSemminaryWS00/01 1
AndreiPopovici InformationandCommunicationResearchGroup ISSeminarJan.17th,2001
ISSemminaryWS00/01 2
– components,objects,languages
– theneedforaspects – whatareaspects – whentousethem – howtoworkwithaspects
– throughoutacomponentslifetime – community-specificadaptations – application-awareenvironments(orcontexts)
– researchareasandCStopics
ISSemminaryWS00/01 3
» [1]
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 4
» [2]
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 5
1.Softwareworld, Component 2.Softwareaspect 3.Component lifetime Aspect~adspecere(lat.) – tolookat – particular appearancetoeye
Aspect~adspecere(lat.) – tolookat – particular appearancetoeye
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 6
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 7
» [3]
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 8
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 9 pointcuttouche(ctx):(ContextManager|BaseInterceptor)& receptions(*addContext(Contextctx)) aftertrackCtxChanges:touche(ctx) {Logger.log(“Contextchangedto”+ctx);} pointcuttouche(ctx):(ContextManager|BaseInterceptor)& receptions(*addContext(Contextctx)) aftertrackCtxChanges:touche(ctx) {Logger.log(“Contextchangedto”+ctx);} EachtimeContextManagerorBaseInterceptorreceivesan addContextcall EverythingwhichhappensintheclassContextManager Actiontotakeeverytimeapointdefinedbythecrosscut‘ touche’ isreached
ContextManager addContext BaseInterceptor addContext Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 10
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 11
– *addContext(Context) matchesCtxMgr.addContext(Context) – **(Context) matchesCtxMgr.setContext(Context) too – **(..) matchesallmethodsofallclasses – public*(..) matchesallpublicmethods – CtxMgr matcheseverythingwhichhappensin theclassCtxMgr
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 12
– semanticallyawarepreprocessor(AspectJ[5],HyperJ[4])
– changeobject-codeatload-time – e.g.,exchangeclass-loaderintheJVM(JOIE[6])
BytecodetransformationexampleforJava Component classfiles Bytecode transformation rules Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 13
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 14
Designand implementation
Deployment environment
delivery
Adapt.
Deployment adaptations
Lateadaptations
Aspectsarecurrently usedinthisstage Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 15
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 16
Idon’t undestand
(K,f) (K,f) (K,f) Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 17
Getpart#2 Getsub-part#A,#B GetSWY
GetSWX
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 18
» [8,9]
– replaypartsofthehistory
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 19
allowsamobilecomputingdevicetoadapttochangingenvironmentconditions allowsamobilecomputingdevicetoadapttochangingenvironmentconditions
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 20
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 21
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 22
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 23
Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 24
,Addison- Wesley,1997,
SeparationofConcerns.Proceedingsofthe21stInternationalConferenceonSoftware Engineering,May1999
,XeroxPalo AltoResearchCenter,NumberSPL97-010,P9710047,February1997.
Objects.TheoryandPracticeofObjectSystems,April1997 Intro Aspects Applications Related Intro Aspects Applications Related
ISSemminaryWS00/01 25
ISSemminaryWS00/01 26