Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Tue, 03 Jun 2003
Explicit Programming
I've been doing a little local travelling lately, and that provides me with good time to read papers and catch up on the world. One paper that I read recently was Bryant, Catton, De Volder, and Murphy's AOSD 2002 paper,
Explicit Programming.
Explicit Programming is standing in a middle ground between macro systems and AOP functionality. The objective is to modularize cross cutting concerns without separating them (AOP does both). The approach takes the view that modularization will take place as programmers refactor their code. The authors have built a system called ELIDE which is based on Java. ELIDE allows a developer to introduce new modifiers for classes, fields, and methods. This makes me wonder if part of ELIDE could be implemented via attributes (JSR-175). ELIDE uses a JSP/Velocity like templating syntax for specifying the modularized behavior -- the actual implementation is by source code transformation (much like macros). The use of string based templating is is scary, but the authors claim that the alternative is exposing a parse tree or other compiler data structure. A simple dependency system is used to make sure that multiple transformations are applied in a sane order.
Bruce Wallace has an
article describing a way to kind of do Explicit Programming using marker interfaces. This approach doesn't provide for automatic management/generation, but it does allow for making a concern explicit via the marker interface.
[14:32] |
[computers/programming/java] |
# |
TB |
F |
G |
0 Comments |
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk