[aosd-discuss] user interfaces

Antonielly Garcia Rodrigues antonielly at gmail.com
Thu Sep 20 12:12:18 EDT 2007


Hello, Sofie!

In my Master's course, I designed a basic notepad system using aspect
concepts (albeit without the use of AspectJ). I could divide the
architecture of the user presentation and the core processing modules
with the MVC architectural pattern. I was successful in spliting MVC
into three different "themes/hyperslices" (to use terminology from the
Theme approach and Hyper/J in a loose way, without neglecting the very
important contribution of ideas from the AHEAD approach), named (not
surprisingly) Model, View and Controller.

They were not directly coupled, since the "real" coupling occurs
during composition. Controller, for instance, assumed a certain
interface to be fulfilled by other "themes", without specifying which
"themes" would fulfill it. Then Model "just happened" (intentionally,
by design) to fulfill the needs of the Controller. In the end, View
and Controller were totally independent from each other, View
indirectly depended on some details from Model (but didn't know that
Model implemented them), and Controller indirectly depended on some
other details from Model (and also didn't directly know about Model).
Model also didn't know about the "themes" that depended on it. So, I
could replace any of the three "big themes", provided I complied to a
certain informal interface which was assumed by at least one of the
two remaining "themes".

Actually, the Model "theme" was the result of the composition of some
more primitive "themes" that formed a Basic Model, with another theme
that implemented the observer pattern (named Monitoring). Then Model
was composed with View and Controller (which themselves were the
result of the composition of smaller "themes").

The implementation was performed in a kind of "pseudo-Java". It was
not true Java because the current official Java technology does not
support theme composition. So I had to pretend I was the composition
tool, and I had to compose all the themes by hand. (Not surprisingly,
I got some headaches when I had to change the original themes [during
debugging and evolution] and propagate the changes to the composed
result. But this was an expected part of the process.)

The results were pretty encouraging, suggesting a lot of promise for
AOSD approaches to improve the design of systems by making the
architecture more "explicit" (in comparison with OO technology), and
to ease evolution in certain specific points of change.

However, to make my simple approach minimally feasible, I would have
to develop a composition tool that complied with the composition
semantics I specified (which is a bit different from Hyper/J and AHEAD
in some details). I hope some day I'll have time and resources to do
that...

Unfortunately, my dissertation was written in Portuguese, so it is
suitable for an international audience somewhat smaller than the
English-speaking community. If you can understand Portuguese, Spanish
or other similar Romance languages, let me know.

I do not have the design model pictures in this computer. But if you
are interested, I can privately send you some pictures of the system
architecture after I find them stored in my other hardware stuff.

All this talk has made me a bit nostalgic. It was very exciting to
work with AOSD in the design modelling and implementation levels.
Special thanks to Paulo Cesar Masiero, Ph.D., who supervised me and
gave me some good advice along that journey. xD

Antonielly Garcia Rodrigues

On 9/20/07, Sofie Goderis <sgoderis at vub.ac.be> wrote:
> Hi,
>
> I've been looking for information on the use of AOP for coupling a
> user interface with its model (or application). So far I haven't
> found anything beyond the observer pattern implementation with
> aspects. Therefore I am addressing this question to this list, and
> its many experts in AOSD. Has anyone of you encountered anything with
> respect to user interfaces and aosd?
>
> cheers,
> Sofie
>
>
>
>
> _______________________________________________
> discuss mailing list    -    discuss at aosd.net
>
> To unsubscribe and change options, go to:
> http://aosd.net/mailman/listinfo/discuss_aosd.net
>
> Check out the AOSD.net Wiki: http://aosd.net/wiki
>



More information about the discuss mailing list