o# th« Nu pro^ct et Mtp!//«wwxt.lMUttu
Broad Problem
Cow«f<wal (AO) c«
Nu: Enhanced Intermediate Language Prescrves Modulartty
• New constructs:
• bind and r*move
» Language semanties o Iłowi static ji well as dynamie deployment of aspeets
Semeni«% of bind and /wnova
Technical Contnbutions Modular compilation strategies for contro! fk>w, mstanttjtioo, and dynamie check constructs
• Support for these compilation strategies in a production tevel compiler for AspectJ
Software Engioeenog Benefits
• X mproved Scalability of Developmcnt Proces tes
• c g. by improving mcrcmcntal compilation of AO programs
• Afford the !mproved benefit of separatlon of concerns cna bied by AOSO to large-scale software Systems
• Ot ber potcntial benefits:
• Xmproved post compilation processes e.g. dcbuggmg Lower cost of devełoping robust tool support Morę opportunities for optlmlzations
Problem: Compilers implement non-Jocal translation for most AO constructs
• Reguirements for compilation strategies [must bokf for both classes snd sspects)
• Modular: A modules im ple men ta Ilon and the spcciftcatlon of the referred modules are suffioent to compile it
•Textualty Local: generated Intermediate codę for a source module is conftned to a single module in the objcct codę
• Oeveloped compilation strategies for AspectJ constructs
• Contro! How constructs: cflow A cflowbeftow
• Instantiatlon constructs: perthls, pertarget, per cflow, percftowbelow
• Dynamie checks: łf, this, target. args
• Implemented these strategies as an cxtension of the AspectJ compiler
Traditional w Modular Compilation Example Modular Compilation Strategy for Cflow
•a
MMU tM *•«!» Hl<«« H#il Ma MMW I
AO modularity t» maintained in objęci codę
m* MWllNtHr
fuli
I
»•••«• ntiM i « >i |
••••*.. I Matul • - Mi
Department of Computer Science Rakesh Setty, Robert Oyer and Hridesh Rajan IOWA STATE UNIYERSITY