Showing posts with label Aspects. Show all posts
Showing posts with label Aspects. Show all posts

Sunday, May 13, 2007

Modularity on Google Video

"Aspect Oriented Programming: Radical Research in Modularity."

Gregor Kiczales, Professor of Computer Science at the University of British Columbia.

Professor Kiczales does an excellent job in making this presentation (click on the title of this entry for the video). He hints at his past experience throughout the video, and this experience includes leading the Aspect Oriented Programming (AOP) development at Xerox PARC. This is a highly technical video of aspect oriented programming in Java. This is a key technology for this system's developments, and if you have a desire to learn these topics (recommended) this is a good video.

Much of object oriented programming is defining the objects or classes that interact with each other. The net result is an overall hierarchy of your code. In order to invoke one class from one area of the code to the other may be difficult due to the recognition of the hierarchy. (Casting up the hierarchy, over, and then down to the class that you want.) Aspects maintain this hierarchy but allow the developer to "crosscut' the hierarchical structure as if it were modular.

One of the key components of Java is the ability to use different aspects. How these different aspects are implemented in oil and gas is very common in a design such as we have proposed in this system. Not to get into too many of the components of Java code, I want to point out that this video is entitled "Radical Research in Modularity". A key aspect of the system as designed with the research that we have done with Professor Richard Langlois and applied here. Professor Kiczales makes the following points that are critical to the understanding, purpose and value of aspects in programming. This discussion begins around the 50 minute mark (50:10) and carries on to the end.
"Modularity has a cost, the cost being sometimes you get an indirection, and its only worth paying this cost if you get something back. What your getting back here is a couple of things. One thing is;"
The Raw Benefit of Modularity, which is in some sense, I could ship point (cut) without display update."
"Second an ability to reason about the structure now, and this is provided by aspect orientation."
And then later on, at (55:25) Professor Kiczales says
"What can I modularize now, that I couldn't modularize before."
The last point that I wanted to make was Professor Kiczales did point to a text of "Baldwin and Clark" that we were prompted to review by Professor Langlois. Kiczales also has some very good papers that are available on his website if readers wanted to follow through on this topic. Hopefully reviewing this video and a little research in the area of aspect and object oriented programming will begin to reflect on the value of the modularity being discussed on this blog and elsewhere.

Technorati Tags: , , , , ,