<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
 
<p>James McCartney wrote:
<p>Dear James:
<br>Special thanks!
<br>At Enschede, during AOSD conference in April Robert Filman
<br>suggested me to transform my ecodesign model into a domain
<br>specific language. There Jeff Gray one of the organizers of the
<br>Workshop on Early Aspects did his PHD thesis  in a domain
<br>specific language. Later on I read Kiczales said that AOP
<br>began as a domain specific language.
<br>Then I ask Jeff Gray:
<p><i>The earliest work on AOP languages, as far as I can tell, was done
by</i>
<br><i>Cristina Lopes at Northeastern. Karl Lieberherr was her advisor,
I think.</i>
<br><i>She created two languages, called COOL and RIDL, that were focused
on</i>
<br><i>synchornization and distribution. I a not sure why those two concerns</i>
<br><i>were chosen, but perhaps those were the most evident concerns that</i>
<br><i>demonstrated crosscutting. From that, the AspectJ work has taken
a more</i>
<br><i>general approach that also permits such concerns to be captured.</i>
<br>This was his answer.Furthermore:
<br><i> I am not sure – have I sent you my thesis yet? There is a
section in there that talks about</i>
<br><i>domain-specific languages, in particular, those that are visual.</i><i></i>
<p><i> </i><i></i>
<p><i>BTW, there have been several workshops at OOPSLA on the idea of visual
domain-specific languages. In</i>
<br><i>case you would like a peek, they are at:</i><i></i>
<p><i> </i><i></i>
<p><i><A HREF="http://www.isis.vanderbilt.edu/oopsla2k1/">http://www.isis.vanderbilt.edu/oopsla2k1/</A></i><i></i>
<p><i><A HREF="http://www.cis.uab.edu/info/OOPSLA-DSVL2/">http://www.cis.uab.edu/info/OOPSLA-DSVL2/</A></i><i></i>
<p><i> </i><i></i>
<p><i>When I say domain-specific language, I am really referring to a visual
language that can be used to create</i>
<br><i>models for a particular domain.</i><i></i>
<p><i>For example, think about an environment that would allow you to create
models of automobile plant</i>
<br><i>factories using a visual formalism.</i><i></i>
<p><i>Or, a chemical factory, or, any other kind of factory. The models
for each factory are peculiar to each</i>
<br><i>domain that they represent. That is, the models have a specific
ontology depending on the domain (they</i>
<br><i>have different entities, different associations among those entities,
and even different visual iconic</i>
<br><i>representations).</i><i></i>
<p><i>This is a little different than the traditional definition of a “domain-specific
language.” In fact, I think you</i>
<br><i>were totally correct to say that such languages when they become
transdisciplinary are just programming</i>
<br><i>languages.</i>
<br><i></i> <i></i>
<p>Well this makes me wonder! My ecodesign model and its underlying geometric
model inspired by
<br>the symmetry groups of the plane and the dotless plane from Escher
enables me to generate
<br>all sorts of architectonic objects, from home to a cathedral!! and
from the union of architectonic
<br>objects with the same reasoning you generate cities and hence can plan
and design sustainable cities.
<p>The weaver of crosscutting concerns here is this geometric modeling!
<p>Jim Coplien is trying to formalize design patterns as a pattern language
through symmetry groups.
<p>Then my question is:
<br> 
<p>see below
<br> 
<blockquote TYPE=CITE>The best reference would probably be the book _On_Lisp_.
<br>(Which I just discovered you can download for free from
<br><a href="http://www.paulgraham.com/onlisp.html">http://www.paulgraham.com/onlisp.html</a> 
)
<br>A macro is basically a way to run language code at compile time to
<br>generate language code.
<br>With this you can do any kind of stitching together of concerns that
<br>you would want.
<br>If you wrote a set of macros to create your classes you could have
them
<br>generate code for your methods,
<br>including any 'aspect' like concerns.
<br> </blockquote>
In my case I want first to create prototypes, responsible for crosscutting
<br>concerns inspired on musical chords.
<br>I suspect I have to create this on top of Self. This means using such
<br>macros I can extend the Self compiler  and have my job done?
<br>In this case it is already born transdisciplinary, because all one
would have
<br>to do is to substitute the notion of tones by the elements of the application
<br>in focus. Then people do not know how to model mimicking my
<br>ecodesign model. All I should do is to transform it into a programming
<br>language implemented on top of Self for example?
<p>Things sound simpler than I thought! I will take a look at the site
<br>and at Jeff's PHD thesis. If you have some more suggestion, it is
<br>welcome.
<br>Best wishes
<br>Albertina
<blockquote TYPE=CITE> 
<br>On Thursday, August 22, 2002, at 07:40 AM, Albertina Lourenci wrote:
<p>>
<br>>
<br>> James McCartney wrote:
<br>>
<br>> Dear James:
<br>> I studied CLOS and Common Lisp ten years ago. I forgot what
<br>> macro systems means. Would you mind gently explaining it to me?
<br>> Best wishes
<br>> Albertina
<br>>
<br>>> I have the same question. All of the examples given seemed to be
<br>>> something that having LISP like macros would solve.
<br>>> A call for better macro systems in languages would seem to me the
<br>>> appropriate response to the problem. But perhaps I missed something.
<br>>>
<br>>> On Wednesday, August 21, 2002, at 01:14 AM, Thorsten Dittmar wrote:
<br>>>
<br>>>> I'm asking because I followed the discussion about AOP over years
and
<br>>>> I had
<br>>>> always the feeling that it solves problems that a good designed
<br>>>> language
<br>>>> does not have.
<br>>>
<br>>>
<br>>>
<br>>> Your use of Yahoo! Groups is subject to
<br>>> <a href="http://docs.yahoo.com/info/terms/">http://docs.yahoo.com/info/terms/</a>
<br>>>
<br>>> ==========================================
<br>>> This email message has been verified against viruses and SPAM using
<br>>> MIMESweeper.
<br>>> Este email foi verificado quanto a SPAM e virus utilizando
<br>>> MIMESweeper.
<br>>> <a href="http://www.mimesweeper.com">http://www.mimesweeper.com</a>
<br>>> ==========================================
<br>>
<br>>
<br>>
<br>> Your use of Yahoo! Groups is subject to
<br>> <a href="http://docs.yahoo.com/info/terms/">http://docs.yahoo.com/info/terms/</a>
<br>>
<br>> <lourenci.vcf>
<br> 
<br> 
<p>Your use of Yahoo! Groups is subject to <a href="http://docs.yahoo.com/info/terms/">http://docs.yahoo.com/info/terms/</a>
<p>==========================================
<br>This email message has been verified against viruses and SPAM using
MIMESweeper.
<br>Este email foi verificado quanto a SPAM e virus utilizando MIMESweeper.
<br><a href="http://www.mimesweeper.com">http://www.mimesweeper.com</a>
<br>==========================================</blockquote>
</html>