[gme-users] Aspects Question

Sandeep Neema sandeep.neema at vanderbilt.edu
Wed Apr 19 17:46:36 CDT 2006


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.








Sandeep Neema

Research Scientist,

Institute of Software Integrated Systems, Vanderbilt University

Phone: 615-343-9996

Email: sandeep.k.neema at vanderbilt.edu


From: gme-users-bounces at list.isis.vanderbilt.edu
[mailto:gme-users-bounces at list.isis.vanderbilt.edu] On Behalf Of Joe
Sent: Wednesday, April 19, 2006 3:31 PM
To: gme-users
Subject: [gme-users] Aspects Question


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

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. 

This is a longish question, so thanks in advance for anyone that takes
time to answer.

-Joe Porter
Senior Research Engineer
Southwest Research Institute

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.isis.vanderbilt.edu/pipermail/gme-users/attachments/20060419/40f4babf/attachment.htm

More information about the gme-users mailing list