====== Execution Levels for Aspect-Oriented Programming ====== Papers: * {{bib>tanterAl-scp2014|Execution Levels for Aspect-Oriented Programming: Design, Semantics, Implementations and Applications}} (SCP 2014) * {{bib>tanter-aosd2010|Execution Levels for Aspect-Oriented Programming}} (AOSD 2010) Artefacts: * {{:research:scope:lascheme-redex.zip|Mechanized semantics (PLT Redex)}} * {{:research:scope:lascheme.zip|LAScheme}} * [[http://tinyurl.com/3sz388h|Manual inspection]] of AspectJ in Action (1st ed.) * [[http://tinyurl.com/7jb6py5|Manual inspection]] of 23 AspectJ projects * [[research:scope:levels:iiia-loops|IIIA loops examples]] * [[research:scope:levels:classpects-loops|Classpects loop example]] * Levels and exceptions: * {{:research:scope:lascheme-exceptions-redex.zip|extended Redex model}} * {{:research:scope:lascheme-exceptions_.zip|LAScheme with level-aware exceptions}} * {{:research:scope:lascheme-lang-exceptions-contract.zip|Racket with level-aware contract system}} * [[http://dx.doi.org/10.1145/1960510.1960513|FOAL 2011 paper]] Full list of changes and additions between the SCP and AOSD version: * study of AspectJ in Action and of a [[https://sites.google.com/site/pointcutrejuvenation/links/benchmarks|corpus of 23 AspectJ projects]] (6) * fixes in the semantics, and formulation and proof of the "aspect loop free" property (7 + Appendix) * section on execution levels in practice (8), discussing implementations for Scheme, Java, and JavaScript, and their applications * minor details, reformulations, restructuring, additions to related work (discussion of IIIA loops), etc. Related projects (maintained by others): * [[http://soft.vub.ac.be/~cfscholl/index.php?page=computational_contracts|Computational contracts for Racket]] * [[http://pleiad.cl/aspectscript|AspectScript]] * [[http://www.inf.usi.ch/phd/moret/projects.html|MAJOR2]]