aop1code.tex
aop1 {
	around: and(pexecution(Improve) args(an,x,epsilon)) {$\label{aop1:around1:start}$
		/(+(an,/(x,an)),2)
	}$\label{aop1:around1:end}$
	around: and(pexecution(IsPreciseEnough?) args(root,x)) {$\label{aop1:around2:start}$
		lt? (call Abs(-(x,call Square(root))),call Precision(x))
	}$\label{aop1:around2:end}$
	around : pcall(Precision) {$\label{aop1:around3:start}$
		/(proceed,1000)
	}
}$\label{aop1:around3:end}$

aop2code.tex
aop2 { guard_cflow SQRT resume_with call Precision(1) }

basecode.tex
program {
	procedure SQRT(radicand) {
		call SqrtIter(0,radicand,call Precision(radicand))
	}
	procedure SqrtIter(approximation,radicand,precision) {
		let
			bid = call Improve(approximation,radicand,precision)
		in
			if call IsPreciseEnough?(bid,radicand) 
			then bid
			else call SqrtIter(bid,radicand,precision)
	}
	procedure Improve(approximation,radicand,precision) {
		+(approximation,precision)
	}
	procedure Precision(x) {1}
	procedure IsPreciseEnough?(root,square) {
		lt?(square,call Square(root)) 
	}
	procedure Square(x) {*(x,x)}
	procedure Abs(x) {if lt?(x,0) then -(0,x) else x}
	procedure main() {call SQRT(5)}
}

report.bbl
\begin{thebibliography}{10}

