Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Aspect oriented programming: a language for 2-categories
Tabareau N.  FOAL 2011 (Proceedings of the 10th International Workshop on Foundations of Aspect-Oriented Languages, Porto de Galinhas, Brazil, Mar 21, 2011)13-17.2011.Type:Proceedings
Date Reviewed: Jul 26 2011

There is a continuing struggle to deal with Dijkstra’s “separation of concerns” in an appropriately modular manner. It is an interesting problem in that it is both completely solved (at the design level) and rather open (at the implementation level). Aspect-oriented programming (AOP) has been touted as a solution for this problem. But, in practice, AOP has turned out to provide solutions as well as new problems. If one uses a traditional notion of modularization of modules as based on information hiding, then AOP has deservedly been called anti-modular. Furthermore, while it has at least one quite mature implementation in AspectJ, there are no good semantic formalizations available that would give AOP a satisfying theoretical foundation.

This work firmly attempts to deal with that last problem. The theory brought to bear is not light: 2-categories. More precisely, there is an attempt to mimic the work done on categorical semantics of the lambda calculus. There, it was found that the internal language of a Cartesian closed category was (essentially) the simply typed lambda calculus. It is natural to explore the same question for 2-categories. The novelty claimed here is that this corresponds to some sort of aspect language.

And this is where things start to fall apart: in this rather short (five-page) paper, crucial ideas, and certainly proofs, are omitted. Since there is a much longer version in existence, and the workshop also accepted long papers, one wonders why only a short version was published. Furthermore, while it is convincing that the internal language of a 2-category adds certain features for program transformation, it is quite a large stretch to claim that this corresponds to “aspects.” Lastly, the gulf between practice (aspects on top of object-oriented languages) and this theory (program transformations on top of the lambda calculus) is enormous, and it is not clear how it will be bridged.

I cannot decide whether this is an early paper on the semantics of AOP showing interesting insights, or a vain attempt to use fancy mathematics to explain AOP. There are insights here, but they seem to be about program transformation, not about AOP.

Reviewer:  Jacques Carette Review #: CR139280 (1111-1191)
Bookmark and Share
  Featured Reviewer  
 
Semantics Of Programming Languages (F.3.2 )
 
 
Semantics (D.3.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Semantics Of Programming Languages": Date
Contractions in comparing concurrency semantics
Kok J. (ed), Rutten J. Theoretical Computer Science 76(2-3): 179-222, 2001. Type: Article
Aug 1 1991
Abstract language design
Bradley L. Theoretical Computer Science 77(1-2): 5-26, 1990. Type: Article
Nov 1 1991
Determinism → (event structure isomorphism = step sequence equivalence)
Vaandrager F. Theoretical Computer Science 79(2): 275-294, 1991. Type: Article
Dec 1 1991
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy