ABSTRACT
We present a preliminary report on typing systems for polyadic μABC, aspect oriented programming---pointcuts and advice---and nothing else. Tuples of uninterpreted names are used to trigger advice. The resulting language is remarkably unstructured: the least common denominator of the pi-calculus and Linda. As such, developing meaningful type systems is a substantial challenge.
Our work is guided by the translation of richly typed languages into μABC, specifically function- and class-based languages augmented with advice. The "impedance mismatch" between source and target is severe, and this leads us to a novel treatment of types in μABC.
- M. Abadi, L. Cardelli, P. L. Curien, and J. J. Levy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.Google ScholarCross Ref
- Glen Bruns, Radha Jagadeesan, Alan Jeffrey, and James Riely. μABC: A minimal aspect calculus. In Philippa Gardner and Nobuko Yoshida, editors, CONCUR 2004: Concurrency Theory, volume 3170 of Lecture Notes in Computer Science, pages 209--224, London, August 2004. Springer.Google Scholar
- C. Clifton and G. T. Leavens. Minimao1: An imperative core language for studying aspect-oriented reasoning. Science of Computer Programming, 63(3):321--374, 2006. Google ScholarDigital Library
- Christopher Dutchyn, David B. Tucker, and Shriram Krishnamurthi. Semantics and scoping of aspects in higher-order languages. Science of Computer Programming, 63(3), 2006. Google ScholarDigital Library
- Peter Hui and James Riely. Temporal aspects as security automata. In Foundations of Aspect-Oriented Languages (FOAL), pages 19--28, 2006.Google Scholar
- Atsushi Igarashi, Benjamin C. Pierce, and Philip Wadler. Feather-weight Java: a minimal core calculus for Java and GJ. ACM Trans. Program. Lang. Syst., 23(3):396--450, 2001. Google ScholarDigital Library
- Radha Jagadeesan, Alan Jeffrey, and James Riely. Typed parametric polymorphism for aspects. Science of Computer Programming, 63(3), 2006. Google ScholarDigital Library
- Radha Jagadeesan, Corin Pitcher, and James Riely. Open bisimulation for aspects. In Oege de Moor, editor, AOSD. ACM, 2007. Google ScholarDigital Library
- Jay Ligatti, David Walker, and Steve Zdancewic. A type-theoretic interpretation of pointcuts and advice. Science of Computer Programming, 63(3), 2006. Google ScholarDigital Library
- Davide Sangiorgi and David Walker. The pi-calculus: a Theory of Mobile Processes. Cambridge Universtity Press, 1991. Google ScholarDigital Library
- David Walker, Steve Zdancewic, and Jay Ligatti. A theory of aspects. In Colin Runciman and Olin Shivers, editors, ICFP, pages 127--139. ACM, 2003. Google ScholarDigital Library
Index Terms
- Typing for a minimal aspect language: preliminary report
Recommendations
Typing dynamic typing
Even when programming in a statically typed language we every now and then encounter statically untypable values; such values result from interpreting values or from communicating with the outside world. To cope with this problem most languages include ...
Typing dynamic typing
ICFP '02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programmingEven when programming in a statically typed language we every now and then encounter statically untypable values; such values result from interpreting values or from communicating with the outside world. To cope with this problem most languages include ...
Dynamic typing in a statically typed language
Statically typed programming languages allow earlier error checking, better enforcement of diciplined programming styles, and the generation of more efficient object code than languages where all type consistency checks are performed at run time. ...
Comments