<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 “concerns”
are spread around this dominant concern. Jeff’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’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'> </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'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> </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'> </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. I may still be far from understanding, but
hopefully I'm closer (it's a work in progress). My question regards the
use of aspects. 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. 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. I vaguely recall
reading something by Ivar Jacobson a while ago about this way of doing
things. 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). 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. 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? I'm
contrasting this with the idea of using the heirarchy to segregate some aspects
of the model. 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>