\bibitem{CME}
Concern manipulation environment, 2004.
\newblock \url{http://www.research.ibm.com/cme}.

\bibitem{JBoss-AOP}
Jboss aspect oriented programming, 2005.
\newblock \url{http://aop.jboss.org}.

\bibitem{Arnold:1996:Book}
K.~Arnold and J.~Gosling.
\newblock {\em The {Java} Programming Language}.
\newblock The Java Series. Addison--Wesley Publishing Company, 1996.

\bibitem{Avgustinov:2005:abc}
P.~Avgustinov, A.~S. Christensen, L.~Hendren, S.~K. Montreal, J.~Lhotak,
  O.~Lhotak, C.~O. de~Moor, D.~Sereni, G.~Sittampalam, and J.~Tibble.
\newblock {abc}: An extensible aspectj compiler.
\newblock In Tarr \cite{AOSD:2005}.

\bibitem{Balzarotti:2004:UPS}
D.~Balzarotti and M.~Monga.
\newblock Using program slicing to analyze aspect-oriented composition.
\newblock In C.~Clifton, R.~L\"ammel, and G.~T. Leavens, editors, {\em AOSD
  2004 Workshop on Foundations of Aspect-Oriented Languages}, pages 25--29,
  Lancaster, UK, Mar. 23 2004. Technical Report 04-04, Department of Computer
  Science, Iowa State University Ames, Iowa, USA, Iowa State University.

\bibitem{Boner:2004:AspectWerkz}
J.~Bon\'{e}r.
\newblock What are the key issues for commercial {AOP} use: how does
  {AspectWerkz} address them?
\newblock In {\em Proceedings of the 3\textsuperscript{\textit{rd}}
  International Conference on Aspect-Oriented Software Development}, pages
  5--6, Mancaster, UK, 2004. AOSD 2004, {ACM} Press.
\newblock \url{http://aspectwerkz.codehaus.org/index.html}.

\bibitem{Boner:2005:AW2}
J.~Bon\'{e}r.
\newblock Invited talk: {AspectWerkz 2} and the road to {AspectJ 5}.
\newblock In {\em Invited Industry Talks at AOSD 2005}, Chicago, Illinois, USA,
  Mar. 14-18 2005. AOSD 2005.

\bibitem{Bracha:1990:MBI}
G.~Bracha and W.~Cook.
\newblock Mixin-based inheritance.
\newblock In {\em Proceedings of ECOOP$/$Object-Oriented Programming Systems,
  Languages, and Applications}, pages 303--311, Ottawa, Canada, Oct. 21-25
  1990. OOPSLA'90, ACM SIGPLAN Notices 25(10) Oct. 1990.

\bibitem{ECOOP:2003}
L.~Cardelli, editor.
\newblock {\em Proceedings of the 17\textsuperscript{\textit{th}} European
  Conference on Object-Oriented Programming}, number 2743 in Lecture Notes in
  Computer Science, Darmstadt, Germany, July21-25 2003. ECOOP 2003, Springer
  Verlag.

\bibitem{Clifton:2003:FDP}
C.~Clifton, G.~T. Leavens, and M.~Wand.
\newblock Formal definition of the parameterized aspect calculus.
\newblock Technical Report TR \#03-12, Dept. of Computer Science, Iowa State
  University, Oct. 2003.

\bibitem{Clifton:2003:PAC}
C.~Clifton, G.~T. Leavens, and M.~Wand.
\newblock Parameterized aspect calculus: A core calculus for the direct study
  of aspect-oriented languages.
\newblock Technical Report TR \#03-13, Dept. of Computer Science, Iowa State
  University, Nov. 2003.

\bibitem{colyer:aosdbook05}
A.~Colyer.
\newblock Aspectj.
\newblock In Filman et~al. \cite{:aosdbook05}, pages 123--143.

\bibitem{Cook:1989:Thesis}
W.~R. Cook.
\newblock {\em A Denotational Semantics of Inheritance}.
\newblock PhD thesis, Brown University, May 15 1989.

\bibitem{Czarnecki:2000:Book}
K.~Czarnecki and U.~Eisenecker.
\newblock {\em Generative Programming: Methods, Tools, and Applications}.
\newblock Addison-Wesley, 1$^{st}$ edition, 2000.

\bibitem{Felleisen:1986:COS}
M.~Felleisen and D.~Friedman.
\newblock Control operators, the secd machine, and the lambda-calculus.
\newblock {\em Formal Descriptions of Programming Concepts III}, pages
  193--217, 1986.

\bibitem{Felleisen:1987:RSI}
M.~Felleisen and D.~Friedman.
\newblock A reduction semantics for imperative higher-order languages.
\newblock In {\em Proceedings of the Parallel Architectures and Languages
  Europe 1987}, pages 206--223, 1987.

\bibitem{:aosdbook05}
R.~E. Filman, T.~Elrad, S.~Clarke, and M.~{Ak{\c s}it}, editors.
\newblock {\em Aspect-Oriented Software Development}.
\newblock Addison-Wesley, Boston, 2005.

\bibitem{Fradet:1998:ATG}
P.~Fradet and M.~S{\"u}dholt.
\newblock {AOP}: towards a generic framework using program transformation and
  analysis.
\newblock In S.~Demeyer and J.~Bosch, editors, {\em Object-Oriented Technology.
  ECOOP'98 Workshop Reader}, number 1543 in Lecture Notes in Computer Science,
  pages 394--397. Workshop Proceedings, Brussels, Belgium, Springer Verlag,
  July 20-24 1998.
\newblock Extended version
  \url{http://www.irisa.fr/lande/fradet/PDFs/AOP98-long.pdf}.

\bibitem{Friedman:2001:Book}
D.~P. Friedman, M.~Wand, and C.~T. Haynes.
\newblock {\em Essentials of Programming Languages}.
\newblock MIT Press, Cambridge, MA, second edition, 2001.

\bibitem{Gamma:1995:Book}
E.~Gamma, R.~Helm, R.~Johnson, and J.~Vlissides.
\newblock {\em Design Patterns: {Elements} of Reusable Object-Oriented
  Software}.
\newblock Professional Computing. Addison-Wesley, 1995.

\bibitem{Herrmann:2002:OTI}
S.~Herrmann.
\newblock Object teams: {Improving} modularity for crosscutting collaborations.
\newblock In M.~{Ak{\c s}it} and M.~Mezini, editors, {\em Proceedings of the
  3$^{rd}$ International Conference {Net.ObjectDays}, {NODe} 2002}, Erfurt,
  Germany, Oct. 7-10 2002.

\bibitem{Hugunin:2001:NSA}
J.~Hugunin.
\newblock The next steps for aspect-oriented programming languages (in {Java}).
\newblock In {\em NSF Workshop on New Visions for Software Design \&
  Productivity: Research \& Applications}, Vanderbilt University, Nashville,
  TN, Dec. 13-14 2001. National Coordination Office for Information Technology
  Research and Development (NCO/IT R\&D).
\newblock White Paper.

\bibitem{ICFP:2003}
{\em Proceedings of the 7\textsuperscript{\textit{th}} ACM SIGPLAN
  International Conference on Functional Programming}, Uppsala, Sweden, Aug.
  2003. {ACM} Press.

\bibitem{Jagadeesan:2003:CUA}
R.~Jagadeesan, A.~Jeffrey, and J.~Riely.
\newblock An untyped calculus for aspect oriented programs.
\newblock In Cardelli \cite{ECOOP:2003}, pages 54--73.

\bibitem{Kiczales:2001:OAJ}
G.~Kiczales, E.~Hilsdale, J.~Hugunin, M.~Kersten, J.~Palm, and W.~G. Griswold.
\newblock An overview of {AspectJ}.
\newblock In J.~L. Knudsen, editor, {\em Proceedings of the
  15\textsuperscript{\textit{th}} European Conference on Object-Oriented
  Programming}, number 2072 in Lecture Notes in Computer Science, pages
  327--353, Budapest, Hungary, June 18-22 2001. ECOOP 2001, Springer Verlag.

\bibitem{Kiczales:1997:AOP}
G.~Kiczales, J.~Lamping, A.~Mendhekar, C.~Maeda, C.~Lopes, J.-M. Loingtier, and
  J.~Irwin.
\newblock Aspect-oriented programming.
\newblock In M.~Ak\c{s}it and S.~Matsuoka, editors, {\em Proceedings of the
  11\textsuperscript{\textit{th}} European Conference on Object-Oriented
  Programming}, number 1241 in Lecture Notes in Computer Science, pages
  220--242, Jyv\"{a}skyl\"{a}, Finland, June 9-13 1997. ECOOP'97, Springer
  Verlag.

\bibitem{Laemmel:2002:MCI}
R.~L\"{a}mmel.
\newblock A semantical approach to method-call interception.
\newblock In {\em Proceedings of the 1\textsuperscript{\textit{st}}
  International Conference on Aspect-Oriented Software Development}, pages
  41--55, Enschede, The Netherlands, Apr. 2002. AOSD 2002, {ACM} Press.

\bibitem{Laemmel:2003:ASL}
R.~L{\"a}mmel.
\newblock {Adding Superimposition To a Language Semantics (Extended Abstract)}.
\newblock In C.~Clifton and G.~T. Leavens, editors, {\em AOSD 2003 Workshop on
  Foundations of Aspect-Oriented Languages}, Boston, Massachusetts, Mar. 18
  2003. Technical Report, Department of Computer Science, Iowa State University
  Ames, Iowa, USA, Iowa State University.

\bibitem{crista:thesis}
C.~I.~V. Lopes.
\newblock {\em {{D}: A Language Framework for Distributed Programming}}.
\newblock PhD thesis, Northeastern University, 1997.

\bibitem{Lopes:2003:AOP}
C.~V. Lopes, P.~Dourish, D.~H. Lorenz, and K.~Lieberherr.
\newblock Beyond {AOP}: {Toward} {Naturalistic} {Programming}.
\newblock {\em ACM SIGPLAN Notices}, 38(12):34--43, Dec. 2003.
\newblock OOPSLA'03 Special Track on Onward! Seeking New Paradigms \& New
  Thinking.

\bibitem{Mosses:1999:FMS}
P.~D. Mosses.
\newblock Foundations of modular sos.
\newblock In {\em MFCS '99: Proceedings of the 24th International Symposium on
  Mathematical Foundations of Computer Science}, pages 70--80. Springer-Verlag,
  1999.

\bibitem{murphy:tose99}
G.~C. Murphy, R.~J. Walker, and E.~L.~A. Baniassad.
\newblock Evaluating emerging software development technologies: {Lessons}
  learned from assessing aspect-oriented programming.
\newblock {\em IEEE Transactions on Software Engineering}, 25(4):438--455,
  1999.

\bibitem{murphy:cacm01}
G.~C. Murphy, R.~J. Walker, E.~L.~A. Baniassad, M.~P. Robillard, A.~Lai, and
  M.~A. Kersten.
\newblock Does aspect-oriented programming work?
\newblock {\em Comm. ACM}, 44(10):75--77, Oct. 2001.

\bibitem{Ostermann:2001:IRC}
K.~Ostermann.
\newblock Implementing reusable collaborations with delegation layers.
\newblock In D.~H. Lorenz and V.~C. Sreedhar, editors, {\em Proceedings of the
  First OOPSLA Workshop on Language Mechanisms for Programming Software
  Components}, pages 9--14, Tampa Bay, Florida, Oct.~15 2001. Technical Report
  NU-CCS-01-06, College of Computer Science, Northeastern University, Boston,
  MA 02115.

\bibitem{Ostermann:2002:DCC}
K.~Ostermann.
\newblock Dynamically composable collaborations with delegation layers.
\newblock In Cardelli \cite{ECOOP:2003}, pages 89--110.

\bibitem{Rees:1986:Scheme}
J.~A. Rees, W.~D. Clinger, H.~Abelson, N.~I.~A. IV, D.~H. Bartley, G.~Brooks,
  R.~K. Dybvig, D.~P. Friedman, R.~Halstead, C.~Hanson, C.~T. Haynes,
  E.~Kohlbecker, D.~Oxley, K.~M. Pitman, G.~J. Rozas, G.~J. Sussman, and
  M.~Wand.
\newblock Revised{$^3$} report on the algorithmic language {Scheme}.
\newblock {\em SIGPLAN Notices}, 21(12):37--79, Dec. 1986.

\bibitem{Shaw:1996:Book}
M.~Shaw and D.~Garlan.
\newblock {\em Software Architecture, Perspectives on an Emerging Discipline}.
\newblock Prentice-Hall, 1996.

\bibitem{Lieberherr:2003:XES}
M.~Shonle, K.~Lieberherr, and A.~Shah.
\newblock {XAspects}: An extensible system for domain specific aspect
  languages.
\newblock In {\em Companion to the 18$^{th}$Annual Conference on
  Object-Oriented Programming Systems, Languages, and Applications}, pages
  28--37, Anaheim, California, 2003. ACM Press.

\bibitem{Smaragdakis:2002:MLO}
Y.~Smaragdakis and D.~Batory.
\newblock Mixin layers: an object-oriented implementation technique for
  refinements and collaboration-based designs.
\newblock {\em ACM Trans. Softw. Eng. Methodol.}, 11(2):215--255, 2002.

\bibitem{Szyperski:2002:Book}
C.~Szyperski.
\newblock {\em Component Software, Beyond Object-Oriented Programming}.
\newblock Addison-Wesley, 2\textsuperscript{\textit{nd}} edition, 2002.
\newblock With Dominik Gruntz and Stephan Murer.

\bibitem{AOSD:2005}
P.~Tarr, editor.
\newblock {\em Proceedings of the 4\textsuperscript{\textit{th}} International
  Conference on Aspect-Oriented Software Development}, Chicago, Illinois, USA,
  Mar. 14-18 2005. AOSD 2005, {ACM} Press.

\bibitem{Thomas:2005:TAR}
D.~Thomas.
\newblock Keynote: Transitioning {AOSD} from research park to main street.
\newblock In Tarr \cite{AOSD:2005}, page~2.

\bibitem{Vanderperren:2005:APJ}
W.~Vanderperren, D.~Suv\'{a}e, B.~Verheecke, M.~A. Cibr\'{a}n, and V.~Jonckers.
\newblock Adaptive programming in {JAsCo}.
\newblock In Tarr \cite{AOSD:2005}.

\bibitem{Walker:2003:TOA}
D.~Walker, S.~Zdancewic, and J.~Ligatti.
\newblock A theory of aspects.
\newblock In ICFP 2003 \cite{ICFP:2003}, pages 127--139.

\bibitem{walker:ecoop-aop98}
R.~J. Walker, E.~L.~A. Baniassad, and G.~Murphy.
\newblock Assessing aspect-oriented programming and design.
\newblock In C.~Lopes, G.~Kiczales, B.~{Tekinerdo{\u g}an}, W.~De~Meuter, and
  M.~Meijers, editors, {\em Workshop on Aspect Oriented Programming (ECOOP
  1998)}, June 1998.

\bibitem{walker:icse99}
R.~J. Walker, E.~L.~A. Baniassad, and G.~C. Murphy.
\newblock An initial assessment of aspect-oriented programming.
\newblock In {\em Proc. 21st Int'l Conf. Software Engineering (ICSE '99)},
  pages 120--130, 1999.

\bibitem{walker:aosdbook05}
R.~J. Walker, E.~L.~A. Baniassad, and G.~C. Murphy.
\newblock An initial assessment of aspect-oriented programming.
\newblock In Filman et~al. \cite{:aosdbook05}, pages 531--556.

\bibitem{Wand:2003:ICFP}
M.~Wand.
\newblock Understanding aspects (extended abstract).
\newblock In ICFP 2003 \cite{ICFP:2003}.
\newblock Invited talk.

\bibitem{Wand:2004:SAD}
M.~Wand, G.~Kiczales, and C.~Dutchyn.
\newblock A semantics for advice and dynamic join points in aspect-oriented
  programming.
\newblock {\em ACM Trans. Prog. Lang. Syst.}, 26(5):890---910, Sept. 2004.

\bibitem{wichman99}
J.~C. Wichman.
\newblock Composej: The development of a preprocessor to facilitate composition
  filters in the {Java} language.
\newblock Master's thesis, Department of Computer Science, University of
  Twente, Enschede, the Netherlands, Dec. 1999.

\end{thebibliography}
