<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered)">

<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Mangal;
        panose-1:0 0 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle17
        {font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Joe,</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>As Matt pointed out GME aspects are not
the same as Aspect in the AOP sense. However, we did look at the relation
between Model-based Design and Aspect-Oriented Programming in the context of
the PCES program. Our evaluation was that cross-cutting concerns do occur when designing
systems with models. The choice of model object hierarchy itself represents a
dominant form of decomposition and often some crosscutting &#8220;concerns&#8221;
are spread around this dominant concern. Jeff&#8217;s work demonstrated the
application of AOP concepts to address these issues by isolating the
crosscutting concerns in separate aspects and then using a model-based weaver
to weave those in. As Matt pointed out Jeff&#8217;s papers (and thesis) are
good place for additional info on that. Also, since Jeff is on this list he can
point you to the newer material.</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>HTH,</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Sandeep</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>&nbsp;</span></font></p>

<div>

<p class=MsoAutoSig><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>--</span></font></p>

<p class=MsoAutoSig><font size=3 color=navy face="Times New Roman"><span
 style='font-size:12.0pt;color:navy'>Sandeep Neema</span></font></p>

<p class=MsoAutoSig><font size=3 color=navy face="Times New Roman"><span
style='font-size:12.0pt;color:navy'>Research Scientist,</span></font></p>

<p class=MsoAutoSig><font size=3 color=navy face="Times New Roman"><span
  style='font-size:12.0pt;color:navy'>Institute</span></font><font color=navy><span
 style='color:navy'> of Software</span></font><font color=navy><span
style='color:navy'> Integrated Systems, Vanderbilt University</span></font></p>

<p class=MsoAutoSig><font size=3 color=navy face="Times New Roman"><span
style='font-size:12.0pt;color:navy'>Phone: 615-343-9996</span></font></p>

<p class=MsoAutoSig><font size=3 color=navy face="Times New Roman"><span
style='font-size:12.0pt;color:navy'>Email: <a
href="mailto:sandeep.k.neema@vanderbilt.edu">sandeep.k.neema@vanderbilt.edu</a></span></font></p>

</div>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> gme-users-bounces@list.isis.vanderbilt.edu [mailto:gme-users-bounces@list.isis.vanderbilt.edu] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Joe Porter<br>
<b><span style='font-weight:bold'>Sent:</span></b> Wednesday, April 19, 2006
3:31 PM<br>
<b><span style='font-weight:bold'>To:</span></b> gme-users<br>
<b><span style='font-weight:bold'>Subject:</span></b> [gme-users] Aspects
Question</span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Hopefully this is the right place for these sorts of questions, as I'm
on a journey of discovery.&nbsp; I may still be far from understanding, but
hopefully I'm closer (it's a work in progress).&nbsp; My question regards the
use of aspects.&nbsp; GME explicitly supports the creation of aspects for
models, but it seems that such visualization aspects can only be instantiated
once -- for example, a dataflow aspect and a data type aspect.<br>
<br>
I have not really used tools specifically for aspect-oriented programming, but
we use an aspect-oriented approach to design.&nbsp; Each use case for a
particular system is treated as a separate aspect, although in practice we
handle the join points by hand during implementation.&nbsp; I vaguely recall
reading something by Ivar Jacobson a while ago about this way of doing
things.&nbsp; We also may look more generally at other decompositions, like the
flow of configuration info through a system, or a generic algorithm for
starting up and shutting down all server processes (which is orthogonal to the
data flows).&nbsp; To design that way in GME it seems you would have to be able
to create multiple instances of a particular type of aspect and then weave them
together according to some set of joining rules.&nbsp; Have I misunderstood
something about the capabilities of aspects in GME, or am I still not far
enough along the learning curve to see a good way to do it?&nbsp; I'm
contrasting this with the idea of using the heirarchy to segregate some aspects
of the model.&nbsp; That allows me to separate some concerns, but it may
obscure some of the details I'm trying to expose in some cases. <br>
<br>
This is a longish question, so thanks in advance for anyone that takes time to
answer.<br>
<br>
Thanks,<br>
-Joe Porter<br>
Senior Research Engineer<br>
Southwest Research Institute</span></font></p>

</div>

</div>

</body>

</html>