Re: user interfaces
"Antonielly Garcia Rodrigues" <[email protected]> Thu, 20 Sep 2007 17:12:18 +0100
| Newsgroups | gmane.comp.programming.aspect.general |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> 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 - [email protected] > > 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 > _______________________________________________ discuss mailing list - [email protected] 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