Wednesday, March 14, 2007

AOSD Conference Day 1

The AOSD conference finally starts today! I am currently sitting in the Glassbox framework demo. Glassbox is a AOP framework for monitoring performance and application behavior. It is incorporated with Apache server and allow administrator to diagnose some problem of your web application. You can incorporate it with AspectJ and Spring framework. The downside is the 20%-80% of overhead, because of the heavy user of AspectJ Load-Time weaving, which is unavoidable. Judging from the reaction of the audience (most of which are students), an industrial AOP framework is not very attractive. The next presentation will be about AO (web?) service composition and it will be interesting to see how the framework idea is developed.

I believe we will be seeing more and more AOP frameworks for performance/correctness monitoring and diagnosis. Besides the unavoidable runtime penalty that it incurs, I guess we will be seeing more and more application that take use of the load time weaving facitility for performance monitoring. AOP as an architectual design remains or programming paradigm too elusive: does it really make sense for code your project from the AOP perspective? Does it make it harder/easier to code? Also, crosscutting concerns are often not refactorable (as I stated in my LATE paper)

However, I guess AOP is very useful from the runtime-verification/debugging perspective. I'm looking forward to Rick Chern's paper on the control-flow based debugging in the late afternoon! However, the most significant problem is the dynamic-runtime-weaving penalty incurred.

Well, but backtrack and talk about the keynote given by Gerald Jay Sussmen though. Dr. Sussmen is the creator of Scheme (along with Guy Steele Jr.) and the co-author of SICP. The topic of his talk is Buliding Robust System but it has nothing to do with the program correction/bug-free or even AOP. I would rather argue that he did not talk about AOP at all!

To summarize his talk: the idea of robust system is a system that goes beyond its original objective in its evolution and can be easily extensible with minor changes. (Emacs, anyone?) He used Scheme language and biological system as examples of robust systems. For instance, Scheme only has a very small set of program predicates, is built in such a way that a function does not necessary have a specific objective, but serves as a link between other functions. Operators can also be overriden in different circumstances (like non-commutable matrix multiplications).

The professor used a overhead project for his slides and his slides contained a lot of Scheme examples which most attendees may not be familiar with (not if you haven't read te SICP). That surely generated a lot of yawns... He also made the bold claim that a softward should not have a clear-cut purpose in mind (for it restricts the extensibility) and people surely talked about it. The purpose of his examples, however, is to demonstrate that a robust system (like Scheme/Emacs) should have extensibility and customizability in its architecture. When I heard the talk, I found there were a lot of similiar points made in Steve Yegge's The Pinocchio Problem, minus the analogy to Frogs and Scheme and in terms of readability, is a lot more entertaining.

Due to the incompatibility problem between Windows Live Writer and Blogger I'm not able to post any pictures yet but I will find a way to post them later!

I will continute keep my blog updated for the next few days. Of course I'm scared of talking with famous people like Sussman, Coyler and Kiczales but in the meantime I will keep blogging and taking pictures!

New famous people whom I met: Arie van Deursen and Maja D'Hordt, both of them were invited to the Barbedos workshop but chose to come to AOSD!

1 comment:

Kenyth said...

Really hope you can bring more about the conference.